OpenCV+MFC 显示图像
一、新建TEST7项目
二、配置OpenCV链接库,下载并添加CvvImage.h和CvvImage.cpp文件
原因:opencv2.x以上版本已经不支持CvvImage类,而MFC picture控件使用的是Image*类,不支持Mat;
三、插入控件:button、picture
type属性:
- Frame:显示一个无填充的矩形框
- Rectangle:显示一个填充的矩形框,矩形颜色可通过Color 属性的下拉列表设定
- Icon:显示一个图标(Icon)
- Bitmap:显示一个位图(Bitmap)
- Owner Draw:自绘
- Enhanced Metafile:显示一个加强的元数据文件(Metafile)
- Etched Horz:显示一条横分割线
- Etched Vert:显示一条竖分割线
四、为控件添加消息处理函数
五、添加代码
在主框架头文件“TEST7Dlg.h”中添加头文件:
#pragma once#include "cv.h"#include "highgui.h"#include "CvvImage.h"
在主框架头文件“TEST7Dlg.h”中添加成员定义、成员函数声明DrawPicToHDC:
CRect rect; //位置矩形CStatic* pStc; //标识图像显示的Picture控件CDC* pDC; //视频显示控件设备上下文HDC hDC; //视频显示控件设备句柄CvCapture* capture; //视频获取结构CvvImage cimg;//添加成员函数声明DrawPicToHDCvoid DrawPicToHDC(IplImage *img, UINT ID);
在主框架实现文件“TEST7Dlg.cpp”中添加函数实现代码:
- 构造函数中初始化:
CTEST7Dlg::CTEST7Dlg(CWnd* pParent /*=NULL*/): CDialogEx(CTEST7Dlg::IDD, pParent)
{m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);pStc=NULL;pDC=NULL;capture=NULL;
}
- 成员函数DrawPicToHDC的实现:
void CTEST7Dlg::DrawPicToHDC(IplImage *img, UINT ID)
{pStc=(CStatic *)GetDlgItem(ID);//IDC_VIEW为Picture控件IDpDC = pStc->GetDC(); hDC= pDC->GetSafeHdc(); pStc->GetClientRect(&rect);cimg.CopyOf(img);cimg.DrawToHDC( hDC, &rect ); // 将图片绘制到显示控件的指定区域内 ReleaseDC( pDC );
}
- 在新增按钮的响应函数中添加代码:
void CTEST7Dlg::OnBnClickedOnOpenButton()
{// TODO: 在此添加控件通知处理程序代码IplImage *image=NULL; //原始图像 if(image) cvReleaseImage(&image); image = cvLoadImage("test.bmp"); //显示图片 DrawPicToHDC(image, IDC_PIC_STATIC);
}
六、编译运行,结果如下:
OpenCV+MFC 显示图像相关推荐
- OpenCV+MFC显示图像
OpenCV+MFC显示图像 .h中代码 /****************************************************************************** ...
- vs中c语言图形显示出来,VS2010+Opencv+MFC读取图像和视频显示在Picture控件
VS2010+Opencv+MFC读取图像和视频显示在Picture控件,供大家参考,具体内容如下 1.新建MFC对话框应用程序. 其余选项默认,单击完成,创建出对话框应用程序.删掉原来自带的一些控件 ...
- opencv入门 - 显示图像学习总结
OpenCV的第一个小程序-读取图像并显示 首先新建一个VC++控制台项目如下图所示.本文项目名称helloOpenCV. 在主文件中添加如下代码: #include "stdafx.h&q ...
- opencv + MFC 视频图像显示
1.读取并显示图像 显示图像或视频使用VC中的Picture控件,用到VC图形设备接口的设备上下文(CDC类).比如打开显示这样一个图片lean.jpg 先进行一些初始化工作,代码如下: 1 // D ...
- OpenCV+MFC学习笔记(二):OpenCV二值化处理图像并在Picture Control中并自适应显示
在前面我们已经完成通过OpenCV读取图片在Picture Control中并自适应显示.下面我们很自然的需要对读取的图片进行处理,处理完之后很自然的想到要看看效果.所以今天的笔记是通过OpenCV灰 ...
- OpenCV+MFC文档视图结构 构建简易PS图像处理软件
简介 本文介绍了基于OpenCV图像处理库的MFC框架下的图像处理程序构建方法. 本项目依赖OpenCV库4.1.0版本,构建和编译由VS2017完成. 程序目录 simPS2.h/simPS2.cp ...
- VS2015+opencv+MFC+显示图片
网上有很多关于在MFC显示图片的教程,但是看下来感觉对一个小白来说太过于麻烦,总有些东西没有写完成,操作下来总有些错误,实在没有办法我只好下了一个可以运行的例子,比较之后自己按照下载的例子模仿操作总算 ...
- OPENCV MFC 程序出错修改
error C2146: 语法错误 : 缺少";"(在标识符"PVOID64"的前面) 来源:http://houjixin.blog.163.com/blog ...
- 如何在cv2窗口图像上写字_Python for opencv 之 显示图像及在图像上书写文字
#从Opencv中导入函数 import cv2.cv as cv #创建一个窗口,命名为you need tostruggle, #cv.CV_WINDOW_AUTOSIZE这个参数设定显示窗口虽图 ...
最新文章
- js函数语法:ASCII 码的相互转换,字符串操作,数学计算
- 华为oj平台的新网址
- C++模板:模板简述,函数模板详细说明【C++模板】(56)
- BigDecimal的使用说明
- 基于FPGA的UART接口协议设计
- 电商网站全链路压测实战
- 常看网页表单数据_数据收集、整理低效繁琐?WPS表单帮你轻松解决
- 机器学习基础(二十八) —— 数据规格化
- SDL_BlitSurface的参数是两个PNG时,如何保护其透明度
- stm32例程_如何系统地入门学习stm32?
- WIN7 SP1系统浏览器怎么离线升级到IE11,怎么解决?
- 数电第四章:组合逻辑电路
- 掉队于云计算市场是甲骨文裁员的最大原因
- 约翰霍普金斯大学计算机专业,约翰霍普金斯大学计算机专业排名第几?
- 使用Python进行OpenCV颜色检测和过滤
- Java架构师大型互联网高级技术视频教程
- 大数据正当时,理解这几个术语很重要
- 苹果iOS开发者账号从零开始申请
- 数据处理——拉伊达法则去除异常值(Python实现)
- CNI-Terway讲解
热门文章
- Machine Learning in Action 读书笔记---第3章 决策树
- 问君硅谷几多渣?先把Snapchat总裁扒一扒
- 2021 新款手机,免费送!
- 让 git输出颜色变成彩色的方法
- 油烟机烟雾报警_基于STC89C51单片机
- concatenation 和 element-wise summation 该选哪个?
- 电脑总是区域性白屏,求助各位大佬。
- 乙炔黑-离子液体复合修饰玻碳电极(AB-ILs/GCE)|离子液体修饰改性的多壁碳纳米管(MWNTs)
- {ResponseInfo:com.qiniu.http.Response@62bd765,status:400, reqId:d4kAAACMt2hWMSEW, xlog:X-Log, xvia:,
- 华为又走在美国芯片企业前面,将率先发布5nm工艺芯片