天天看點

【03】Opencv顯示圖像功能

一個簡單的圖像顯示代碼:  

#include"highgui.h" //讀取圖像的
#include"cv.h"
#include"cxcore.h"

int main()
{
        //用到兩個"\\"的原因是第一個"\"起轉意字元作用
	IplImage* src = cvLoadImage("C:\\Users\\GSX\\Pictures\\Saved Pictures\\小醜的崛起.jpg");

	cvNamedWindow("show",0);
	cvShowImage("show",src);
	cvWaitKey(0);
        
        //釋放資源
        cvReleaseImage(&src);
	cvDestroyWindow("show");
	return 0;
}      

函數解釋:

//載入圖檔

CVAPI(IplImage*) cvLoadImage( const char* filename, 
                int iscolor CV_DEFAULT(CV_LOAD_IMAGE_COLOR));      

filename:圖像顯示路徑

iscolor:  

enum

{

/* 圖像顔色不變*/

    CV_LOAD_IMAGE_UNCHANGED  =-1,

/* 灰階圖像(單通道) */

    CV_LOAD_IMAGE_GRAYSCALE  =0,

/* 彩***像(3通道圖像) */

    CV_LOAD_IMAGE_COLOR     =1,

/* 輸入圖像格式可以為8位無符号,16位無符号,32位有符号或者32位浮點型 */

    CV_LOAD_IMAGE_ANYDEPTH   =2,

/* 保持原樣 */

    CV_LOAD_IMAGE_ANYCOLOR   =4

};

cvLoadImage的功能:

  【】通過檔案名确定被加載圖像的格式,并且該函數内部配置設定圖像資料結構所需要的記憶體空間

  【】支援多種圖像格式

//建立視窗

CVAPI(int) cvNamedWindow( const char* name, 
                          int flags CV_DEFAULT(CV_WINDOW_AUTOSIZE) );      

  name:視窗的标志,如果有同名視窗,則該函數什麼也不幹

 flags: 

    CV_WINDOW_NORMAL       = 0x00000000, //  使用者可以改變視窗的大小(沒有限制)
    CV_WINDOW_AUTOSIZE     = 0x00000001, //  根據圖像自動調整視窗大小
    CV_WINDOW_OPENGL       = 0x00001000, //8 視窗建立的時候便會支援OpenGL。      

//顯示圖像

CVAPI(void) cvShowImage( const char* name, 
                         const CvArr* p_w_picpath );      

功能:在指定的視窗上顯示圖像  

    name:視窗的标志 這個标志是cvNameWindow函數設定的

   p_w_picpath:要顯示的圖像

//等待

CVAPI(int) cvWaitKey(int delay CV_DEFAULT(0));      

繼續閱讀