処理 | 説明 |
---|---|
膨張 (Dilation) |
分離している領域を連結 |
収縮 (Erosion) |
細かいノイズを除去 |
オープニング (Opening) |
収縮をくり返し行い、それと同じ回数の膨張を行う |
クロージング (Closing) |
膨張をくり返し行い、それと同じ回数の収縮を行う |
IplImage構造体
typedef struct _IplImage { int nSize; // IplImage構造体のサイズ int ID; // バージョン (0) int nChannels; // チャンネル数 int depth; // ピクセルの色深度のビット数 int dataOrder; // 0:インタリーブ カラーチャンネル // 1:分離カラーチャンネル int origin; // 0:左上原点 // 1:左下原点 (Windowsのビットマップ形式) int width; // 画像の幅 (ピクセル数) int height; // 画像の高さ (ピクセル数) int imageSize; // 画像データのバイト数 char *imageData; // 画像データへのポインタ int widthStep; // 画像の行のバイト数 char *imageDataOrigin; // オリジナル画像データへのポインタ struct _IplROI *roi; // 画像ROI struct _IplImage *maskROI; // NULL struct _IplTileInfo *tileInfo; // NULL void *imageId; // NULL int alphaChannel; // 未使用 char colorModel[ 4 ]; // 未使用 char channelSeq[ 4 ]; // 未使用 int align; // 未使用 int BorderMode[4]; // 未使用 int BorderConst[4]; // 未使用 } IplImage;IplImage - OpenCV 1.0 リファレンス - opencv.jp
画像処理した結果を格納するための、画像領域を確保します。
cvCreateImage()は、画像ヘッダの作成とデータ領域の確保をします。
IplImage* cvCreateImage( CvSize size, // 画像の幅と高さ int depth, // 画像の色深度 int channels // 画像のチャンネル数 );CreateImage - OpenCV 1.0 リファレンス - opencv.jp
色深度 (depth) とチャンネル数 (channels) は、格納する画像に合わせて正しく指定する必要があります。
定数 | ビット数 | 符号 | 種類 |
---|---|---|---|
IPL_DEPTH_8U | 8 | × | 整数 |
IPL_DEPTH_8S | ○ | ||
IPL_DEPTH_16U | 16 | × | |
IPL_DEPTH_16S | ○ | ||
IPL_DEPTH_32S | 32 | ○ | |
IPL_DEPTH_32F | 32 | ○ | 浮動小数点数 |
IPL_DEPTH_64F | 64 | ○ |