Aus Raspberry Pi Geek 10/2021

Tabletop-Serienaufnahmen mit der Webcam und dem RasPi

© Günter Pomaska / Computec Media GmbH

RasPi-Fotostudio

Günter Pomaska

Makrofotografie bildet kleine Details groß auf einem Foto ab. Der RasPi übernimmt dabei das Steuern der Kamera.

Als Tabletop-Fotografie bezeichnet man die Aufnahme von Objekten auf einer Tischplatte. Fotografen nutzen diese Technik oft für die Aufnahme von Produktfotos, etwa für Werbekampagnen oder Abbildungen in Zeitschriften. Schon eine Digitalkamera oder ein Smartphone eignen sich für diese Aufgabe. Es gibt aber auch gute Gründe, sich mit USB- beziehungsweise Webcams zu befassen. Mit einer 4K-USB-Cam mit einem Fokusabstand ab 3 Zentimeter und integrierter Zoomfunktion sowie einem Raspberry Pi mit USB-3.0-Anschlüssen ist der Tabletop-Fotograf bestens ausgestattet.

Die RasPi-Kameras

Derzeit unterstützt die Raspberry Pi Foundation offiziell das Kameramodul V2 (auch in der NoIR-Variante erhältlich) und die Pi-HQ-Kamera. Das V2-Modul ist seit 2016 der Nachfolger des Moduls V1, das auf einem Omnivision-5647-Sensor mit einer Auflösung von 5 Megapixel basierte. In der V2-Kamera versieht dagegen ein Sensor des Typs Sony IMX219 mit 8 Megapixeln seinen Dienst [1]. Im Unterschied zum regulären Modul fehlt der NoIR-Kamera der Infrarot-Filter, bei sonst gleicher Ausstattung [2].

Die Kameras besitzen einen Fixfokus ab etwa 70 Zentimeter Objektentfernung bei fester Brennweite. Mit dem Rechner verbindet man sie mittels Flachbandkabel über die CSI-Schnittstelle. Über die MMAL- und V4L-APIs erfolgt dann der Zugriff. Sie können die Kameras unmittelbar mit Konsolenkommandos bedienen und haben mit PiCamera [3] eine umfangreiche Python-Bibliothek für die Kamerasteuerung zur Verfügung.

Die Pi HQ Cam [4] ermöglicht über Adapter die Aufnahme von C- beziehungsweise CS-Mount-Objektiven. Als Sensor nutzt sie einen 12-Megapixel-Chip des Typs Sony IMX477R. Die Sensordiagonale beträgt 7,9 Millimeter bei einer Auflösung von 4056 x 3040 Bildpunkten. Das 6-Millimeter-Objektiv deckt den Nahbereich durch die kurze Fokusentfernung gut ab. Nachteilig wirkt sich jedoch die manuelle Fokussierung und Blendeneinstellung aus.

Sowohl für die V2-Module als auch für die Pi HQ Cam steht ein umfangreiches Repertoire an Objektiven von Makro bis Tele zur Verfügung. Darüber hinaus bieten die RasPi-Kameras Lösungen für ein weites Feld von Videoapplikationen an. Wir sehen uns im Folgenden aber an, was mit den USB-Cams auf dem Gebiet der Standbilder möglich ist. Dabei gilt ein besonderes Augenmerk der Miniaturfotografie.

Webcams und USB-Kameras

Moderne Webcams gehören zu den Kameras, die ihre Signale über USB auf einen Computer streamen. Das Angebot von preiswerten Einsteigermodellen bis hin zu qualitativ hochwertigen Kameras für die industrielle Bildverarbeitung. Den eigentlichen Zweck erfüllen alle, aber gute Bildqualität hat ihren Preis.

Bei Experimenten des Autors haben die Microsoft LifeCam Cinema [5] sowie die C920 HD Pro [6] (Full HD) und die Brio [7] (4K) von Logitech gute Ergebnisse gezeigt. Die Brio eignet sich mit ihrer hohen Auflösung perfekt für die vorgesehene Anwendung und kommt daher im Folgenden zum Einsatz. Es eignen sich aber sicher auch andere Produkte für die Makrofotografie. Zwingende Voraussetzungen sind jedoch die Abschaltung des Autofokus, eine kurze Fokusdistanz im Zentimeterbereich, die Möglichkeit des Zoomens und das Einhalten des UVC-Standards.

Bei USB Video Class (UVC) handelt es sich um eine Spezifikation für Geräte, die Videodaten über USB streamen. Webcams erfüllen in der Regel diese Anforderung und benötigen für den Betrieb am Computer keinen speziellen Treiber. Stattdessen bedient ein einheitlicher UVC-Treiber die Geräte der verschiedenen Hersteller.

Video for Linux (V4L) oder in der zweiten Version V4L2 ist eine Sammlung von Gerätetreibern und Programmierschnittstellen, die bereits in das Betriebssystem des Raspberry Pi integriert ist und auch von OpenCV unterstützt wird. Über die Kommandozeile steuern Sie UVC-Geräte mit dem Befehl v4l2-ctl. Der Befehl aus Listing 1 zeigt, welche Gerätedatei für welches Gerät zuständig ist. Bei der Logitech Brio aus dem Beispiel handelt es sich um das Gerät /dev/video0.

Listing 1

Geräte identifizieren

$ v4l2-ctl --list-devices
HD Pro Webcam C920 (usb-3f980000.usb-1.2):
        /dev/video0

Mit der Option --list-ctrls erweitert, gibt v4l2-ctl dann Informationen über die einstellbaren Controls aus (Listing 2). Diese Daten benötigen Sie für die eigene Anwendungssoftware. Die Ausgabe zeigt die Wertebereiche und die Voreinstellungen für Kamera und Belichtung.

Listing 2

Controls auslesen

$ v4l2-ctl -d /dev/video0 --list-ctrls
brightness 0x00980900 (int) : min=0 max=255 step=1 default=128 value=128
contrast 0x00980901 (int) : min=0 max=255 step=1 default=128 value=128
saturation 0x00980902 (int) : min=0 max=255 step=1 default=128 value=128
[...]
zoom_absolute 0x009a090d (int) : min=100 max=500 step=1 default=100 value=500
led1_mode 0x0a046d05 (menu) : min=0 max=3 default=0 value=3
led1_frequency 0x0a046d06 (int) : min=0 max=255 step=1 default=0 value=0

Mit den Tools Gv4l2 und Guvcview, die Sie bei Bedarf über die Paketverwaltung nachinstallieren, stehen grafische Oberflächen bereit, die hilfreiche Dienste beim Feintuning der gewünschten Kameraeinstellungen leisten.

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