1. 程式人生 > >OpenCV入門學習(一)影象放縮【簡單的按比例放縮,無技術含量】

OpenCV入門學習(一)影象放縮【簡單的按比例放縮,無技術含量】

其中,filename 是待載入影象的名稱,包括影象的副檔名;iscolor是一個輔助引數項,可選正數、零和負數三種值,正數表示作為三通道(CV_LOAD_IMAGE_COLOR)影象載入,零(CV_LOAD_IMAGE_GRAYSCALE)表示該影象作為單通道影象,負數(CV_LOAD_IMAGE_UNCHANGED)表示載入影象的通道數由影象檔案自身決定。
②建立影象(建立首地址並分配儲存空間)
其函式原型如下:
IplImage* cvCreateImage( CvSize size, int depth, int channels );
建立影象需要先選定個CvSize的長、寬來確定影象的形狀大小。
影象的深度
:影象深度是指儲存每個畫素所用的位數,也用於量度影象的色彩解析度。
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 - 雙精度浮點數 影象的通道數:灰度圖的通道數為1,彩色圖的通道為3,描述一個畫素點,如果是灰度,那麼只需要一個數值來描述它,就是單通道。如果一個畫素點,有RGB三種顏色來描述它,就是三通道
③視窗定義函式(圖片要用相框,視窗就是這個相框

函式cvNamedWindow定義一個視窗,用於顯示影象。其函式原型如下: int cvNamedWindow( const char* name, unsigned long flags ); 其中,name是視窗名,flags是視窗屬性指標值,可以選擇CV_WINDOW_AUTOSIZE和0兩種值。CV_WINDOW_AUTOSIZE表示視窗尺寸與影象原始尺寸相同,0表示以固定的視窗尺寸顯示影象。一般相框都是和相片匹配啦。
④影象顯示函式(終於可以顯示了,顯示是指定相框是哪個,照片是哪個,他們的組合展示到螢幕上)
函式cvShowImage是在指定的視窗中顯示影象,其函式原型如下: void cvShowImage( const char* name, const CvArr* image ); 其中,name是視窗名稱,image是影象型別指標,一般是IplImage指標
影象儲存函式(記憶體中的影象儲存到硬碟上)
函式cvSaveImage以指定的檔名儲存IplImage型別的指標變數,其函式原型如下: int cvSaveImage( const char* filename, const CvArr* image ); 其中,filename是影象儲存路徑和名稱,image是IplImage指標變數。
如果不輸入路徑就是直接儲存在當前工程檔案下。
⑥影象銷燬函式
函式cvReleaseImage銷燬已定義的IplImage指標變數,釋放佔用記憶體空間。
其函式原型如下: void cvReleaseImage( IplImage** image ); 其中,image為已定義的IplImage指標。在使用完影象之後要把其銷燬,和釋放指標是一樣道理。