Lesen einer Sequenz von Bildern unter Verwendung von OpenCV/C++
Ich Lesen möchte eine Sequenz von Bildern aus einem Ordner mit openCV. Alle Bilder sind in der Folge, d.h. (1).jpg,(2).jpg -,....
Ich habe versucht,
VideoCapture cap;
cap.open("Directory/");
for(;;)
{
Mat frame;
cap >> frame;
}
aber es funktioniert nicht.
Diese Frage wurde gebeten vor, aber ich weiß nicht, warum diese Antwort nicht für mich arbeiten.
OpenCV: Lesen der Bild-Serie aus einem Ordner
brauche ich zum umbenennen der Bilder?.
Hier ist der code denke ich werde nützliche: stackoverflow.com/questions/18058926/...
InformationsquelleAutor Misaki | 2013-10-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
cap öffnen sollte
cap.open("Directory/(%02d).jpg");
und Sie haben, benennen Sie Ihre Bilder so, dass Sie Aussehen wie(01).jpg
,(02).jpg
etc, so dass Sie haben Feste Länge. wenn die Bilder sind wie(001).jpg
dann sollten Sie`cap.open("Directory/(%03d).jpg");
Bearbeiten
eine for-Schleife ist erforderlich, wenn Sie möchten, Durchlaufen alle Bilder. die vid-capture funktioniert wie ein normales Aufnahmegerät aber es wird geben Sie eine leere Matte am Ende der Sequenz, so ist das Beispiel-Programm zum Absturz, ohne Umgang mit diesem
InformationsquelleAutor Zaw Lin
Versuchen für die Erstellung eines xml/yaml-Datei mit der Liste der Namen mit Pfad zu den Bildern, in der gewünschten Reihenfolge. Laden Sie dann die Liste als Vektor-oder etwas ähnlich Struktur, und öffnen Sie Sie nacheinander in einer Schleife.
InformationsquelleAutor morynicz
Hier der vollständige code zu tun, Lesen Sie eine Sequenz von Bildern mit fünf Nullen im Namen "frame00000.jpg, frame00001.jpg,.....,frame00010.jpg...) mit string-concatination Idee, genau wie matlab.
Wo "D:/NU/Junior Wissenschaftler/Datasets/egtest04/frame" ist der Pfad sting.
InformationsquelleAutor Misaki