1. 程式人生 > >MFC+Opencv在單文件程式中顯示出一幅影象

MFC+Opencv在單文件程式中顯示出一幅影象

在MFC中顯示一幅影象程式是十分複雜的,而在Opencv中讀入一幅影象只需要一句話,而且很多的影象處理操作都需要使用Opencv中已有的函式,所以在MFC中呼叫Opencv的函式顯示一幅影象是很必要的操作。現在網上很多相關的描述都很不詳盡,我總結並編寫程式測試後,依次介紹在對話方塊程式和單文件程式中顯示一幅影象。(假設在VS平臺上已經按照要求配置好Opencv)

1、  新建一個單文件程式ReadImageMenu(你可以自己命名),在資源檢視的選單中加入一個讀入影象的選單,並在view中新增響應函式。

2、  同樣,在解決方案資源管理器中新增CvvImage.h和CvvImage.cpp(下載見附件)。

3、  在ReadImageMenuView.h中新增#include“CvvImage.h”

4、  在ReadImageMenuView.h的public申明中新增 CvvImage cimg定義(作為讀入影象的全域性申明),。

5、  在讀入影象的響應函式中新增程式碼

    CFileDialog dlg(TRUE);

    if (dlg.DoModal() == IDOK)

    {

        CString m_FilePath = dlg.GetPathName();

        char * path = (LPSTR)(LPCTSTR)m_FilePath;

        IplImage * Input_Img = cvLoadImage("lifehappy.jpg", CV_LOAD_IMAGE_COLOR);

        cimg.CopyOf(Input_Img);

     Invalidate();

6、  在ReadImageView.cpp中的Ondraw函式中新增程式碼,實現顯示影象功能。

CRect r;

GetClientRect(&r);

SetRect(r, 0, 0, cimg.Width(), cimg.Height());   //將cimg顯示出來

cimg.DrawToHDC(pDC->GetSafeHdc(), r);

7、  執行程式點選讀入影象選單,就可以實現讀入影象操作。
轉:https://blog.csdn.net/kuaiyangliukuai/article/details/50118455