Warum OpenCV `cvCreateCameraCapture` und `cvCreateFileCapture` nicht arbeiten?
Haben ein AVI-videofile und eine webcam. cvQueryFrame
gibt null zurück, in beiden Fällen. Code wird angewendet(nur für die cam):
#include "highgui.h"
#include <iostream>
using namespace std;
int main( int argc, char** argv )
{
cvNamedWindow( "KillCam", CV_WINDOW_AUTOSIZE );
cvWaitKey(0);
CvCapture* capture = cvCreateCameraCapture(-1);
assert(capture != NULL);
IplImage* frame;
while(1){
frame = cvQueryFrame( capture );
if( !frame ) break;
cvShowImage( "KillCam", frame );
char c = cvWaitKey(33);
if( c == 30 ) break;
}
cvReleaseCapture( &capture );
cvDestroyWindow( "KillCam" );
}
Nur eine Vermutung: versuchen Sie es mit index 0 für die Kamera. Überprüfen Sie auch, dass Ihre Kamera richtig installiert ist (Sie können es verwenden von Anwendungen?) Und, dass keine andere Anwendung ist derzeit mit der Kamera.
Fand die Lösung schon. Es scheint, dass der erste frame(s) werden nicht angezeigt, so
Fand die Lösung schon. Es scheint, dass der erste frame(s) werden nicht angezeigt, so
if( !frame ) break;
beendet die Anzeige des Videos, bevor es beginnt. Aber das problem ist immer noch relevant für das abrufen von video-Datei aus.InformationsquelleAutor Ivan | 2010-01-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand ich, durch treten in die openCV-code, dass ich brauchte, um sicherzustellen, die fmpeg-dll wurde in das aktuelle Verzeichnis zur Laufzeit:
OpenCV nicht alle vergossen Warnung wenn diese dll wird nicht gefunden, statt dessen die capture erstellen, rufen Sie einfach den Wert NULL zurück.
hth
Si
Ich habe die vorkompilierte OpenCV2.4.2 und diese debug-Datei nicht enthalten. Die opencv_ffmpef242.dll kommt. Die Sache ist, dass ich nicht bauen kann, meine libraries (noch) wie ich kein freier Platz auf der Festplatte...
InformationsquelleAutor sipi
Überprüfen Sie das video-format. OpenCV kann wählerisch sein in welche codecs unterstützt; es funktioniert nicht mit Xvid, zum Beispiel. Sie finden eine Liste der unterstützten codecs auf dem OpenCV wiki
InformationsquelleAutor Mike O'Malley