我已經安裝了OpenCV 2.2,現在我無法使攝像頭捕獲工作。它在2.1中運行正常。 OpenCV檢測到網絡攝像頭,不報告任何錯誤或警告,但每幀都是灰色圖像。我甚至嘗試從OpenCV維基的代碼示例:OpenCV攝像頭捕獲問題
VideoCapture cap(0); // open the default camera
if(!cap.isOpened()) // check if we succeeded
return -1;
Mat edges;
namedWindow("edges",1);
for(;;)
{
Mat frame;
cap >> frame; // get a new frame from camera
cvtColor(frame, edges, CV_BGR2GRAY);
//GaussianBlur(edges, edges, Size(7,7), 1.5, 1.5);
//Canny(edges, edges, 0, 30, 3);
imshow("edges", edges);
if(waitKey(30) >= 0) break;
}
// the camera will be deinitialized automatically in VideoCapture destructor
return 0;
有沒有人遇到過這個問題?我正在使用64位Win7和Visual Studio 2010.
你是什麼意思「一個灰色的圖像「?純灰色,沒有結構?或者,只是一個灰度圖像?您正在調用cvtColor()來灰度化圖像,而imshow()調用正在顯示灰度版本... – jtdubs 2010-12-13 15:27:14
純灰色,不是灰度。 – Figaro 2010-12-13 17:04:07
有時候這個ib有點慢。在Mat邊緣之前添加一個'sleep(1)'或'cv :: waitKey(100)',並將其添加到for循環中。這應該工作。如果'frame'是一個精確的圖像,不要忘記chekc。 – nutario 2010-12-13 21:19:21