OpenCV下MFC單文件顯示影象
1、vs2008中新建SDI,最後view類選擇ScorllView以形成帶滾動條的檢視視窗
2、新增OpenCV的連結庫
3、新增相應標頭檔案"cv.h" "highgui.h"到doc.h和view.h(要新增在.h檔案中,不要新增在.cpp中,否則容易出錯)
4、doc類中新增變數CImage m_img;如果用IplImage讀取檔案的話,要想定義IplImage* pimg;影象讀入pimg後轉存入m_img;
5、doc中重寫函式OnOpenDocument();並在//TODO後新增
m_img.Load(lpszPathName,1);//CImage類直接讀取影象
或pimg=cvLoadImage(lpszPathName,1);
m_img.CopyOf(pimg,IMAGE_CHANNELS);//用IplImage讀取影象轉存入CImage類,便於顯示
之所以不在view類中直接將IplImage類轉存成CImage類,是因為在vs2008下這樣操作總是出現錯誤,此處有待改進
6、在view類中改寫OnDraw(CDC* pDC)函式,在//TODO後新增以下程式碼
CImage &img=pDoc->m_img;
HDC hDC=pDC->GetSafeHdc();
CRect rect(0,0,img.Width(),img.Height());
img.DrawToHDC(hDC,&rect);
CSize sizeTotal;
sizeTotal.cx=img.Width();
sizeTotal.cy=img.Height();
SetScrollSizes(MM_TEXT,sizeTotal);
7、生成除錯執行,就可開啟OpenCV支援的影象檔案