Ich muss ein Verzeichnis festlegen und dann alle Dateinamen der Dateien im Inneren lesen und den gesamten Pfad in einer Variablen speichern. Ich muss diese Variable später verwenden, um die Datei zu öffnen und zu lesen. Ich möchte nicht QDir
dafür verwenden. Ich sah die zweite Antwort auf die Frage here. Ich kann boost/filesystem.hpp
verwenden (ich glaube, dass dies nicht separat heruntergeladen werden muss). Aber das Problem ist, die Ausführung wird wie folgt aussehen:Das os.path-Äquivalent in C++ ohne Qt?
$ g++ -o test test.cpp -lboost_filesystem -lboost_system
$ ./test
Meine erste Linie, für die Erstellung von ausführbarem Objekt ist bereits kompliziert aufgrund OpenCV-Bibliotheken und ich will nicht, um es hinzuzufügen. Ich möchte, dass sie einfach halten (die folgende Zeile und was auch immer OpenCV will):
g++ -o test test.cpp
Gibt es eine Möglichkeit, es zu tun?
Dies ist der Python-Code für die ich mag C++ Code schreiben:
root_dir = 'abc'
img_dir = os.path.join(root_dir,'subimages')
img_files = os.listdir(img_dir)
for files in img_files:
img_name = os.path.join (img_dir,files)
img = cv2.imread(img_name)
Vermeiden Sie in Erwägung ziehen könnte 'test' die ausführbare Datei. Es ist ein Standard-POSIX-Programm '/ bin/test' oder eine eingebaute Shell. Rufen Sie Ihre Testbinär 'Mytest' –
Warum nicht einfach cv :: glob verwenden? – Miki
@BasileStarynkevitch Ich habe 'test' von der anderen Frage kopiert, in den Link. Ich habe es einfach weiter für den Rest der Frage benutzt. –