Videoauswertung für Arme

Viele von Euch haben sicherlich auch bereits babbas tolles Katzenabschussgerät bewundert:

Da möglicherweise nicht jeder 800 Euro für eine edle Mobotix übrig hat, hier meine Sparversion:

Man nehme eine " Megapixel" USB-Webcam für 4,29 Euro inkl. Porto direkt aus China. eBay#270608469281 Diese Dinger sind natürlich für Videoaufzeichnungen nicht zu gebrauchen und haben auch nur VGA-Auflösung. Aber dank der 6 IR-LED, kann man damit im dunklen Keller Geräte überwachen. Nicht so spektakulär wie bei babba, aber trotzdem nützlich.

Meine Kamera zeigt auf das Bedienfeld eines Luftentfeuchters. Mit dem kostenlosen Tool ‚Timershot‘ aus den Powertoys von Microsoft wird alle 15 Minuten ein JPG auf dem IPS-Server abgelegt und von folgendem IPS-Script auswertet:

$imagePath = 'Entfeuchter.jpg';
$img = imagecreatefromjpeg($imagePath);
if ($img !== false) {
   $imgSize = GetImageSize($imagePath);
   $imgWidth = $imgSize[0];
	$imgHeight = $imgSize[1];
	for ($l = 0; $l < $imgHeight; $l++) {
		for ($c = 0; $c < $imgWidth; $c++) {
			$colorindex = imagecolorat($img,$c,$l);
			$red = ($colorindex & 0xFF0000) >> 16;
			$green = ($colorindex & 0x00FF00) >> 8;
			if (($red > 250) & ($green < 200)){
				echo "Farbe gefunden: ".$c." ".$l."
<br>";
				return;
			}
		}
	}
}
else {
	echo 'An error occurred.';
}

Wie man leicht erkennen kann, untersucht das Script jeden Pixel der Grafik. Wird ein Rotton gefunden, leuchtet offensichtlich die Hinweis-LED für den vollen Kondensatbehälter.

Das Script ist grottenlangsam (>1.100 ms), vielleicht hat ja jemand eine zündende Idee wie man den Vorgang beschleunigen könnte.

Entfeuchter.jpg

Entfeuchter_red.jpg

Durchsuche nur den Bereich, wo der Rotton auftreten kann und nicht das ganze Image.

Erwin

Danke Erwin, die Idee hatte ich auch schon.
Der Nachteil wäre, dass dann die Position des Entfeuchters noch genauer eingehalten werden müsste.

Das Script verwendet eigentlich nur eine einzige Funktion: imagecolorat
Möglicherweise ist es schneller, das Foto in ein farbreduziertes Format umzuwandeln und dann lediglich die Pallette zu durchsuchen.

Interessant. Dein IPS Server steht vermutlich im Keller?
Gibt es die Kamera auch mit LAN?

Gruß, Andreas

Ja.

Nicht für 4,29. bzw. noch nicht.
Bei dem Preisverfall für Elektronikkram ist das aber nur eine Frage der Zeit. Ansonsten hilft ein USB-LAN-Extender. Direkt aus China gibts den für 6,95 Euro. eBay#140412802128

Sehr günstig kann man sich auch direkt Kameras mit integriertem Webserver holen. Die haben zum Teil aber schon sehr guten Bewegungserkennung an Bord - die dann auch einen Alarm auslösen können, entweder per Mail, Sms, oder anderweitig per Script.
Höherwertige billig Cams haben auch direkte Relais bzw. Dig Ein+Ausgänge.

Die einfachen gibts ab etwa 60USD inkl. Shipping + Zoll/Mwst (1,5 + 19%)
Die etwas besseren kosten ab etwa 90USD aufwärts.

Ich experimentiere grad mit so einem China Kameraserver der aus 2 analogen, 2 IP-Kameras macht, ist ein Gerät hat sogar mehrere Ein+Ausgänge u.a,. für Bewegungsmelder.
In Duetschland gibt es sowas auch bezahlbar vom Hersteller Grandstream, das Teil macht aus einer Analogen eine IP-Kamera, sogar mit Ton, auch das Teil hat einen Alarmausgang kostet etwa 130EUR (das Chinateil auch)
Beide Geräte können pro Kanal mit 25fps und voller D1 Auflösung punkten…
Wer will kann auch den RS485 Bus anderweitig verwenden (wird da z.B. für PTZ-Steuerrung verwendet)