OpenCV 4.4在MFC中的应用

这篇博客介绍了如何在MFC应用程序中集成OpenCV 4.4,展示如何在MFC对话框的picture控件中显示图片和视频。通过在OnInitDialog()中设置窗口和控件的关系,可以将OpenCV的imshow功能嵌入到MFC应用中,实现图像和摄像头视频的实时显示。关键步骤包括创建OpenCV窗口,设置父窗口,以及调用imshow和waitKey函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一般的OpenCV例程在console中比较多。其实想要在MFC中也是很简单的,只要在*dlg.cpp的Init函数中添加一段类似把控件转换为窗口的代码就可以啦。 其他的就和console的编程一样。 环境属性中需要设置的参数一点都不能少。在*.h文件中添加头文件和using namespace cv;如果只有一个文件用到了opencv的东西,那么可以直接在*dlg.cpp中添加头文件和using namespace cv就可以。来看看这段代码吧。

前提操作,在界面中添加picture控件,并且命名为:IDC_SHOWIMG,

在OnInitDialog()中添加:

// TODO: 在此添加额外的初始化代码


    namedWindow("ImageShow");//创建OpenCV窗口
    HWND hWnd = (HWND)cvGetWindowHandle("ImageShow");//嵌套opencv窗口
    HWND hParent = ::GetParent(hWnd);

    ::SetParent(hWnd, GetDlgItem(IDC_SHOWIMG)->m_hWnd);
    ::ShowWindow(hParent, SW_HIDE);

 以后需要显示图片就用
imshow("ImageShow",mat)就可以显示mat图片了。 是不是很简单呢。 

Mat mat=imread("d:\\user.jpg");

imshow("ImageShow",mat);

waitkey(1);//千万不能用waikey(0),一直等在这里程序就不会继续下去了。

如果要显示摄像头,只需要:
 

VideoCapture capture(0);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值