OpenCV+MFC 打开文件并显示在picture控件上
在校学生刚刚接触OpenCV,用OpenCV和MFC创建对话框界面,基本功能:打开文件并在picture控件上显示所选择的图片。因为我的是OpenCV3.0所以要自行添加CvvImage.h和CvvImage.cpp,方法教程网上有很多,这里不多说了,主要写一下MFC的实现代码,方便自己做一个记录。
(1)按要求创建完一个对话框后如图1所示
(2)显示图片的按钮响应函数
1 void CvirtualrealityDlg::OnBnClickedButtonShow() 2 { 3 CString m_strPicPath; 4 IplImage* TheImage; 5 CFileDialog dlg(true, _T("*.jpg"), NULL, OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY, 6 _T("image file(*.jpg)||All Files(*.*)|*.*|"), NULL); //选项图片的约定 7 dlg.m_ofn.lpstrTitle = _T("open Image"); //打开文件对话框的标题名 8 if (dlg.DoModal() != IDOK) //判断是否获得图片 9 return; 10 m_strPicPath = dlg.GetPathName(); //获得图片路径 11 m_strPicPath.Replace(_T("//"), _T("")); 12 13 TheImage = cvLoadImage((CT2CA)m_strPicPath, 1); //读取图片、缓存到一个局部变量the image中 14 15 if (TheImage) 16 ShowImage(TheImage, IDC_STATIC_SHOW); //调用显示图片函数 17 else 18 return; 19 20 21 }
View Code
(3)其中调用的显示图片函数ShowImage()需要在头文件中声明,在源文件中声明如下
1 void CvirtualrealityDlg::ShowImage(IplImage* img, UINT ID) 2 { 3 CDC* pDC = GetDlgItem(ID)->GetDC(); //获得显示控件的DC 4 HDC hDC = pDC->GetSafeHdc(); //获得HDC(设备句柄)来进行绘图操作 5 6 CRect rect; 7 GetDlgItem(ID)->GetClientRect(&rect); 8 9 SetRect(rect, rect.left, rect.top, rect.right, rect.bottom); 10 11 CvvImage cimg; 12 cimg.CopyOf(img); //复制图片 13 cimg.DrawToHDC(hDC, &rect); //将图片绘制到显示控件的指定区域内 14 ReleaseDC(pDC); 15 16 }
View Code
(4)再运行一下就可以了。
再来一张效果图
转载于:https://www.cnblogs.com/lincolnlu/p/8540219.html
OpenCV+MFC 打开文件并显示在picture控件上相关推荐
- vs中c语言图形显示出来,VS2010+Opencv+MFC读取图像和视频显示在Picture控件
VS2010+Opencv+MFC读取图像和视频显示在Picture控件,供大家参考,具体内容如下 1.新建MFC对话框应用程序. 其余选项默认,单击完成,创建出对话框应用程序.删掉原来自带的一些控件 ...
- qdebug重定向_qDebug重定向到写入文件以及显示在界面控件上
qdebug重定向到文件就很简单了,度娘一大把,不献丑了. 然后想把qdebug打印到ui的textedit上,却没找到好文章,经过测试特分享. 说白了,因为qdebug定向时用到了全局函数,那么te ...
- MFC/VC++中怎样将一个位图添加到数据库中并且将其读出来到指定的Picture控件上
看这篇文章之前建议先看一下下面这篇文章: VC下显示位图的几种方法 http://blog.chinaunix.net/uid-607545-id-2088102.html或 http://bl ...
- mfc调取摄像头显示并截图_用OpenCV在MFC Dialog中Picture控件上显示摄像头采集实时视频...
OpenCV之所以能在MFC Dialog的Picture控件上绘图,全靠了CvvImage::DrawToHDC()方法.这就是下文为出现CvvImage和HDC的原因.下面是具体过程,用OpenC ...
- MFC 配置OpenCV在Picture控件上绘图
首先下载C++的OpenCV,这里给个百度网盘链接: 链接:https://pan.baidu.com/s/1Hltk8-eVo0lY9rj3IgIAPw 提取码:m52c 解压,放在合适位置即可. ...
- asp.net fileupload 文件上传后服务器上找不到文件,Asp.net中FileUpload控件上传文件例子...
FileUpload 控件显示一个文本框控件和一个浏览按钮,使用户可以选择客户端上的文件并将它上载到 Web 服务器.用户通过在控件的文本框中输入本地计算机上文件的完整路径(例如,C:\MyFiles ...
- Json解析后显示在listview控件上
主要实现的功能:就是将Jsonj解析后,显示在ListV iew控件上(包括网络取图片) Json: {"resultCode":1,"resultInfo": ...
- loadimage 在picture控件上加载位图失败
代码如下 HBITMAP hBitmap = (HBITMAP)::LoadImage(AfxGetInstanceHandle(), TEXT("C:\\Users\\不许州官放火\\De ...
- MFC中picture控件如何响应鼠标移动?
MFC中picture控件如何响应鼠标移动? 2011-08-21 21:23 轻若惊鸿 | 浏览 3354 次 硬件网络 我将一个picture控件的属性中的Notify勾上了,但是只能响应鼠标按键 ...
- vc picture控件载入背景图,随控件大小改变
在mfc里,想要在Picture控件中载入一张图片有两种方法:静态的和动态的.静态的方法就是图片先载入资源(.rc)文件中,拥有一个唯一的ID:动态的方法就是制定图片的路径名即可. 当然这样的方法网上 ...
最新文章
- maven生成war包的两种方式
- 5弹出搜索框_实用小技巧,电脑总是弹出广告,手把手教你永久关闭广告弹窗...
- 《系统集成项目管理工程师》必背100个知识点-74CMO的具体工作
- php文件怎么制定编码格式,php文件编码格式对结果有影响
- 优化小技巧——复杂属性对象的read模式
- Spring Boot集成ShedLock分布式定时任务实例
- MMP,我说每年年会我怎么老是中不了奖,原来是这样
- vb.net 同时给多个属性赋值_一个float值赋值给double,结果是什么?进来重温一下类型提升吧...
- application.properties和bootstrap.yml到底先读哪个文件
- Hexo博客向百度提交链接
- 东芝计算机配置,东芝Toshiba笔记本电脑开机进入BIOS的方法与bios设置参数介绍(ESC+F1)...
- 2018年已经过了一半,你还记得年初时候定的小目标么——致已经逝去的2018上半年
- html 播放360全景图,讯网360全景展示产品-html5全景图-flash全景展示-360度全景图制作...
- Only one expression can be specified in the select list when the subquery is not introduced with EXI
- Chrome模拟企业微信环境
- android 获取 meid 代码,Android 各个版本获取IMEI、MEID
- R语言导出CSV出现乱码的处理
- AI(人工智能),时代的风口
- 前端编程编辑器都有哪些 ?
- 达梦数据库的归档配置
热门文章
- 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第4节 等待唤醒机制_7_等待唤醒机制需求分析...
- 二进制部署Kubernetes-v1.14.1集群
- 案例:手动输入一个字符串,打散放进一个列表,小写字母反序 大写字母保持不变...
- 漫谈Java IO之 NIO那些事儿
- 507 LOJ 「LibreOJ NOI Round #1」接竹竿
- 虚拟机出现ping DUP
- Objective-C的对象模型
- 开发者必备的6款源码搜索引擎
- 使用expect实现shell的交互
- web.config学习资料