Anleitung zum Bau und Betrieb einer Webcam

 

Bilder machen, bearbeiten und speichern


zurück     

Zuerst nehmen wir ein beliebiges Bild auf, mit dem wir ausgiebig spielen können

raspistill -t 5 -o ~/pic/testbild.jpg
Mit dem Dateiexplorer suchen wir das Bild und sehen uns die Sache genauer an
 
Im Directory pic findet sich jetzt die Datei testbild.jpg (durch Klick auf den Dateinamen kann man sie ansehen)
 
Für meinen Geschmack hat sie einen entscheidenden Nachteil - sie ist über 2MB gross.
Das kommt unter anderem daher, weil die Kamera in ihrer Maximalauflösung von 2592 x 1944 Pixel aufgenommem hat, was man eigentlich nie benötigt.
 
Ich bin gerne sparsam, besonders wenn es um Daten geht. Bei Bildern beeinflusst die Dateigrösse massgeblich die Dauer eines Up- oder Downloads, deshalb halte ich sie immer so gering wie möglich.
 
Versuchen wir doch einmal folgendes:
raspistill -t 5 -w 640 -h 480 -o ~/pic/testbild1.jpg
und siehe da, die Bildgrösse und damit die Datenmenge ist auf unter 200kB geschrumpft, grob 1/10 des ursprünglichen Werts!
 
Leider hat damit auch die Bilsauflösung sehr gelitten.
Es gibt aber einen Mittelweg: Wir machen ein grosses Bild, speichern aber nur den Bildausschnitt, den wir brauchen.
Dazu holen wir uns imagemagick zu Hilfe
sudo apt-get install imagemagick
und nun basteln wir uns unser erstes Script
cd script
joe camtest.scr
im Editor geben wir dann ein
raspistill -t 5 -o ~/pic/testbild2.jpg
convert /home/pi/pic/testbild2.jpg -crop '640x380+0+100' /home/pi/pic/testbild3.jpg
Das speichern wir mit CTRL-kx. jetzt muss da Script noch ausführbar gemacht werden:
sudo chmod +x camtest.scr
dann rufen wir es auf
./camtest.scr
Wenn alles gut geht ist jetzt folgendes passiert: Wir haben ein Bild in voller Grösse aufgenommen (testbild2.jpg).
Convert (ein Teil von imagemagick) hat dann einen Teil davon ausgeschnitten, und zwar 640 x 380 Pixel, begonnen 0 Pixel vom linken und 100 Pixel vom oberen Bildrand entfernt.
Diesen Teil hat convert dann als testbild3.jpg abgespeichert.
Natürlich müsst Ihr den Ausschitt später auf Euer endgültiges Bild anpassen.
 
Wir basteln weiter:
cp camtest.scr camtest1.scr
joe camtest1.scr
Diesmal sieht der Inhalt so aus:
raspistill -t 5 -w 640 -h 480 -br 65 -co 20 -ex auto -o ~/pic/testbild4.jpg
cp ~/pic/testbild4.jpg ~/pic/$(date +%Y-%m-%d-%H-%M).jpg
Was haben wir gemacht? Das Bild wurde im Format 640 x 480 aufgenommen, die Helligkeit auf 65 (statt Default 50) und der Kontrast auf 20 (statt Default 0) gesetzt.
Dann wurde die Datei testbild4.jpg auf eine Datei kopiert, die als Name das Datum (plus .jpg) trägt.
 
Aber da geht noch mehr, wir quetschen noch eine Zeile hinein:
raspistill -t 5 -w 640 -h 480 -br 65 -co 20 -ex auto -o ~/pic/testbild4.jpg
convert /home/pi/pic/testbild4.jpg -pointsize 24 -fill red -gravity northeast -annotate +5+5 "$(date "+%H:%M -  %d.%m.%Y")" "/home/pi/pic/testbild4.jpg"
cp ~/pic/testbild4.jpg ~/pic/$(date +%Y-%m-%d-%H-%M).jpg
Ein Aufruf der Datei zeigt, was passiert ist.
Mit den Parametern -br, -co, aber auch -sa, -sh oder -ex sollte man je nach den eigenen Gegebenheiten am Aufnahmeort etwas experimentieren.
 
Eine Dokumentation aller raspistill-Parameter findet Ihr hier,
oder eingeschränkt auch hier die imagemagick-Parameter liegen hier.

zurück