永发信息网

怎么在mfc中添加cvvimage.h和cvvimage.cpp

答案:2  悬赏:0  手机版
解决时间 2021-12-02 10:36
  • 提问者网友:孤凫
  • 2021-12-02 03:51
怎么在mfc中添加cvvimage.h和cvvimage.cpp
最佳答案
  • 五星知识达人网友:三千妖杀
  • 2021-12-02 04:31
首先在自己的项目中添加CvvImage.h和CvvImage.cpp。在要使用的类中包含其头文件#include "CvvImage",接着添加如下消息处理函数:
void CPersonWidthDlg::showimg(void)  
{
Mat img = imread(".\lena.jpg");
IplImage iplImg = IplImage(img);
//Iplimage * iplImg = &img.operator IplImage();
CDC* pDC = GetDlgItem(IDC_FRAME)->GetDC();
HDC hdc = pDC->GetSafeHdc();
RECT rect;
GetDlgItem(IDC_FRAME)->GetClientRect(&rect);

CvvImage cvvImg;
cvvImg.CopyOf(&iplImg);
cvvImg.DrawToHDC(hdc,&rect);
ReleaseDC(pDC);  
}
MFC 微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。
其中包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。
全部回答
  • 1楼网友:春色三分
  • 2021-12-02 06:10
自从opencv2.2及以上版本删除了CvvImage类,在MFC中显示图片很不方便,下面就最近查阅资料小做说明如何在opencv2.3.1中使用该类。
首先在自己的项目中添加CvvImage.h和CvvImage.cpp。在要使用的类中包含其头文件#include "CvvImage",接着添加如下消息处理函数:
void CPersonWidthDlg::showimg(void)
{
Mat img = imread(".\\lena.jpg");
IplImage iplImg = IplImage(img);
//Iplimage * iplImg = &img.operator IplImage();
CDC* pDC = GetDlgItem(IDC_FRAME)->GetDC();
HDC hdc = pDC->GetSafeHdc();
RECT rect;
GetDlgItem(IDC_FRAME)->GetClientRect(&rect);

CvvImage cvvImg;
cvvImg.CopyOf(&iplImg);
cvvImg.DrawToHDC(hdc,&rect);
ReleaseDC(pDC);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