• Willkommen im Forum „Wetterstationsforum.info - Archiv“.
 

Neuigkeiten:

Dieses Forum dient ausschließlich zu Archivzwecken.
Für Fragen nutze bitte unser aktuelles Forum, welches du unter https://wetterstationsforum.info findest.

Hauptmenü

Laser Schneehöhen-Messer

Begonnen von joergeli, 28.08.2015, 01:57:11

⏪ vorheriges - nächstes ⏩

TheWeather

#30
Hallo Klaus,

POCR bringt einen nicht weiter, da google dazu mehr als ein Dutzend "Abbreviations" (Abkürzungen) ausspuckt, die mit Deinem späteren Hinweis nichts zu tun hatten. Der Hinweis OCR hätte (für mich) genügt. Ich bin immer wieder  :? erfreut, wenn man sich nicht zwei Sekunden mehr Zeit lassen kann, eine neue Abkürzung wenigstens kurz einzuführen, bevor man sie dann im weiteren Bericht, verwendet.

Aber gut - wenn Du Texterkennung meintest, hättest Du's ja auch schreiben können. Unsereiner sucht sich dann den Wolf unter dem Thema "Was hat uns der User auf der Gegenseite damit sagen wollen?". Auf sowas reagiere ich nur noch per direkter Nachfrage im Beitrag.

Eine Texterkennung wäre total überfrachtet für die beabsichtigte Aufgabe.

Stell Dir eine "Primitivkamera" mit 640 x 480 Pixeln Auflösung vor. Die kann man hochkant oder auch Landscape (im Breitformat) benutzen. Hochkant (mit allen notwendigen Rändern) kann mann 600 Pixel unterscheiden, breit vielleicht 440. Da das Bildformat egal ist, würde ich hochkant bevorzugen. Die Einfachkameras verfügen über Objektive mit (einer gewissen) Scharfeinstellung, nicht aber über einen optischen Zoom. Insofern muss man hier die Brennweite nehmen wie sie ist und in ca. 2 m Abstand (alles ca.-Maße) kann man eine Stange von ca. 1 m Länge vollständig im Hochformat "scharf genug" abbilden.

1000 mm auf 600 Pixeln abgebildet ergeben knapp 1,5 mm pro Pixel, wenn's einer braucht. Gehe ich auf "übliche", seit Jahrzehnten bei uns nicht mehr aufgetretene Schneehöhen von vielleicht max. 200 mm zurück, beträgt die Auflösung gar 0,3 mm und die Kamera müsste nur knapp 0,5 m vor dem Schneefeld stehen. Für andere Fälle gibt's auch Kameras kaum teurer mit 1200 Pixel im Hochformat, womit knapp 1 mm (optische) Auflösung auch bei 1 m Schneehöhe hinzubekommen wären.

Nun zum Thema OCR (Optical Character Recognition - Texterkennung).  Es geht ja viel einfacher: Die Kamera liefert ein Bild (bei Schneehöhenmessungen reicht wahrscheinlich 1 pro Minute). Das Bild zeigt (angenommen Hochformat) einen "unbrauchbaren" Rand links und rechts einer Messlatte, die hinter dem zu messenden Schneefeld steht. Diesen unbrauchbaren Bereich kann man bei der Ermittlung der Schneehöhe wegschmeissen, so dass nur wenige Pixel innerhalb einer Spalte von vielleicht 40 Pixel Breite x 600 Pixel Höhe auszuwerten wären. Malt man den Messstab wahlweise in rot/grün/blau (RGB) an, ist er eindeutig im Blickfeld des Fotos zu erkennen und leicht zu maskieren. Unterkante bei 26 Pixeln, Oberkannte bei 626 Pixeln, dann stehen 601 Pixel zur Abbildung von 0 mm bis 1000 mm auf 601 Pixeln zur Verfügung, also 1,5 mm optische Auflösung.

