opencv显示图片的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencv显示图片的问题相关的知识,希望对你有一定的参考价值。
vs2010的mfc中用到opencv,读取图片用Mat Img=imread(''xxx.tif''),可是我看手册中显示图像都是用imshow,这就要另外弹出一个窗口,可是我在单文档的mfc中想在特定的区域显示这个图像,而不是弹出一个窗口,着要怎么做?
参考技术A imshow是highgui模块的,主要用来调试实验用的。要在mfc中显示,需要将cv::Mat转换成windows的位图或者是直接转成CImage,然后在特定的设备上下文中显示即可。opencv与mfc显示图片操作,MFC的鼠标响应在opencv图片上失效,opencv滚轮事件没有响应问题描述解决。
原文作者:aircraft
原文链接:https://www.cnblogs.com/DOMLX/p/11588758.html
用mfc 与OPENCV编写成。
出了很多冲突异常事件导致鼠标操作没有响应
当opencv窗口与mfc控件绑定时,可以认为opencv绑定区域覆盖在mfc 控件上,此时mfc本身的鼠标响应在此区域失效,只能调用opencv的鼠标响应事件。
而当你调用opencv的鼠标滚轮事件时候又会没有反应,此时是因为mfc的鼠标滚轮事件优先级别更好 ,只能在这里用mfc的鼠标滚轮响应事件。
不想出现上面的问题,解决办法有:
直接使用Mfc的图像处理类不用opencv
或者使用opencv显示时不将窗口绑定到mfc控件上,而是转换图像类格式写入
或者就像我上面说的,使用opencv的鼠标点击事件,使用Mfc的鼠标滚轮事件。
以上是关于opencv显示图片的问题的主要内容,如果未能解决你的问题,请参考以下文章