LabVIEWForum.de
Bild auswerten - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Grafik & Sound (/Forum-Grafik-Sound)
+---- Thema: Bild auswerten (/Thread-Bild-auswerten)

Seiten: 1 2


Bild auswerten - Böser Mehlwurm - 16.10.2008 14:13

Hallo, ich bin ein Neuling auf dem Gebiet von LabVIEW. Ich habe die 8er Version von LabVIEW zur Verfügung gestellt bekommen, damit ich nicht alle Bilder mit der Hand auswerten muss.
Ich soll Bilder mit Hilfe des Linienschnittverfahrens auswerten hinsichtlich ihres Anteil an schwarzer Farbe, oder teilweise auch gewisse geometrische Formen analysieren. Da dies mit der Hand sehr viel Zeit in Anspruch nimmt ( pro Bild ca. 1 Stunde) möchte ich das mit LabVIEW versuchen, zumindest das mit der schwarzen Farbe.
Also: Ich habe Graubilder, die einen gewissen Anteil an schwarzer Farbe aufweisen, diesen Anteil soll ich prozentuell ermitteln zur ganzen Flächen.
Ich hab schon herumprobiert, ein Bild ein zu lesen und ein Histogram drüberlaufen zu lassen, und versucht mir die Werte auszugeben, aber es kommt nur nonsense heraus.

Wenn mir da wer helfen könnte, wäre ich sehr dankbar

greets Walther


Bild auswerten - TSC - 16.10.2008 14:32

Hallo also ich habe mal ein kleines VI geschrieben mit dem du ein Bild in seine einzelnen Pixel zerlegen kannst, die Werte stehen nachher alle in einem großen Array, das könntest du nun nach Schwarzwerten durchsuchen und somit einen prozentualen anteil ermitteln.


Lv82_img[attachment=14871]


LG
Torsten


Bild auswerten - TSC - 16.10.2008 14:56

Habe mich nochmal dran gesetzt und es ein bissl erweitert. Es wird nun ausgegeben, wie viel schwarz prozentual im bild vorhanden ist. Außerdem habe ich das VI auf 8.0 runtergesetzt, bin mir nciht sicher welche Version du hast.

Lv80_img[attachment=14872]

Zum testen auch mal ein bild mit 25% schwarzer farbe.

[attachment=14873]

LG
Torsten


Bild auswerten - MikeS81 - 16.10.2008 19:03

Hallo Böser Mehlwurm,
schaue dir auch mal die "Histogramm" Funktion in der Mathe Bibliothek an.

Mike


Bild auswerten - Böser Mehlwurm - 17.10.2008 09:52

Vielen Dank,
aber ich bekomme nicht die richtigen Werte heraus, im Vergleich mit meiner händischen Auswertung.
Anscheinend ist nicht alles was schwarz ist auch tatsächlich schwarz.
Hab mal ein Bild angehängt, dass ich mit der Hand ausgewertet habe. Es sollten 3,52% Anteil an schwarzen Flächen rauskommen.
Nach dem dass ein Schwarz-Weiss Bild ist, müsste ich wahrscheinlich einen Bereich nehmen, der auch noch einige dunklere Grautöne dazunimmt.
Kann man die Werte wo nachschauen, von wo bis wo die gehen?

greets Walther


Bild auswerten - TSC - 17.10.2008 10:22

Also, ein bißchen was zur Farbentheorie:

Ein Farbton wird aus drei Farben gemischt. FF FF FF wäre beispielsweise 100%rot 100%gelb und 100%blau (das ergibt weiß)! Ein Grauton entsteht immer dann, wenn die drei Werte Gleich sind.

In deinem Bild treten also nur Farben auf die drei identische Farbanteile haben (xx xx xx).

Um so höher die Farbanteile sind, um so näher geht die Farbe richtung weiß also um so heller wird es. In meinem Beispiel kannst du also einen Grnezwert eingeben, indem du nicht auf gleichheit prüfst, sondern auf einen gewissen Grenzwert. Für dein Ergebnis habe ich alle Werte die kleiner als A7A7A7 sind herausgefunden (Ergebnis: 0,350721 = 3,51%).

Hier auch mal das VI dazu.

Lv80_img [attachment=14886]

Anmerkung: ich bin mir nicht sicher ob das VI die optimale Lösung ist. Ich vermute dass man auch eine schnellere Lösung mit nur einer Schleife finden kann.

LG
Torsten


Bild auswerten - TSC - 17.10.2008 10:35

Noch ne kleine Ergänzung:

Farbcodes

Solche Tabellen findest du im Internet in Hülle und Fülle.

Du kannst aber auch unter Windows an irgendeine Stelle navigieren, wo du eine Farbe einstellen kannst, oft ist unter dem Punkt erweitert die Möglichkeit, farben slebst zu msichen, und man kann die RGB Werte einfach ablesen.

[attachment=14887]


Bild auswerten - jg - 17.10.2008 11:03

Es geht natürlich komplett ohne Schleifen:

Lv80_img[attachment=14888]

Bemerkungen:
-Da du nur auf Graustufen als Schwellwert untersuchen willst, habe ich das U32-Bild-Array in ein U8-Array gewandelt. Somit kannst du direkt Graustufen von 0-255 als Schwellwert eingeben. (Falls dein Original-Bild ein Graustufenbild ist, kannst du natürlich beim Einlesen direkt den U8-Ausgang verwenden).
-Das VI berechnet zwecks Einsatz der Event-Struktur erst einen Wert, wenn du die Grenze "y" änderst.

Gruß, Jens

@TSchAC: Vereinfachung für dein VI: Verbinde das äußere Shiftregister direkt mit dem inneren, dann brauchst du in deiner äußeren Schleife nicht addieren.
Und du multiplizierst innerhalb deiner Schleifen die Größe des Bildes aus, sowas gehört außerhalb der Schleifen.


Bild auswerten - RoLe - 17.10.2008 11:10

' schrieb:Es geht natürlich komplett ohne Schleifen:

Mist, wollte ich auch gleich hochladen, war zu langsam Wink

Aber habe doch noch was gefunden.
Gesamtsumme 2D Array geht auch so:


Bild auswerten - jg - 17.10.2008 11:12

' schrieb:Mist, wollte ich auch gleich hochladen, war zu langsam Wink

Aber habe doch noch was gefunden.
Gesamtsumme 2D Array geht auch so:
Au mann, an die Produktfunktion hab ich net gedachtWink