MFC+OpenCV不使用OnTimer实现打开和关闭摄像头(附代码)

本文介绍如何使用MFC结合OPENCV3.4.5版本实现电脑摄像头的打开与关闭操作。通过设置一个标志位FLAG,控制摄像头状态,提供了一种简单有效的摄像头管理方案。

MFC+OPENCV3.4.5实现调用电脑摄像头并实现打开和关闭操作

使用OpenCV和MFC做开发时,不少朋友刚入门时遇到的问题就是摄像头的调用问题,csdn上的实现方式大多都是使用timer实现,且使用的OpenCV版本过老而导致代码粘贴过来后修改十分麻烦,这里给大家提供一个简单易用的解决方案实现摄像头的关闭。基本思路是使用一个标志位flag,调用flag去控制摄像机的开关。

BOOL FLAG;
void CUnicreateDlg::OnBnClickedBtnOn()//OpenCamera
{

	VideoCapture Capture(0);//系统相机0,外接相机1,2以此类推
	
	if (!Capture.isOpened())
	{
		AfxMessageBox(_T("0号摄像头连接失败,请检查硬件以及驱动程序!!!"));
		return ;
	}
	 FLAG = TRUE;
	while (FLAG==TRUE)
	{   
		Capture >> frame;
		imshow("stream", frame);
		waitKey(30);
		}
	
}


void CUnicreateDlg::OnClickedBtnOff()//关闭摄像头
{
	// TODO: 在此添加控件通知处理程序代码
	if (!frame.data)
	{
		AfxMessageBox(_T("摄像头未开启!!!"));
		return;
	}
	FLAG = FALSE;
	MessageBox(_T("摄像头已关闭!!!"));
	return;
}

希望大家都能解决自己的问题哦,有问题欢迎在博客下留言哦

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值