LabVIEWForum.de
Gemeinsamen Flüssigkeitsstand ermitteln - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW Vision (/Forum-LabVIEW-Vision)
+---- Thema: Gemeinsamen Flüssigkeitsstand ermitteln (/Thread-Gemeinsamen-Fluessigkeitsstand-ermitteln)



Gemeinsamen Flüssigkeitsstand ermitteln - Joe - 22.11.2006 12:29

Hi Leute,

mal wieder komme ich trotz langem überlegen nicht weiter. Daher frage ich mal bei euch hier nach.

Ich habe 5 Bilder von 5 Behältern - sagen wir mal Gläsern.

In allen 5 Gläsern ist in etwa dieselbe Menge drin, aber nunmal nur in etwa. Daher ist der Flüssigkeitsminiskus 5mal ein anderer.

Weiterhin sind diese 5 Bilder - mit einer Kamera aufgenommen - nicht alle zwangsläufig mit derselben Glasausrichtung. Also es kann mal eins etwas tiefer oder höher stehen. Auch Verkippungen kommen mal vor.

Wie kann ich es nun hinbekommen, dass ich diese 5 Bilder in ein Programm lade und mir mit LabVIEW automatisch ein Rechteck definieren lasse, das a) bei allen 5 Gläsern zu 100% in der Flüssigkeit liegt und b) die maximal mögliche Fläche hat?


Ich wäre für jede Idee sehr dankbar.

Liebe Grüße,
Joe


Gemeinsamen Flüssigkeitsstand ermitteln - Mr.T - 23.11.2006 19:11

Hallo!

Nur um dahinter zu kommen: Du möchtest den Inhalt (Volumen) berechnen oder?
Poste doch bitte kurz mal Bilder, damit man siegt anhand welcher Merkmale da gesucht (gemessen) werden kann.
Ansonsten sollte es prinzipiell mit thresholding gehen - dann hast Du bei entsprechender Einstellung die "Pixelzahl an Flüssigkeit". <Pauschalisier>Big Grin

Gruß


Gemeinsamen Flüssigkeitsstand ermitteln - Joe - 27.11.2006 11:24

Sorry, dass ich jetzt erst antworte, aber übers Wochenende war meine Zeit exterm knapp bemessen.

Dennoch habe ich einen funktionierenden Weg gefunden, wie ich das Problem lösen kann.

Falls mal jemand das selbe Problem haben sollte, hier eine kurze Zusammenfassung des Lösungswegs:[list]
[*]Das zu untersuchende Bild wird in ein 2D-Array umgewandelt, damit man es durcharbeiten kann.<>
[*]Jetzt nimmt man von jeder Zeile den Farbmittelwert, damit man dadurch genau erkennen kann, wo der Flüssigkeitsminiskus an der Oberfläche endet. Der so ermittelte Wert ergibt schonmal die obere Grenze des gesuchten Bildausschnittes.<>
[*]An der Unterkante ist es ähnlich. Durch die größere Glasdicke am Boden wird mehr Licht zerstreut, wodurch der Glasboden dunkler erscheint. Dies kann man sich zu Nutze machen, da man ja zeilenweise die Farbmittelwerte absucht. Daher ist der Punkt, an dem die Helligkeit sinkt (zu sehen ist die Dunkelheit steigt) die Grenze zum Glasboden. Dies ergibt den unteren Rand.<>
[*]Um die beiden Glasseiten zu detektieren, geht man effektiv wieder vor wie bisher, nur, dass man sich jetzt lediglich eine Zeile des Arrays vornimmt und sich da den Farbverlauf anzeigen lässt. Der Flüssigkeitsbereich ist homogen ausgeleuchtet und daher gut im Graphen zu erkennen. Man muss also nur eine Möglichkeit finden, wie man die beiden Anstiege im Farbwert detektiert, die durch die dunkleren Glaswände hervorgerufen werden.<>
[*]Um dies zu erreichen wird ein Schwellwert gesetzt und mit diesem der Farbwertverlauf umgerechnet. So kann man nun nach den beiden Minima suchen und hat die beiden Ränder.<>
[st]Trotzdem danke an alle, die sich das hier durchgelesen und mehr oder weniger Gedanken gemacht haben.