Aus Raspberry Pi Geek 10/2021

Tabletop-Serienaufnahmen mit der Webcam und dem RasPi (Seite 2)

Tabletop-Fotografie

Ein Tisch, etwas Hintergrundpapier, LED-Beleuchtung, ein paar Klemmen und ein Stativ genügen dem Hobbyisten als improvisiertes Tabletop-Studio. Eine Szene mit interessanten Objekten und ungewöhnlichen Positionen kann zu attraktiven Bildern führen. Tabletop spielt eine bedeutende Rolle in der Produktfotografie und Werbung. Der Amateurfotograf setzt das Medium für Sammlungsobjekte oder bei Verkäufen über Online-Portale ein.

Von Makrofotografie spricht man bei Bildmaßstäben größer als eins zu eins. In anderen Worten: Ein Objekt wird auf dem Sensor größer als im Original abgebildet. Die Definition stammt noch aus der analogen Zeit. Mit kleineren Bildmaßstäben begibt man sich in den Nahbereich; passt alles noch auf den Tisch, handelt es sich um Tabletop.

Egal ob man Balgenauszüge, Makrolinsen oder Zwischenringe einsetzt – der Bereich der Scharfabbildung eines Fotos im Nahbereich ist begrenzt. Fotografen nutzen daher die Technik des Focus Bracketing und rechnen aus einer Serienaufnahme mit unterschiedlichen Tiefenschärfebereichen ein Bild zusammen. Dieses sogenannte Stacking integrieren moderne DSLR-Kameras bereits in der Firmware.

Auch bei Smartphones kennt man das Dynamic Depth Format für sogenannte 3D-Fotos, wie sie bei Instagram und Co. populär sind. Die Technik ermöglicht es, mit Smartphones Bilder zu erstellen, bei denen etwa der Hintergrund eines Porträts unscharf erscheint, ähnlich wie DSLR-Kameras mit Festbrennweitenobjektiv bei Offenblende die Person abbilden. Die mit einer Webcam aufgenommene Fotoserie schickt man zur Nachbearbeitung in eine Stacking-Software wie etwa Macrofusion [8].

Für die Aufnahmen setzt unser Aufbau zusätzlich auf eine variable Kamerapositionierung. Die Kamera ist auf einem Linearantrieb montiert und fährt, getrieben von einem Schrittmotor, programmgesteuert verschiedene Positionen an (Abbildung 1). Das ermöglicht beispielsweise Video- und Serienaufnahmen, Lentikularbilder sowie Stereoaufnahmen.

Abbildung 1: Die Logitech Brio auf einer Linearführung. Die Steuerung des Motors übernimmt der Raspberry Pi.

Abbildung 1: Die Logitech Brio auf einer Linearführung. Die Steuerung des Motors übernimmt der Raspberry Pi.

Verdeckungen in den Miniaturszenen kann man durch minimale Kamerabewegungen kontrollieren. Eine typische, mit der Pinzette aufgebaute Szene der Miniaturfotografie mit Modellfiguren im Maßstab 1:87 zeigt Abbildung 2. Die Kamera kann zum Auffinden der günstigsten Position am Set vorbeifahren. In der Software ist das eine Schleife mehr, der RasPi bietet sich als Hardware geradezu für diese Aufgabe an.

Abbildung 2: Eine mit unserem Aufbau aufgenommene Miniaturszene mit kleinen Figuren im Maßstab 1:87.

Abbildung 2: Eine mit unserem Aufbau aufgenommene Miniaturszene mit kleinen Figuren im Maßstab 1:87.

Serienaufnahmen

Programme wie Guvcview eignen sich als Testwerkzeug, können aber keine speziellen Prozesse steuern. Es muss also eine eigene Software mit grafischer Oberfläche her. Erste Wahl bei der Programmiersprache ist das objektorientierte Python 3, für das es zahlreiche praktische Bibliotheken gibt, um grafische Oberflächen zu gestalten. GUIZero dient uns dabei als einfach zu handhabende Bibliothek. Die Steuerung des Schrittmotors übernimmt das Python-Modul Rpi.GPIO, OpenCV erledigt das Erfassen und Speichern der Bilder.

Die selbst erstellte grafische Oberfläche der Software liegt in der Datei usbCamMover.py. Sie besteht aus zwei Panels, eines für Belichtungseinstellungen und eines für die Kameraeinstellungen inklusive Zoom und Fokusbereich (Abbildung 3). Wir gehen hier auf die Programmierung nicht näher ein; die mit heißer Nadel gestrickte Software finden Sie im Download-Bereich zu diesem Artikel.

Abbildung 3: Die grafische Oberfläche der selbst gestrickten Kamerasteuerung. Das Programm finden Sie im Download-Bereich zu diesem Artikel.

Abbildung 3: Die grafische Oberfläche der selbst gestrickten Kamerasteuerung. Das Programm finden Sie im Download-Bereich zu diesem Artikel.

Kamerasteuerung

Die Camera Controls nehmen Einfluss auf die Bildgeometrie. Das Sichtfeld (FoV) wird über den Zoomfaktor eingeschränkt. Die Anzahl der nötigen Aufnahmen hängt vom Fokusbereich und dessen Schrittweite ab. Die Steuerung der horizontalen Kameraposition erfolgt über die Entfernung der Kamera zum Objekt. Eine Liste mit Faktoren für den Verfahrweg ist in das Programm eingebettet.

Der akzeptierte Zoomfaktor liegt bei der Brio zwischen 100 und 500 bei einer vorgegebenen Schrittweite von 1. Bei der 4K-Auflösung, also 3840 x 2160 Pixel, lässt sich ein horizontales Sichtfeld zwischen 78 und 43 Grad erzielen. Allerdings haben Zoomfaktoren größer 200 bei der UHD-Auflösung keine Auswirkung mehr.

Die UHD-Auflösung der Logitech Brio bekommt man nur beim Pixelformat MJPEG angeboten. Dazu passen die Codezeilen aus Listing 3 die Initialisierung über die Variablen width und height an die angeschlossene Kamera an.

Listing 3

Initialisierung in usbCamMover.py

[...]
cam0.set(6, cv2.VideoWriter_fourcc('M', 'J', 'P', 'G')) # setting MJPG codec
#width    =  1920 # HD
#height   =  1080 # HD
width     =  3840 # UHD (Brio, USB3)
height    =  2160 # UHD (Brio, USB3)
cam0.set(3,width)
cam0.set(4,height
[...]

Anders verhält es sich mit dem Zoomfaktor in der Full-HD-Auflösung (1920 x 1080 Pixel). Mit Faktoren bis 200 verändert sich das FoV in demselben Maß wie bei der höheren Auflösung. Geht man aber darüber hinaus, kann das den Winkel um bis zu 18 Grad (Zoomfaktor 500) einschränken. Abbildung 4 vergleicht die Bildausschnitte bei 4K-Auflösung.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 6 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben