1. 程式人生 > >opencv 開啟攝像頭卻捕捉不到影象解決方法

opencv 開啟攝像頭卻捕捉不到影象解決方法

寫opencv程式,開啟攝像頭,不料書上的程式出錯,能開啟攝像頭,但是捕捉不到影象

用兄弟的電腦試過,能執行,沒有問題

在網上找了很久,試了很多的方法,都沒有用,後來在一個百度知道上找到一個方法成功

#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表示程式沒有讀入影象

這就是我出錯的原因,攝像頭的第一幀讀不進來

最重要的問題解決了,不過出現了一個小的問題,視窗名出現亂碼,

這個問題還沒有解決

以後解決了再貼上來