Jetzt gibt es a) Verwehungen um die Messlatte und b) die Eingrenzung des Kontrastes zwischen Schneeoberfläche und Messlatte. Das erzeugt zusätzliche Fehler. Ebenso die Tatsache, dass die Optik natürlich nur in der Aufstellhöhe parallel auf die Messlatte blickt, ganz oben und ganz unten dagegen in einem leichten Winkel - kann man fast alles raus kalibrieren. c) muss der Schneefall natürlich noch nicht abgeschlossen sein, wenn man die Messung auslöst. Man wird also weiße Flecken vor der Messlatte sehen, die aber ebenfalls "ausgefiltert" werden müssen. Dazu gibt's wohl noch im Laufe der Überlegungen noch mehr Restriktionen. Unser Hirn macht das alles automatisch, was großartig ist.

Stelle eine Messlatte vor Dein Wohnzimmerfenster und schau drauf: Du kannst innerhalb von Sekundenbruchteilen erkennen, ob es sich um 2 cm Schneehöhe, 10 cm oder auch 13 cm handelt. Bei Bruchteilen von cm wird's schon schwieriger. Da mittelt das Hirn auch schon und schließt noch fallende Schneeflocken von vorneherein aus. Auf einen halben cm genau geht's wohl auch beim Blick aus dem Wohnzimmer. Da die Messtechnik auch "ohne weitere Kontrolle" zuverlässig arbeiten soll, kommen da bestimmt noch weitere Bedingungen hinzu, die eine zuverlässige Messung weiterhin einschränken. Ich sag' halt nur mal: Möglich wär's ...

Einen Bildauschnitt von ca. 600 x 40 Pixeln auf Farbwechsel zu kontrollieren, ist mit jeder Entwicklungssoftware möglich, die auch Bildauschnitte bearbeiten kann (z.B. C++). Schnee ist weiß (hoffentlich nicht gelb) und die Messlatte ist R(ot), G(rün) oder B(lau). Der Kontrast bei diesen Grundfarben ist auf wenige Pixel einzugrenzen (auch wenn zum Streichen keine RGB-Farben verfügbar sind) und der Kontrast zu weiß ist auf wenige angrenzende Pixel leicht einzugrenzen. Eine statistische Auswertung über 40 Spalten à 600 Pixel Grafik kostet msec und ich stelle mir vor, dass man das Verfahren auf ca. 3 mm genau hinbekommen könnte.

Problem dabei ist, dass man für die bevorzugte Kamera auch an die Treiber herankommen müsste, um z.B. jede Minute programmgesteuert einen Snapshot (Schnappschuss) zu erzeugen, der dann temporär abgelegt wird (einige KB) und in Zeilen und Spalten analysiert werden muss, bevor man die Schneehöhe als Zahlenwert (gemessen ab unbeschneitem Grund) vorliegen hat. Danach kann das Bild wieder gelöscht werden.

Da braucht man kein OCR. Inwieweit z.B. ein Arduino Kamerabilder verarbeiten kann, um nach kurzer Analyse einen Zahlenwert zu liefern, entzieht sich meiner Kenntnis. Auf dem PC sehe ich keinerlei Problem ...

Gruß Hans
2xTFA Nexus, Sinus, Duo, EOS Max, Klima-Logger, Mebus TE923

Die Titanic wurde von Profis gebaut, die Arche Noah von einem Amateur. ...

klaus289

Hallo Hans,

sorry, vergiss bitte mein vergangenes Geschriebse.

Ich hatte mich aus Unkenntnis an einem Punkt eingeklingt, obwohl du für diesen Teil des Projekts bereits einen Lösungsansatz hattest bzw. hast.

Die Sache mit der Bilderfassung sollte eigentlich nicht so schwer sein.
Vielleicht kann Kollege Toni dabei helfen.
Der greift ja bei sich das Webcambild mit einer Batch (ähnlich VisionGS BE) ab.
Nach Verwendung sollte die anschließende Löschung des Bildes damit auch möglich sein.

TheWeather

