opencv 開啟攝像頭卻捕捉不到影象解決方法
阿新 • • 發佈:2019-01-07
寫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表示程式沒有讀入影象
這就是我出錯的原因,攝像頭的第一幀讀不進來
最重要的問題解決了,不過出現了一個小的問題,視窗名出現亂碼,
這個問題還沒有解決
以後解決了再貼上來