ImageData.h
Go to the documentation of this file.
00001 #pragma once
00002 
00003 #include <rtm/idl/BasicDataTypeSkel.h>
00004 
00005 #include "std_hdr.h"
00006 #include "cv.h"
00007 #include "highgui.h"
00008 
00009 #define MAX_BRIGHTNESS  255             /* イメージデータ初期化値       */
00010 
00011 using namespace RTC;
00012 
00018 class ImageData
00019 {
00020 public:
00021         ImageData(void);                                        /* コンストラクタ               */
00022         ~ImageData(void);                                       /* デストラクタ                 */
00023         ImageData(const ImageData& src);        /* コピーコンストラクタ */
00024 
00025 /* 公開関数 */
00026 public:
00027         void CreateImage(const unsigned long width, const unsigned long height);        /* 2値イメージデータ領域作成                            */
00028         void Clear(unsigned char value = MAX_BRIGHTNESS);                                                       /* イメージデータ領域初期化                             */
00029         void DeleteImage();                                                                                                                     /* イメージデータ領域破棄                                       */
00030         ImageData PyrDown();                                                                                                            /* 画像の畳み込み                                                       */
00031         void SetData(TimedOctetSeq orgData);                                                                            /* イメージデータ変換                                           */
00032         void SetData(IplImage *cvImage);                                                                                        /* OpenCV形式イメージを独自形式に変換する       */
00033         int     LoadImage(std::string fileName, int flags = CV_LOAD_IMAGE_ANYCOLOR);    /* イメージデータ読み込み                                       */
00034 
00039         unsigned long GetWidth()        { return m_width; }                                                             /* イメージ幅の取得                                                     */
00040 
00045         unsigned long GetHeight()       { return m_height; }                                                    /* イメージ高さの取得                                           */
00046 
00047 /* operator実装 */
00048 public:
00049 #ifdef WIN32
00050 
00053         unsigned char &operator[](size_t index) { return m_image[index];        }
00054 #endif
00055 
00059         unsigned char &operator[](int index)    { return m_image[index];        }
00060 
00066         unsigned char &operator()(size_t x, size_t y)   { return m_image[x + y * m_width];      }
00067 
00071         operator unsigned char*()                               { return m_image;                       }
00072 
00076         ImageData& operator=(const ImageData& org);
00077 
00078 private:
00079         unsigned long   m_width;                /* イメージデータ幅                                             */
00080         unsigned long   m_height;               /* イメージデータ高さ                                   */
00081         unsigned char   *m_image;               /* イメージデータ領域                                   */
00082         IplImage                *m_cvImage;             /* OpenCV形式イメージデータ領域                 */
00083         IplImage                *m_cvSimImage;  /* 擬似OpenCV形式イメージデータ領域             */
00084 };
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines


RS003
Author(s):
autogenerated on Thu Jun 27 2013 14:58:49