Nach dem ich in meinem vorherigen Beitrag beschrieben habe wie ich den Drehteller für die automatisierte Bildaufzeichnung gebaut habe geht es jetzt um die Steuerung des Schrittmotors und die Kamera. Da ein kleiner Raspberry Pi 3 B+ und als Programmiersprache Python hiefür einfach ideal ist war die Umsetzung recht einfach. Die wichtigste Frage für mich war wie schnell soll der Schrittmotor anlaufen und wie viel Grad soll sich der Teller drehen bis wieder ein Bild aufgenommen wird. Aber all das werde ich nachfolgend erläutern und zeigen wie alles konfiguriert werden kann damit die Bildaufzeichnung leicht von der Hand geht.
Jetzt geht es erst einmal damit los den Raspberry Pi einzurichten und die notwendigen Pakete zu installieren. Damit ich als Anwender auch das Bild ausrichten und scharf stellen kann wird das Kamerabild live über das Netzwerk vom Raspberry Pi aus gestreamt. So kann ich mit einem beliebigen Browser das Bild kontrollieren bevor ich den automatisierten Aufnahmeprozess starte. Leider habe ich noch keine Web-Oberfläche entworfen um die Aufnahme der Bilderserie zu starten. Aber diese Optimierung wird dann zu einem späteren Zeitpunkt noch von mir umgesetzt werden.
Raspberry Pi aufsetzen und live Video stream einrichten
Ich empfehle die Verwendung einer 32GB großen mirco SD-Karte die so schnell sein sollte wie möglich was die Schreibegeschwindigkeit angeht. Denn so kann der gesamte Prozess beschleunigt werden wenn die Bilder mit ihren ca. 4MB pro Bild schnell auf die SD-Karte geschrieben werden können.
Als Image habe ich ein schon etwas betagte Image gewählt da hier die meisten Bibliotheken unterstützen werden und vor allem ich meine seit Jahren gewohnte Python-Bibliothek nutzen kann um auf die Kamera zugreifen zu können. Daher wird jetzt erst einmal das Image herunter geladen.
Download Image: 2021-05-07-raspios-buster-armhf.zip
Jetzt muss das Image z. B. oder auf die micro SD-Karte geschrieben werden. Anschließend bitte den Raspberry Pi neustarten und die Grundkonfiguration vornehmen entsprechend der Menüführung am Bildschirm. Wichtig ist das der Zugriff via SSH erlaubt wird. Denn so kann man später die Bilder vom Raspberry Pi herunter laden z. B. mit einem Programm wie WIN-SCP von Windows aus. Die SSH Verbindung aktiviert man wie im folgenden Screenshot gezeigt im Terminal Fenster direkt am Raspberry Pi. Mit dem folgenden Befehl wird das Konfigurationsmenü gestartet.
Befehl: sudo raspi-config
Dann in den 3. Eintrag des Menüs mit den Namen “Interface Options” wechseln. Dann den Eintrag zu SSH auswählen. Im Terminal Fesnter sollte jetzt folgendes zu sehen sein und bitte hier den Punkt SSH aktivieren.
Nach dem das alles soweit abgeschlossen ist bitte das folgende Script herunter laden und ausführen. Dieses Script install_cam.sh installiert alle weiteren Komponenten die noch benötigt werden für den live Stream wie den mjpg-streamer.
Download Script: install_cam.zip
Nach dem das Script erfolgreich ausgeführt wurde und die gesamte Software installiert wurde ist jetzt das live Video über die folgende URL abrufbar.
Live video stream: <IP-Adresse des Raspberry Pi>:8080
Wichtig ist der live Video Stream damit die Kamera immer passend zu dem Objekt eingestellt werden soll. Denn so ist es möglich die Schärfe einzustellen sowie die Belichtung je nach verwendeten Objektiv.
Python Programm für die Bildaufnahme einrichten
Das Python Programm das den Drehteller dreht und dann immer ein Bild aufnimmt ist recht einfach gestrickt. Hier geht ein großes Dankeschön an https://www.heimkino-praxis.de/leinwand-maskierung-schrittmotor-steuerung/ für das tolle Beispielprogramm das ich hier weiter verwendet habe um meinen Drehteller drehen zu lassen. Das heißt jetzt einfach einmal das Python Programm herunter laden für die Steuerung des Aufnahmeprozesses.
und seine Web-SeiteDownload: photogrammetry recorder python program.zip
Das Programm bitte auf dem Raspberry Pi z. B. in das home Verzeichnis des Users pi ablegen und hier in einen Unterordner scripte. Also z. B. in den folgenden Pfad /home/pi/scripte. Dann bitte einen Ordner workspace anlegen in dem die Bilder abgelegt werden die aufgezeichnet wurden. Der Pfad für die Bilder setzt sich aus dem Namen des Objektes zusammen das auf dem Drehteller steht. Dazu muss in dem kleinen Python Programm der Objektname von Hand hinterlegt werden. Das ist nicht optimal und sollte später komfortabler bei der Web-Oberfläche eingegeben werden können. Wichtig ist der Name um die Bilderserien auseinander halten zu können. Denn manchmal wird man ein Objekt von Oben aufnehmen und dann aber auch von Unten um eine vollständige Ansicht zu erhalten. Das sollte sich dann im Namen der Bilder bzw. dem Ordner für die Bilder wiederspiegeln.
Hier einmal die Stelle im Programmcode wo der Name des Objektes das sich auf dem Drehteller befindet hinterlegt wird.
Jetzt einfach mal das Python Programm mit dem folgenden Befehl über die Konsole starten. Wichtig dabei ist innerhalb der Konsole in den richtigen Ordner zu wechseln in dem das Python Programm abgelegt wurde.
Befehl: python photogrammetry_recorder.py
Die Aufnahme sollte starten, der Drehteller sich drehen und die Kamera Bilder aufzeichnen. Im Order workspace und hier im gewählten Unterordner sollten jetzt die Bilder liegen die wir in einem weiteren Schritt in der Photogrammetrie-Software einlesen werden.
Zusammenfassung
Wenn der live Stream der Kamera klappt und sich der Drehteller dreht dann sollte auch die Aufnahme der Bilder funktionieren. So hat man sich mit wenig Aufwand eine tolle automatisierte Lösung gebaut mit der jetzt ohne viel Aufwand viele Bilder von einem Objekt aufgenommen werden können. Für eine gute Rekonstruktion eines Objektes in einer Photogrammetrie-Software benötigt man einmal viele gut beleuchtete Bilder aus unterschiedlichen Winkeln auf das Objekt. Die Beleuchtung ist auch noch so eine Sache und da werde ich in einem weiteren Beitrag darauf eingehen. Mit diesem Projekt habe ich wieder sehr viel gelernt und viel Freude dabei gehabt das Setup soweit zu entwickeln das es wirklich eine Hilfe ist bei der Bildaufzeichnung.
Photogrammetrie Beitragsserie:
Die nachfolgenden Artikel beschreiben den Bau einer eigenen Photogrammmetrie-Lösung.
Photogrammetrie – Bau eines automatisierten Drehtellers für die BildaufzeichnungPhotogrammetrie – Programmierung des automatisierten Drehtellers für die Bildaufzeichnung
Recent Comments