opencv 打开摄像头却捕捉不到图像解决方法

写opencv程序,打开摄像头,不料书上的程序出错,能打开摄像头,但是捕捉不到图像

用兄弟的电脑试过,能运行,没有问题

在网上找了很久,试了很多的方法,都没有用,后来在一个百度知道上找到一个方法成功

http://zhidao.baidu.com/link?url=8I5s8NuD3uID9-8oAYb2uFf-thH6j-i940Tgil9XPpYqwB7olGEEsKg3I3Jm4pPdTnVz1q__ivkXAZ42vvtFpR_3GEqHv1C-iDZZ_Y33Aum


#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;

string name="我的";

int main()
{
	VideoCapture capture; //声明视频读入类
	capture.open(0); //从摄像头读入视频 0表示从摄像头读入

	if (!capture.isOpened()) //先判断是否打开摄像头
	{
		cout<<"can not open";
		cin.get();
		return -1;
	}

	namedWindow(name);

	while (1) { 
		Mat cap; //定义一个Mat变量,用于存储每一帧的图像
		capture>>cap; //读取当前帧
		if (!cap.empty()) //判断当前帧是否捕捉成功 **这步很重要
			imshow(name, cap); //若当前帧捕捉成功,显示
		else
			cout<<"can not "; 
		waitKey(30); //延时30毫秒
	}

	return 0;
}



不知各位看到了没有

can not表示程序没有读入图像

这就是我出错的原因,摄像头的第一帧读不进来


最重要的问题解决了,不过出现了一个小的问题,窗口名出现乱码,

这个问题还没有解决

以后解决了再贴上来

评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值