kleine Spielerei mit Raspberry Pi und USB-Webcam
Hier gab es die Hilfestellung dazu
Das hat nun ein paar Tage gedauert – die heimische Elektronikwerkstatt war in einem derart desolaten Zustand das erst mal eine Shoppingtour bei diversen Onlineanbietern erforderlich war. Die Plastikbox voll Widerstände die uns der Vorbesitzer unseres Hauses überlassen hatte umfasst Werte die man wahrscheinlich nie im Leben braucht, das gute alte VC98 ist gerade mal knapp über 20 Jahre und lässt sich nicht mit einer frischen Batterie wieder zum Leben erwecken. Einzig der Ersa 30 – Lötkolben hat den Dornröschenschlaf prima überstanden.
Der Umgang mit dem Lötkolben funktioniert noch immer, das Adafruit LCD-Shield kommt als Bausatz daher und funktioniert nach dem Löten auf Anhieb – wobei die Sache mit der Lesebrille in Kürze wohl angegangen werden muss.
Das erste Bastelprojekt soll eine Platine sein an der ein paar Taster und LED’s mit den zugehörigen Widerständen verdrahtet sind, die fliegende Verkabelung ist mir zu fummelig.Da da noch eine weitere Box mit diversen Platinen im Keller lag ging es frisch ans Werk und nach einigen Stunden und eifriger Fehlersuche war das Ding fertig und funktionierte zumindest mit dem Multimeter bzw. dem Netzteil ganz prima.
Mit Arduino war aber ein Taster nicht zu einer Funktion zu überreden, es hat dann einige Stunden gedauert bis ich dahinter gekommen bin das die Pins 0 und 1 gleichzeitig die serielle Schnittstelle sind.
Bis jetzt hat alles prima funktioniert – Bestellen eines Arduino Uno, einem Ethernet Shield und einem Bausatz mit LED-Display bei www.exp-tech.de.
Montag Abend bestellt, Donnerstag in der Packstation, Auspacken und Linus hatte sofort Spaß mit dem Karton.
Ran an den Rechner, die IDE hatte ich in der Zwischenzeit bereits installiert. Das Ding dran gestöpselt und sofort loslegen aber direkt ein herber Rückschlag – arduino.cc hat ausgerechnet heute eine geplante Auszeit 🙁
Also bleibt es wohl für heute Abend erst mal nur mit dem Blinkbeispiel aus Wikipedia.
Was heutzutage aus einer Digitalkamera rauskommt passt selbst bei stetig steigender Monitorgrößen nicht aufs’s Bild, eine Auflösung von 800×600 oder 1024×768 reicht für eine Webgallerie üblicherweise aus, ein netter Nebeneffekt dabei ist, das es kleineren Bildern seltener vorkommt das undankbare Zeitgenossen das Bild für eigene Zwecke weiterverwenden. Das JPG-Bildfomat ist ja bekanntermassen verlustbehaftet, eine Qualitätseinstellung so um die 80% ist ein guter Kompromiss zwischen Dateigröße und noch ansehlicher Qualität.
„convert“ aus dem Imagemagick-Paket kennt etliche Variationen die Größe zu ändern, hier ein paar einfache:
Erzeuge ein kleines Bild mit einer horizontalen Auflösung von 1024 Pixel, das Seitenverhältnis wird beibehalten, die JPG-Kompression wird auf 80% eingestellt:
convert bild.jpg -resize 1024 -quality 80 kleinesbild.jpg
Mit „-resize x768“ wird die vertikale Auflösung angegeben, „-resize 50%“ verkleinert auf die Hälfter der Originalgröße.
Bevor man nun den bereits erklärten Befehl für’s Wasserzeichen auf den ganzen Rutsch Urlaubsfotos loslässt, sollte man sich noch kurz Gedanken um die Ausrichtung des Bildes machen. Jede Kamera hat mittlerweile einen Gravitätssensor der mitbekommt ob das Hochformat verwendet wurde und das wird in den EXIF-Informationen gespeichert. Bildbearbeitungsprogramme greifen diese Information auf und sorgen in der Regel dafür das man das Bild meist im richtigen Fomat dargestellt wird. Auch Imagemagick kann damit umgehen und das Bild richtig drehen, das sollte man tun bevor man den bereits bekannte Befehl für’s Wasserzeichen draufloslässt, das Logo landet dann nämlich irgendwo. Der Befehl dazu lautet „-auto-orient“ und kann auch in Verbindung mit anderen Operationen mit angegeben werden.
Das in den EXIF-Informationen die Zeit der Aufnahme gespeichert wird ist an sich eine gute Sache, spätestens beim Zusammenführen von Bildern unterschiedlicher Kameras kommt schnell Frust auf weil die Uhrzeiten der Kameras selten synchron sind. Spätestens die Sommer- und Winterzeitumstellung bringt eine Sortierung dann völlig durcheinander.
Entweder man bringt sämtliche Fotografen vor dem gemeinsamen Event dazu die Zeit einheitlich einzustellen oder man korrigiert die Zeit mit dem bereits bekannten Tool „exiv2“:
Beispiel, Korrektur um 57 Minuten und 4 Sekunden:
exiv2 ad -a +00:57:04 bild.jpg
Natürlich geht es auch zurück ( -a -hh:mm:ss ) oder in grösseren Schritten ( -Y Jahre, -M Monate, -D Tage) und in einem Rutsch für alle Bilder in einem Verzeichnis, anstelle des Dateinamens können Platzhalter ( „*.jpg“) verwendet werden.
exiv2 gibt es nicht nur für Linux, auf der Webseite des Projektes ist auch eine Version für Windows zu finden.
Für ganz Pingelige: Alle Fotografen dazu bringen eine bestimmte Uhr mit Sekundenanzeige zu knipsen, anhand dieses Bildes kann dann der exate Offset ermittelt werden.
Bei 100 Bildern macht es keinen Spass das bei jedem Bild einzeln einzufügen, hierfür gibt es die sehr mächtigen Tools von „Image Magick“, für diesen Fall ist „composite“ das Tool der Wahl:
for bild in *.JPG;do composite -gravity southwest -quality 75 soeck200.png $bild ../watermarked/$bild ; done
Mit „gravity“ legt man die Postion fest, diese wird als Himmelsrichtung angegeben, „north“, „east“, „south“, „west“ und Kombinationen wie „southwest“ (links unten).
In einem Arbeitsgang kann man noch mit „quality“ die JPG-Kompression auf bandbreitenfreundliche Dateigrößen einstellen.
for bild in *.JPG; do newname=`exiv2 $bild | awk '/Zeitstempel/ {print $4$5}' | \ tr -d ':' ` ; cp $bild ./renamed/${newname}.jpg ; done
Der Suchausdruck „Zeitstempel“ ist abhängig von der Lokalisierung, wenn diese nicht auf deutsch steht steht da was anderes – einfach mal nachschauen was ein
exiv2 bild.jpg
zu sagen hat.