Praxis
Raspberry Pi - GIF-Kamera
Das Raspberry-Pi-Projekt liefert zwar nur eine Spaßfunktion: Doch da die Raspi-Kamera ohnehin nicht in Konkurrenz zu "seriösen" SLRs steht, darf man ungehemmt in bunten Animationen schwelgen.
Bauteile:
- Der aktuelle Mini-Computer „Raspberry Pi 3 Model b“: um 40 Euro
- Kameramodul v2, um 30 Euro
- Gehäuse: ab 10 Euro
- Speicherkarte des Typs "Micro SD": um 7 Euro
- Akkupack zur mobilen Stromversorgung: um 25 Euro
- Einige Drähte
- 1 Taster, der den Schaltkreis schließt. Es kann ein Klingelknopf, ein Kippschalter oder jeder Taster verwendet werden, der einen Stromkreis schließt.
- 1 Widerstand mit zehn Kiloohm
Die Teile werden gemäß Anleitung in FOTO HITS 1-2/2017 zusammenfügt und verschaltet. In zirka einer halben Stunde ist die Kamera bereits betriebsbereit. Nachfolgend ist der Code zu finden, mit dem sie GIF-Animationen schießt. Dieser lässt sich mühelos ändern, um das Ergebnis zusätzlich mit Effekten aufzupeppen.
Eine professionell aussehende Kameraversion beschreibt ein Artikel in FOTO HITS 4/2017. Sie wartet mit einem Spezialgehäuse, blinkendem Auslöser und mehr auf. Deren Betriebssystem lässt sich wie in FOTO HITS 5/2017 beschrieben installieren. Nachfolgend findet man eine vereinfachte Fassung für die Basisausstattung aus Raspberry Pi, der Kamera "V2" und dem selbst gebasteltem Auslöser. Download des Codes: gif_simple.py per Rechtsklick und "Speichern unter".
#!/usr/bin/env python import picamera from time import sleep import time import RPi.GPIO as GPIO from os import system import os import random, string GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) ######################## ### Variables Config ### ######################## num_pics = 8 #Number of pictures to take in Gif gif_delay = 15 #How much delay in between those pictures (in milliseconds) camera = picamera.PiCamera() camera.resolution = (540, 405) camera.rotation = 90 camera.brightness = 70 camera.image_effect = 'none' print('System Ready') def random_generator(size=10, chars=string.ascii_uppercase + string.digits): return ''.join(random.choice(chars) for x in range(size)) randomstring = random_generator() print('Gif Started') for i in range(num_pics): camera.capture('__image4gif{0:04d}.jpg'.format(i)) filename = './gifs/' + randomstring + '-0' print('Processing') graphicsmagick = "gm convert -delay " + str(gif_delay) + " " + "__image4gif*.jpg " + filename + ".gif" os.system(graphicsmagick) os.system('rm __image4gif*.jpg') print('Done') print('System Ready')
Bildeffekte einfügen
Das Skript lässt sich so anpassen, dass die Bildergebnisse sogleich mit Farbeffekten versehen werden. Beispielsweise bewirkt die Zeile
camera.color_effects = '128,128'
dass ein Schwarz-Weiß-Bild entsteht. Noch einfacher machen es einem die vorgegebenen Filter, von denen 21 bereitstehen. Statt
camera.image_effect = 'none'
kann man 'negative', 'solarize', 'oilpaint', 'cartoon' und weitere einsetzen. Diese lassen sich mit
image_effect_params =
weiter verfeinern. Die möglichen Parameter erläutert etwa die Website picamera.readthedocs.io (im unteren Viertel der Seite).