Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
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
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.
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.
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?
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%).
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
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
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.
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
17.10.2008, 11:03 (Dieser Beitrag wurde zuletzt bearbeitet: 17.10.2008 11:05 von jg.)
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.
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!