#32
Hallo Klaus,

die Geschichte mit dem "POCR" ist generell vielleicht auch nicht übel, bläht aber den Aufwand zur Realisierung einer "einfachen" Lösung zu weit auf.

Welchen unserer zahlreichen Kollegen "Toni" meinst Du im Speziellen. Wir haben hier jede Menge hilfreicher Kollegen, wovon mir wenigstens drei als "Toni" bekannt sind.

Um das Ganze wenigstens im Ansatz umzusetzen, bräuchte es dann schon einen völlig "kostenreduzierten" Ansatz mit Arduino oder ähnlich. Dass es mit einem PC oder Laptop einigermaßen auch so funktionieren sollte, halte ich für gesichert. Mit Arduino und anderen Lösungen wäre ich aber überfordert, da ich diese aufgrund meiner fehlenden Erfahrungen nicht umsetzen könnte.

Vielleicht probiere ich erstmal den Ansatz mit PC aus. Wenn dann jemand schreibt, dass er das locker auch mit einem Arduino (oder wie sie alle heißen) hinbekommt, der dann ja auch Schnappschuss, Bild einlesen von der Kamera und Zeilen-Spalten-Auswertung irgendwie hinbekommen müsste, wobei am Schluss nur ein Zahlenwert für Schneehöhe (und eventuell Unsicherheit) per RS232 oder USB übertragen würden, wäre das ja schon das Maximum.

Zum Einrichten der Kamera wirst Du aber auch nicht um einen PC herumkommen, damit man das Kamerabild zunächst vernünftig justieren kann.

Das ist übrigends noch lange kein "Projekt". Ich habe mich nur gewundert, dass man kleine Webcams mittlerweile für unter 10 € bekommt und da kann man das Experimentieren durchaus mal wieder anfangen. Der Rest kommt dann eventuell später ...

Gruß Hans

P.S. Als Anwohner einer 30 km-Zone hatte ich zunächst die Absicht, die Verkehrssituation zu beobachten, um dann der Verkehrsüberwachung Zeiten zu übermitteln, wann die Geschwindigkeiten (nicht von wem) hier deutlich überschritten werden, teilweise mit 70 km/h oder auch geschätzten 100 km/h in der Nacht, um Kontrollen zu sinnvollen Zeiten anzuregen. Das geht bereits mit Aufzeichnungen von 320 x 200 Pixeln, die auch bei Daueraufzeichnung nur wenig Platz auf der Platte benötigen. Dann kam mir die erneute Idee mit der Schneehöhenmessung.

Selbst Regen auf einer Glasscheibe lässt sich optisch schnell erkennen, der Regenfall in einem Gefäß optisch abbilden, die Wolkenbedeckung ist optisch einwandfrei nachzuvollziehen und auch Windeinsatz an einer Fahne ist deutlich zu erkennen. Bei solch günstigen optischen Sensoren, gleich welcher Auflösung, kann man fast aus Allem was Brauchbares machen.
2xTFA Nexus, Sinus, Duo, EOS Max, Klima-Logger, Mebus TE923

Die Titanic wurde von Profis gebaut, die Arche Noah von einem Amateur. ...

klaus289

Hallo Hans,

sorry, ich meine natürlich deinen Moderatorenkollegen aus Bayern. ;)
Ja, seine Batch läuft über PC.
Damit (falls möglich) könnte man das Projekt vorab auf dem PC von A-Z auf volle Funktionsfähigkeit testen.
Falls alles soweit funktioniert, könnte als nächster Schritt eine Arduino-Lösung o.a. angegangen werden.

falk

Im englischsprachigen Raum nennt man eine Webcam, die auf einen Maßstab zwecks Schneehöhenmessung gerichtet ist, auch snow stake cam. Wenn ihr diesen Begriff in die Google-Bildersuche eingebt, könnte ihr euch schon von der Schwierigkeit der automatischen Auswertung überzeugen.

