1. ホーム
  2. OpenCV

opencv notes - cvCreateImage 関数の説明

2022-03-01 11:48:04

<スパン 参考URLです。

http://baike.baidu.com/view/3440672.htm

<スパン

<スパン

<スパン 説明と構文

関数 cvCreateImage は,画像の先頭アドレスを作成し,ストレージ領域を確保します.

IplImage* cvCreateImage() CvSize cvSize(int width, int height)
, int depth, int channels)。


パラメータの説明

<スパン cvsize

<スパン <スパン 大きさで 画像の <スパン 幅 <スパン 高さ . (幅と高さの順序に注意する必要があります)。
奥行き
画像画素のビット深度。その値は以下のいずれかとする。
IPL_DEPTH_8U - 8ビット符号なし整数
IPL_DEPTH_8S - 8ビット符号付き整数
IPL_DEPTH_16U - 16ビット符号なし整数
IPL_DEPTH_16S - 16ビット符号付き整数.
IPL_DEPTH_32S - 32 ビット符号付き整数.
IPL_DEPTH_32F - 単精度浮動小数点数
IPL_DEPTH_64F - 倍精度浮動小数点数


チャンネル

チャンネルは横方向に格納され,一般的なデータレイアウトは次のようになります.

一般的な IPL 画像フォーマットでは非交差で保存でき、OpenCV でも扱えるものがあるが、この関数では交差で保存された画像しか作成できない。

<スパン <スパン

<スパン <スパン <強い フォーメーション

<スパン cvCreateImage は,以下の2段階の操作を簡便にしたものです.
header = cvCreateImageHeader(size,depth,channels);

cvCreateData(header);


<スパン

<スパン 幅360,高さ640の3チャンネル画像(RGB画像)を作成する場合は、次のような記述になります。

<スパン <スパン

IplImage* img=cvCreateImage( cvSize(360,640), IPL_DEPTH_8U,3 );

同様に、同じ大きさのグレースケール画像を初期化する場合は、次のような記述になります。

IplImage* img=cvCreateImage( cvSize(360,640), IPL_DEPTH_8U,1 );