2008年12月19日 星期五

Display a Picture

專案->屬性->組態屬性->連結器->輸入->其他相依性

需填入 cxcore.lib cv.lib ml.lib cvaux.lib highgui.lib 這些會用到的否則無法正常編譯!

#include "highgui.h"

int main(int argc, char** argv)
{
 IplImage* img=cvLoadImage(argv[1]);
 cvNamedWindow("Example1",CV_WINDOW_AUTOSIZE);
 cvShowImage("Example1",img);
 cvWaitKey(0);
 cvReleaseImage(&img);
 cvDestroyWindow("Example1");
 return 0;
}

/* IplImage 為函式庫中的圖檔結構 */
/* cvLoadImage() 可讀取大部分的圖片檔案,有路徑的地方如C:\需用C:\\代替 */
/* cvLoadImage()回傳一個pointer */
/* 可輸入第二個參數 */
/* -1:預設讀取圖像的原通道數,0:強制轉化讀取圖像為灰階,1:讀取彩色影像 */
IplImage* img=cvLoadImage("file path",int);

/* console之外再創一個視窗且命名為"title" */
/* 第二個參數會將圖片縮放為符合開啟的視窗大小,預設是1 */
cvNamedWindow("title",CV_WINDOW_AUTOSIZE);

/* 在名為"title"的window中顯示讀取到的結構資料 */
cvShowImage("title",IplImage *);

/* 若參數為0或負數,則等鍵盤輸入一個按鍵才結束 */
/* 若參數為正數N,則會暫停N毫秒 */
cvWaitKey(int);

/* 釋放所配給的記憶體,指令完成後會將poniter指向NULL */
cvReleaseImage(&img);

/* 關閉視窗且會釋放跟此有關且有使用的記憶體,包含image buffer */
/* 雖然程式結束後都會自動的釋放記憶體,但卻不是個好習慣 */
cvDestroyWindow("Example1");

2 則留言:

匿名 提到...

就是第二行 我打錯字
結果compiler不成功
我花了好多時間才找到錯誤= =

Unknown 提到...

跟圖學一樣吧
看久了習慣應該就好了 XD