您好,欢迎光临本网站![请登录][注册会员]  
文件名称: VC2008_OpenCV2.3.1图像处理平台
  所属分类: C++
  开发工具:
  文件大小: 10mb
  下载次数: 0
  上传时间: 2012-09-28
  提 供 者: ssj0*****
 详细说明: 【目的】 1、了解OpenCV在MFC框架中的使用,建立基于VC + OpenCV的图像处理平台; 2、在此基础上实现简单的图像处理操作,包括图像的打开、显示、放大、缩小、保存。 【版本】 VC2008 + opencv 2.3.1 【详细实现步骤】 1、VC2008编译环境设置:工程中已预先设好,为保证能编译成功,自己需重新设置(include/lib/bin路径,略。。。); 2、视图显示选择OpenCV老式显示方法CvvImage,将CvvImage文件夹下两个文件加入工程中,stdafx.h中加入【#include "CvvImage/CvvImage.h"】 3、CMFC_OpenCVDoc文档类中加入变量: Mat m_originImage;//原始图像 Mat m_Image;//中间处理图像 4、重载虚函数OnOpenDocument函数,代码如下: BOOL CMFC_OpenCVDoc::OnOpenDocument(LPCTSTR lpszPathName) { if (!CDocument::OnOpenDocument(lpszPathName)) return FALSE; / /使用Mat矩阵读取图像数据 m_originImage = imread((char*)lpszPathName); //原始数据留存,数据操作在m_Image上进行 m_originImage.copyTo(m_Image); return TRUE; } 5、重载虚函数OnSaveDocument,代码如下: BOOL CMFC_OpenCVDoc::OnSaveDocument(LPCTSTR lpszPathName) { if (!m_Image.empty()) { imwrite((char*)lpszPathName, m_Image); } return TRUE; } 6、视图类CMFC_OpenCVView中加入变量: CImage m_showImage;//图像显示变量 7、视图类CMFC_OpenCVView中OnDraw函数改写如下: void CMFC_OpenCVView::OnDraw(CDC* pDC) { CMFC_OpenCVDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; if (pDoc->m_Image.empty()) { return; } //获取需要显示的图像 IplImage* piI = &(pDoc->m_Image.operator IplImage()); //转化为合适显示的类型 m_showImage.CopyOf( piI ); //获取显示设备窗口 CRect rect; GetClientRect(▭); //把显示区的宽度设为图像的真实宽度和高度 rect.right=m_showImage.Width(); //CvvImage:Width()计算图像的宽度,单位像素 rect.bottom=m_showImage.Height();//CvvImage:Height()计算图像的高度,单位像素 //定义一个CSize对象,用于保存滚动条的尺寸,设为图像的真实尺寸 CSize sizeTotal(rect.right,rect.bottom); SetScrollSizes(MM_TEXT, sizeTotal);//设置滚动条的位置 //调用CvvImage类的成员函数DrawToHDC在视图窗口显示图像 //函数形参为当前的设备环境和显示区大小 m_showImage.DrawToHDC(pDC->GetSafeHdc(),rect); } 8、滚动条显示设置: 视图类CMFC_OpenCVView需继承于CScrollView类,而不是CView类,需要改动的地方还有,将以下语句 IMPLEMENT_DYNCREATE(CMFC_OpenCVView, CView) BEGIN_MESSAGE_MAP(CMFC_OpenCVView, CView) 改为: IMPLEMENT_DYNCREATE(CMFC_OpenCVView, CScrollView) BEGIN_MESSAGE_MAP(CMFC_OpenCVView, CScrollView); 另外,初始化时重载OnInitialUpdate函数如下: void CMFC_OpenCVView::OnInitialUpdate() { CScrollView::OnInitialUpdate(); // TODO: 在此添加专用代码和/或调用基类 CSize sizeTotal; sizeTotal.cx = sizeTotal.cy = 60; SetScrollSizes(MM_TEXT, sizeTotal); } ...展开收缩
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: MFC VS2008 VC2008 OpenCV 图像处理
 输入关键字,在本站1000多万海量源码库中尽情搜索: