OpenCV+DirectShow+MFC显示两个摄像机

本文介绍了如何在MFC应用中结合OpenCV和DirectShow来显示两个摄像机的视频流。通过添加定时器函数OnTimer,避免了OpenCV窗口在任务栏中的显示。详细代码实现包括打开、查询帧、转换图像格式以及在MFC的Picture控件中显示图像的过程。此外,还提供了关闭摄像头的OnStop函数。

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

最近在做一个项目,需要用到两个摄像机的显示,通过查阅相关资料及参考晨宇思远的博客OpenCV学习笔记(9)利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面这篇博文,经过修改成功实现了两个摄像机的显示,但是他的方法中是将OpenCV的窗口显示为最小,虽然看不到窗口,但在任务栏中仍然存在。如下图:

为了不用到OpenCV的窗口,因此增加了OnTimer函数。实现后的图像如下:

 

 

代码:

  首先增加Capture按钮,其实现显示两个摄像机的视频:

OnCapture()
{  
 // TODO: Add your control notification handler code here
 camera0.OpenCamera(0,false, 320,240);//这里使用CameraDS中的方法打开摄像头
 camera1.OpenCamera(1,false, 320,240);//这里使用CameraDS中的方法打开摄像头
 
 SetTimer(1,30,NULL);//需要自己定义Timer函数去反复读取图像并将它显示出来,处理的代码会在OnTimer函数中出现
}
在OnTimer函数中的代码:

OnTimer(UINT_PTR nIDEvent)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值