Meistens scheinen diese Webcams für potentielle Benutzer von Wintersportgebieten aufgestellt sein. Vielleicht findet ihr ja mehr Infos.

TheWeather

#35
Hallo Michael,

grandios, hier die "Snow Stake Cam" einzubringen - kannte ich bislang noch nicht. Es handelt sich hierbei aber anscheinend ausschließlich um Bilder, an denen man die Schneehöhe ablesen kann. Messwerte liefern diese Cams wohl nicht aus der optischen Ablesung.

Das wäre der Unterschied. Vom Prinzip her würde ich genau so vorgehen, nur halt den Balken noch in einer RGB-Farbe anstreichen, damit man ihn leicht ausfiltern kann - wie diese Video-Wände im Fernsehen für spezielle Einblend-Effekte ...

Die Messlatte schneit zwar auch hier am Bodenblech durch Verwehungen zuerst zu, aber das guckt sich auch beim genauen Hinsehen irgendwann weg (wie der Handwerker normalerweise zu kleinen Baufehlern sagt).

Danke hierfür. Gruß Hans

P.S.: Bei einer solchen "Snow Stake Cam" (wieder was dazu gelernt) ist es wahrscheinlich so, dass Live-Bilder nur alle paar Minuten oder ggfs. auch nur alle Stunden übertragen werden. Der Grad der Datenreduktion, aus einem Livebild einen einfachen Zahlenwert abzuleiten, mag im ersten Moment unsinnig erscheinen. Andererseits braucht so ein Bild immer noch knapp 200 kB, während eine einfaches Datum, ein Messwert und eventuell eine Unsicherheit noch unter hundert Bytes beanspruchen. Ich komme aus einer Generation, in der man mit 64 KB Speicher aus einem Apple II mit 360 KB-Diskettenlaufwerk noch das Maximum herausholen musste - unter BASIC (einer Interpreter-Programmiersprache, die zwar platzssparend war, von der Verarbeitungsgeschwindigkeit aber halt immer schon "interpretierend" war). Bildverarbeitung wäre damals weitestgehend ein "NoGo" gewesen, weil das der Arbeitsspeicher garnicht hergegeben hätte.

Insofern bin ich heute noch ein strenger Vertreter eines "eingeschränkten" Datenverkehrs. Was mit unter 1 kB geht, muss man nicht mit 2 MB jede Minute oder Stunde über das Internet rödeln -  :? das geht Alles von unserer Zeit ab.

Mittlerweile kann man Fotos ab 100 KB bis 4 MB Umfang in Sekundenschnelle bearbeiten und auch versenden. Falls aber der Sinn eines Fotos nur die Gewinnung eines Messwertes ist, braucht man das Foto nur temporär vor Ort und der Rest steckt in der Datenreduktion.

Kein Mensch will sich auf Dauer ein Schneehäufchen ansehen, das sich über Monate garnicht, in Wintermonaten nur bei Schneefall und dann nur bei heftigem Schneefall stündlich oder gar minütlich ändert. Ansonsten passiert da absolut nichts, außer eine Messlatte, die im Trockenen oder im Winter auch im Schnee steht. Da reicht ein Zahlenwert. Wenn ich mir jetzt als "potentieller Skipistenbenutzer" das Schneehäufchen anschaue, muss ich selbst noch schätzen, wie hoch der Schnee nun liegt. Wenn aber ein System einfach frech behauptet, es seien 12 cm Schnee, wird keiner auf die Idee kommen nachzufragen, ob 11,5 mm oder 12,5 mm. In den Alpen und den Schneegebieten sieht es ja noch "lockerer" aus.

