| 処理 | 説明 |
|---|---|
| 膨張 (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 | ○ |