Probleme mit opencv Video ausgeben
-
#include "highgui.h" int main( int argc, char** argv ){ cvNamedWindow("Example2", CV_WINDOW_AUTOSIZE ); CvCapture* capture = cvCreateFileCapture( "hallo" ); IplImage* frame; while(1){ frame = cvQueryFrame( capture ); if( !frame ) break; cvShowImage ( "Example2", frame ); char c = cvWaitKey(33); if( c == 27 ) break; } cvReleaseCapture( &capture ); cvDestroyWindow( "Example2" ); }
Ich kann nur vermuten, dass cvCreateFileCapture den Dateinamen inkl. Endung erwartet.
-
Danke für die schnelle antwort.
Ich habe das programmm jetzt so geandert:
CvCapture* capture = cvCreateFileCapture( "C:\\Users\\Admin\\Desktop\\Neu\\C++\\OPENcv\\hallo" );
Doch es ist immer noch das gleiche problem da.
Das wird nicht der Fehler gewesen sein.
-
Die Dateiendung der Datei ist doch avi, richtig? Wie wär's, wenn du dann auch hallo.avi schreibst, statt einfach nur hallo?
-
Wie wärs mal mit dem:
CvCapture* capture = cvCreateFileCapture( "hallo.avi" );
-
funtzt leider auch nicht habe ich auch schohn ausprobiert!!
-
heino schrieb:
funtzt leider auch nicht habe ich auch schohn ausprobiert!!
Was steht denn dan in capture? 0?
-
_matze schrieb:
Was steht denn dan in capture? 0?
Capture ist gleich 0!!!!
-
Und du hast es auch ganz genau so
heino schrieb:
CvCapture* capture = cvCreateFileCapture( "C:\\Users\\Admin\\Desktop\\Neu\\C++\\OPENcv\\hallo.avi" );
ausprobiert? Und die Datei existiert auch? Und der Pfad stimmt auch?
-
_matze schrieb:
ausprobiert? Und die Datei existiert auch? Und der Pfad stimmt auch?
Meine antworten sind ja, ja und ja.
Das ist main Problem ich habe vieles ausprobiert, doch das Programm funzt immer noch nicht.
-
Könnte dies hier dein Problem sein?
http://n2.nabble.com/bug-in-cvCreateFileCapture--td2123082.html
Könntest du ja testen, indem du die Datei in hallo.avi1 umbenennst (aber weiterhin versuchst, hallo.avi zu öffnen). Seltsamer Bug, falls es den wirklich gibt...
-
sorry wenn ich euch auf die nerfen gehe,
aber es funzt auch Mit hallo.avi1 nicht.
-
heino schrieb:
sorry wenn ich euch auf die nerfen gehe,
aber es funzt auch Mit hallo.avi1 nicht.Keine Sorge, auf die 'Nerfen' gehst du mir bestimmt nicht.
-
Ich würde dir raten, mal die Doku zu der Funktion ganz genau zu studieren. Wenn der Dateiname wirklich nicht das Problem ist, kann es ja nur was Komisches sein (fehlt dir z.B. ein Codec oder so?). Außerdem solltest du auch mal andere Dateien ausprobieren.
-
Ich habe bei google gerade glesen das unter Vista bei vielen Leuten fehler auftreten.
Ich habe Vista. Habe vorhin vergessen es zu erwähnen.
Weiß jamand darüber etwas.
-
#include "highgui.h" int main( int argc, char** argv ){ cvNamedWindow("Example2", CV_WINDOW_AUTOSIZE ); CvCapture* capture = cvCreateFileCapture( "hallo.avi" ); IplImage* frame; while(1){ frame = cvQueryFrame( capture ); if( !frame ) break; cvShowImage ( "Example2", frame ); char c = cvWaitKey(33); if( c == 27 ) break; } cvReleaseCapture( &capture ); cvDestroyWindow( "Example2" ); }
Hi,
Hiermit stelle ich noch ein par infos ein:
ich benutze:
1.Vista
2.Dev-Cpp 4.9.9.2
Und die OpenCV Version OpenCV_1.1pre1a
Versucht habe ich auch die Versionen:
OpenCV_1.0rc1 und
OpenCV_1.0Um dieses Programm zum laufen zu bringen habe ich folgeses probiert:
verschiedene Videos
komplette Video adresse
hallo.avi1 öffnenWas steht denn dan in capture? 0?
warumm die frage??
-
heino schrieb:
Was steht denn dan in capture? 0?
warumm die frage??
Weil wir dann auch sicher sein können, dass wirklich diese Funktion fehlschlägt und nicht cvQueryFrame oder so. Wenn du eine Funktion aufrufst, solltest du auch immer die Rückgabe prüfen (und worauf du prüfen musst, steht in der Doku). Stell dir vor, dein Programm würde funktionieren. Sobald die Datei umbenannt oder gelöscht wird, funktioniert es nicht mehr. Da ist es doch sinnvoll, im Fehlerfall z.B. eine Fehlermeldung auszugeben, anstatt das Programm abstürzen oder fehlerhaft ablaufen zu lassen.
-
Ok ist logisch ich habe dir oben schohn geschrieben dass :
heino schrieb:
_matze schrieb:
Was steht denn dan in capture? 0?
Capture ist gleich 0!!!!
Also schlagt genau diese funktion fehl.
Wo finde ich die Dokumentation??
Bei Google habe ich nichts gefunden(warscheinlich falsche suchbegriffe eingegeben)!!
-
Welche Suchbegriffe hast du denn bitteschön eingegeben?
Ergebnis nach ca. einer Viertelsekunde:
http://www.cognotics.com/opencv/docs/1.0/index.html
http://opencv.willowgarage.com/wiki/
-
ok die seiten habe ich auch gefunden aber ich werde aus ihnen m´nicht schlau wo der fehler liegt.
-
Wenn cvCreateFileCapture() 0 zurückgibt, könnten eine Ursache fehlende codecs sein.