- 追加された行はこの色です。
- 削除された行はこの色です。
- 画像の領域確保 へ行く。
cvCreateImageで画像の領域を確保
#contents
*IplImage* cvCreateImage( CvSize size, int depth, int channels); [#neacf894]
CのmallocやC++のnewと同じ.領域をメモリ空間上に確保してくれる.
**引数 [#jaa1ff94]
-size:CvSize型の画像のサイズ.cvSize(width, height)で作るのが便利
-depth:各画素(要素)の大きさを表すint型
--IPL_DEPTH_1U:2値画像?
--IPL_DEPTH_8U:通常のグレースケール画像
--IPL_DEPTH_16U:単精度画像
--IPL_DEPTH_32F:倍精度画像
--IPL_DEPTH_8S:符号付きグレースケール画像
--IPL_DEPTH_16S:符号付き単精度画像
--IPL_DEPTH_32S:符号付き倍精度画像
-channels:色数を表すint型
**返り値 [#tcabecf4]
-確保された領域の先頭を示すIplImage*型.
*void cvReleaseImage( IplImage **image); [#m9c911c7]
確保されたメモリ領域を解放する
**引数 [#abf434fe]
-image:IplImage**型.画像のポインタ
**返り値 [#c41595f3]
-void型なのでなし
*解説 [#reae15bc]
-内部でcvCreateImageHeaderとcvCreateDataを呼んでいる.
-RC1?beta4?あたりから領域解放をしなくても自動的にOpenCVが解放してくれるようになった.
*サンプルコード [#t20f666b]
IplImage* input = cvCreateImage( cvSize( 320, 240), IPL_DEPTH_8U, 1);
cvReleaseImage( &input);
//cvReleaseImageはIplImage**型が引数IplImage*型ではない
*実体ファイル [#b024ca59]
-cxcore/include/cxcore.h
-cxcore/src/cxarray.cpp
*注意 [#u3e35893]
-IplImage(OpenCV?)では幅は4の倍数しか使えない.
-4で割り切れない幅を指定した場合,widthstepに実際のメモリ空間上の幅が格納され,0でパディングされている.
-通常気にする必要は無いが,直接配列に書き込んだりする場合には注意が必要.
ジャンル[[:OpenCV]][[:OpenCV 1.0]]準拠