在MFC 的CView中显示IplImage如下:
//在CXXXDoc.cpp中
public:
IplImage* m_curImg;
BOOL CXXXDoc::OnOpenDocument(LPCTSTR lpszPathName)
{
if (!CDocument::OnOpenDocument(lpszPathName))
return FALSE;
// TODO: 在此添加您专用的创建代码
m_curImg = cvLoadImage((char*)lpszPathName,0);
return TRUE;
}
//在CXXXView.h 中
public:
void ShowIplImage(IplImage* img);
//在CXXXView.cpp中
void CXXXView::ShowIplImage(IplImage* img)
{
if(img != NULL)
{
CDC* pDC = GetDC();
HDC hDC = pDC->GetSafeHdc();
CRect r;
r.SetRect(0 , 0 , img->width , img->height);
CvImage cvImg;
cvImg.CopyOf(img);
cvImg.DrawToHDC(hDC,&r);
ReleaseDC(pDC);
}
}
调用方式如下:
void CXXXView::OnDraw(CDC* pDC)
{
COpenCVTestDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
// TODO: 在此处为本机数据添加绘制代码
ShowIplImage(pDoc->m_curImg); // 在CXXXDoc.h中定义IplImage* m_curImg;
}
其中:CvImage类在http://blog.csdn.net/xinzheng_wang/article/details/7556695
分享到:
相关推荐
在本文中,我们将深入探讨如何在Visual Studio 2015环境下,利用MFC(Microsoft Foundation Classes)的Picture控件来显示OpenCV处理过的图像和播放视频。OpenCV是一个强大的计算机视觉库,广泛用于图像处理和计算机...
这通常涉及到如何在MFC中调用OpenCV的函数,如何将OpenCV的IplImage或Mat类型数据转换为MFC的CBitmap或其他类型,以便于在界面上显示。 “res摄像头”可能指的是资源管理器中的摄像头图标或者其他与摄像头相关的...
在MFC中,通常会有一个CWinApp派生类负责初始化OpenCV,然后在CDialog或CView派生类中处理图像。以下是一个简化的示例: ```cpp class CMyDialog : public CDialog { public: CMyDialog(CWnd* pParent = NULL); ...
在本文中,我们将深入探讨如何在MFC(Microsoft Foundation Class)单文档应用程序中利用OpenCV库显示图像,特别是在Visual Studio 2010环境下。OpenCV是一个强大的计算机视觉库,而MFC则是一个用于构建Windows应用...
在MFC中使用OpenCV,我们主要关注如何在CView的派生类中调用OpenCV函数来显示图像。 步骤一:设置项目环境 确保你的开发环境支持OpenCV,这通常需要在项目设置中添加OpenCV库的路径,同时链接所需的库文件,如...
2. **创建MFC视图类**:在MFC应用程序中,我们通常会创建一个派生自`CView`的类,这个类将负责处理显示和用户交互。在此基础上,我们可以添加OpenCV相关的成员变量和函数。 3. **使用cvvimage类**:cvvimage是...
例如,你可以使用`CvvImage`对象加载一张图片,然后在MFC的`CView`或`CDialog`子类中显示这张图片,或者进行更复杂的图像处理操作。 总的来说,`CvvImage.h`和`CvvImage.cpp`是MFC和OpenCV结合的关键组件,它们使得...
在MFC项目中,你可能需要将OpenCV的数据结构(如IplImage或cv::Mat)转换为位图对象,以便在MFC的CMyView类中显示。 综上所述,实现"在vc++环境下实现动态坐标"这一功能,需要对OpenCV、MFC框架、C++编程、Windows...
1、了解OpenCV在MFC框架中的使用,建立基于VC + OpenCV的图像处理平台; 2、在此基础上实现简单的图像处理操作,包括图像的打开、显示、放大、缩小、保存。 【版本】 VC2008 + opencv 2.3.1 【详细实现步骤】 1、...
- 在MFC6.0应用中,可以创建一个CView派生类,重写OnDraw函数,用OpenCV读取并处理摄像头的帧,然后将处理后的图像数据绘制到窗口上。 - 使用`cv::imshow`函数可以在OpenCV自己的窗口中显示图像,但结合MFC,可能...
本文将深入探讨基于文档视图架构的OpenCV基本框架,以及如何在MFC(Microsoft Foundation Classes)环境中集成OpenCV,实现在文档窗口上显示图片和视频,以及实时读取摄像头内容的功能。 首先,让我们理解“基于...
在EasyImage的源码中,可以看到MFC的CView派生类作为图像视图,承载了OpenCV的IplImage或cv::Mat对象。当用户进行图像操作时,如拖拽、缩放或应用滤镜,这些操作会被转化为对OpenCV图像数据的处理,然后更新到MFC的...
在这个类中,我们定义了一些关键属性,如`CvHaarClassifierCascade* cascade`用于存储分类器指针,`CvMemStorage* storage`用于存储检测过程中的临时数据,`IplImage* src`用于存储加载的图像。此外,还定义了一个名...
3. 检测并标示:使用 OpenCV 库提供的函数 cvHaarDetectObjects 对图象进行人脸检测,该函数使用指针对某目标物体〔如人脸〕训练的级联分类器在图象中找到包含目标物体的矩形区域,并将这些区域作为一序列的矩形框...