Ho installato OpenCV 2.2 e ora non riesco a far funzionare la webcam capture. Ha funzionato bene in 2.1. OpenCV rileva una webcam, non segnala errori o avvisi, ma ogni frame è un'immagine grigia. Ho anche provato un esempio di codice da OpenCV wiki:Problema di cattura webcam 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;
Qualcuno ha incontrato questo problema? Sto usando 64bit Win7 e Visual Studio 2010.
Che cosa si intende per " un'immagine grigia "? Grigio solido, senza struttura? O solo un'immagine in scala di grigi? Stai chiamando cvtColor() per mettere l'immagine in scala di grigi e la chiamata imshow() mostra la versione in scala di grigi ... – jtdubs
Grigio fisso, non in scala di grigi. – Figaro
A volte questo ib è un po 'lento. Aggiungi un 'sleep (1)' o 'cv :: waitKey (100)' prima del bordo Mat e aggiungi lo stesso all'interno del ciclo for. Questo dovrebbe funzionare. E non dimenticare di chekc se 'frame' è un'immagine prper. – nutario