Ob hier 1,5 m oder 1,6 m gemessen würden, ist nahezu unerheblich. Mehr als 0,2  bis 0,4 m sollten es hier schon sein, aber der Rest an mm dazwischen sind "Peanuts" (Erdnüsse, benannt nach Hilmar Kopper, damaliger Vorstandssprecher der Deutschen Bank AG, die damit als "geflügeltes Wort" als Peanuts in die deutsche Sprache eingeflossen sind). Insofern reicht auch die Messung von 5 cm als Auflösung eventuell noch aus, womit man sogar Berge aus 10 m Schnee noch einigermaßen alltagstauglich mit einer Primitivkamera einordnen könnte. OK - da bräuchte man eine Kamera, die auch knapp 10 m weg steht, aber eine hohe Auflösung fordert auch ihre Tribute andereseits.

Ich werd's auf jeden Fall mal ausprobieren. Ein Federbett (wegen der Federn) werde ich nicht opfern, aber vielleicht ein Blatt Papier oder auch weiße Verpackungschips, die ich vor einer Messlatte aufschichte. Ungefährlicher als damals die ersten Flugversuche ist das allemal ... 
2xTFA Nexus, Sinus, Duo, EOS Max, Klima-Logger, Mebus TE923

Die Titanic wurde von Profis gebaut, die Arche Noah von einem Amateur. ...

joergeli

Hallo zusammen,

Mein "Snowduino" ( Schneehöhenmessung mit Laser-Entfernungsmesser und Arduino ) liegt z. Zt. im Bastelkeller.
Es gab halt nach meinen Versuchen im letzten Jahr bis jetzt keinen Schnee mehr bei uns.

Ich möchte aber meinen Senf zur Erfassung der Schneehöhe mittels Kamera dazugeben:
Ein Arduino ist dafür nicht geeignet, evtl. ein Raspi, am Besten ist aber m.E. ein PC.

Wer etwas mehr für eine Kamera ausgeben will/kann, sollte sich mal die IPCam  "upCam Tornado HD S"
( http://www.upcam.de/de/upcam-tornado-hd-s--silber-/-schwarz-_2.html )
ansehen. Die kostet zwar fast 150,-€, ist aber das Beste was ich bisher in diesem Preissegment gefunden habe.
Full-Hd (1920x1080 px), , ftp-Upload, Nachtsicht mit IR-Cut Filter, etc.. Video kann man als rtsp-Stream z.B. mit VLC-Player abgreifen.
Ich nutze 2 dieser Cams zu Überwachungszwecken, man könnte sie aber auch als Wetter-Cam nutzen.
Das soll keine Schleichwerbung sein, es soll nur meine Zufriedenheit bzgl. der Bildqualität ausdrücken :-)

