1. 程式人生 > >OpenCV下MFC單文件顯示影象

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支援的影象檔案

轉:http://blog.sina.com.cn/s/blog_6f4991630100n20k.html