【OpenCV】影象的記憶體分配與釋放以及複製影象
阿新 • • 發佈:2019-02-16
(1) 分配記憶體給一幅新影象:
IplImage* cvCreateImage( CvSize size, int depth, int channels ); size -影象寬、高. depth -影象元素的位深度,可以是下面的其中之一: 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 - 雙精度浮點數 channels -每個元素(畫素)的顏色通道數量.可以是1, 2, 3 或 4.通道是交叉存取的,例如通常的彩色影象資料排列是: b0g0 r0 b1 g1 r1 ...
//示例
IplImage*img=cvCreateImage(cvSize(640,480),IPL_DEPTH_8U,1);
(2) 釋放影象:
IplImage*img=cvCreateImage(cvSize(640,480),IPL_DEPTH_8U,1);
cvReleaseImage(&img);
(3) 複製影象:
IplImage*img1=cvCreateImage(cvSize(640,480),IPL_DEPTH_8U,1); IplImage*img2; img2=cvCloneImage(img1); // 注意通過cvCloneImage得到的影象 也要用cvReleaseImage 釋放,否則容易產生記憶體洩漏