Worauf ich aber eigentlich hinaus wollte, ist die Aufnahme eines periodischen Schnappschusses:
Ich nutze die upCams - natürlich gehen auch andere Cams - in Verbindung mit der Überwachungssoftware Contacam ( http://www.contaware.com/contacam.html  ),
die u.a. auch einen JPG-Schnappschuss des empfangenen Videostreams alle x Sekunden machen kann ( Auflösung des Schnappschusses ist frei einstellbar. Dateiname ist ebenfall frei wählbar, aber immer der gleiche, also kein Timestamp)
Diesen periodischen Schnappschuss könnte man ja zur Auswerung mit einer "Bildauswertesoftware" verwenden.
Ich sehe das größte Problem aber in der Programmierung eben dieser Auswertesoftware.


Gruß
Jörg


Wetterstation Heinzenberg / Taunus:
http://www.joergeli.de/
WS 2500-PC (V3.1) mit Superhet-Empfänger HFS 302
2xWS 1000, WS 2000, WS2200, WS2500, WS 3001, WS 3000TV

Arduino-Bastelseite:
http://www.arduino.joergeli.de

TheWeather

#37
Hallo Jörg,

vielen herzlichen Dank für Deine Antwort und auch die Behandlung des Themas aus Deiner Sicht.

Wie Du sicherlich schon weiter oben gelesen hast, bin ich der Überzeugung, dass man aus den enorm gesunkenen Preisen für Kameras mit 640 x 480 Pixels (ab knapp 7 € zu haben) eine Reihe enorm interessanter Projekte aufbauen könnte.

Ich bin gesundheitlich momentan etwas angeschlagen und kann/will das Thema heute Abend nicht mehr weiter verfolgen. Wenn Schnappschüsse mit einer teureren Kamera auch programmgesteuert (für mich zunächst unter C++ interessant) funktionieren, lohnt sich eine weitere Suche im "Billigsegment" nicht. Ich werde mir den Link morgen mal ansehen.

Im Moment bin ich "fertig", nachdem ich schon zwei Tage mit Magen/Darm zu zun hatte. Zwei schlaflose Nächte und heute geht's wieder besser, aber man soll's ja nicht übertreiben, ich melde mich morgen/übermorgen wieder zu dem Thema.

Vielen Dank aber schon mal. Das Programmieren der Auswertung ist unter C++ ein "Klacks", wenn ich das mal so übermütig behaupten darf. Wenn ich ein Bild in .png, .jpeg, .jpg oder .bmp habe, könnte ich zumindest eine "Karotte" aufgrund ihrer Farben und deren Umrisse aus den RGB-Daten ausfiltern, was dann bei einer Messlatte (wegen der Schneehöhe) auch kein Problem sein sollte.

Zum Rest eher morgen. Ich bin noch leicht angeschlagen und muss erst mal "Heia".

Vielen Dank und

Gruß Hans
2xTFA Nexus, Sinus, Duo, EOS Max, Klima-Logger, Mebus TE923

Die Titanic wurde von Profis gebaut, die Arche Noah von einem Amateur. ...

joergeli

Hallo Hans,

primär ging es mir um den Hinweis auf die Software Contacam, mit der man Schnappschüsse des Videostreams von Cams vieler Hersteller machen kann. Dazu muss die Cam nur im LAN/WLAN, bzw. direkt am PC hängen, es ist also kein ftp-Upload notwendig.

Gute Besserung!
Jörg
Wetterstation Heinzenberg / Taunus:
http://www.joergeli.de/
WS 2500-PC (V3.1) mit Superhet-Empfänger HFS 302
2xWS 1000, WS 2000, WS2200, WS2500, WS 3001, WS 3000TV

Arduino-Bastelseite:
http://www.arduino.joergeli.de

TheWeather

#39
Hallo Jörg,

vielen Dank noch für den Hinweis auf "Contacam". Ich kann mir das erst morgen ansehen - so gern ich heute noch wollte - aber es scheint mir schon jetzt ein bedeutungsvoller Hinweis zu sein.

Sorry, aber ich muss mich leider für heute verabschieden.

Gruß Hans

Nachtrag 08.11.2016: Contacam habe ich mir heute mal angesehen. Ich bekomme es noch nicht hin, z.B. alle 10 sec ein Bild der Webcam abzuspeichern - bislang nur manuell ausgelöste Aufnahmen. Das hängt wohl noch an meinen  :? rudimentären Einstellungen ...

Bei MicroSoft gab es mal ein Tool "as it is", das zwar nicht weiter supportet wird und unter "Powertoys for XP - Timershot" zu finden ist. Das funktioniert zunächst in meinem beabsichtigten Sinne einwandfrei. Allerdings läuft es nur unter XP, was mich momentan aber nicht stört. Es erfüllt die Minimalaufgabe und man kann sauber eine .jpg z.B. alle 10 sec überschreiben oder auch eine selbst hochzählende Liste von .jpg-Bildern erzeugen. Das reicht mir zum Ausprobieren erstmal. Bei Schnee reicht später wahrscheinlich sogar 1 Minute oder gar länger als Intervall.

Für weitere Hinweise (auch zu Einstellungen bei Contacam) bin ich dankbar. Meine Primitiv-Webcams (per USB) werden auf jeden Fall von beiden Programmen bei der Bildaufnahme tadellos unterstützt.
2xTFA Nexus, Sinus, Duo, EOS Max, Klima-Logger, Mebus TE923

Die Titanic wurde von Profis gebaut, die Arche Noah von einem Amateur. ...