1. 程式人生 > >【OpenCV】中cvCreateImage、cvSaveImage、cvReleaseImage

【OpenCV】中cvCreateImage、cvSaveImage、cvReleaseImage

cvCreateImage

cvCreateImage是openCV中的一個函式。OpenCV是Intel公司支援的開放計算機視覺庫。 cvCreateImage: 建立首地址並分配儲存空間 IplImage* cvCreateImage( CvSize size, int depth, int channels ); 引數說明: 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.通道是交叉存取的,例如通常的彩色影象資料排列是:b0 g0 r0 b1 g1 r1 ... 雖然通常 IPL 圖象格式可以存貯非交叉存取的影象,並且一些OpenCV 也能處理他, 但是這個函式只能建立交叉存取影象. 形成: header = cvCreateImageHeader(size,depth,channels); cvCreateData(header);

cvSaveImage函式-- HighGUI讀取與儲存影象

儲存影象到檔案

int cvSaveImage( const char* filename, const CvArr* image );

filename 

檔名。

image 

要儲存的影象。

函式cvSaveImage儲存影象到指定檔案。影象格式的的選擇依賴於filename的副檔名,請參考cvLoadImage。只有8位單通道或者3通道(通道順序為'BGR' )可以使用這個函式儲存。如果格式,深度或者通道不符合要求,請先用cvCvtScale cvCvtColor轉換;或者使用通用的cvSave儲存影象為XML或者YAML格式。

cvReleaseImage(&pimg);

使用cvReleaseImage函式之後,系統將釋放剛才載入影象的記憶體空間(也即這個影象在記憶體中已經不存在了),同時pimg的值置為NULL。

函式及其引數為為void cvReleaseImage( IplImage** image );引數是由雙指標指向image的。也就是在釋放是需要指標的指標。&符號表示取指標的地址,grey本身是某個影象的地址,&grey就是該地址的指標的地址。