Wie ermittle ich prozentuale Farbverteilung eines Bilde?

  • hi also ich hab folgendes Problem



    Ich möchte bei den unten aufgeführten Bildern herrausfinden welchen gesamtanteil der fläche des bildes die blauen Punkte bzw. der schwarze hintergrund ausmacht. Geht das eventuell mit histogramm oder so?


    hoffe auf eure hilfe :-)




  • Vielleicht liest sich das doof, aber ich würde das Bild per Paint in zwei Bilder teilen und speichern. kb-Zahl notieren, dann die Bilder in s/w wandeln und erneut speichern. Dann hat man neue kb-Zahlen. Per Dreisatz kriegt man es dann raus...:rolleyes:

  • Zitat

    Original geschrieben von handy-sascha.de
    Vielleicht liest sich das doof, aber ich würde das Bild per Paint in zwei Bilder teilen und speichern. kb-Zahl notieren, dann die Bilder in s/w wandeln und erneut speichern. Dann hat man neue kb-Zahlen. Per Dreisatz kriegt man es dann raus...:rolleyes:

    Sorry, aber was Du Dir da zusammenreimst ist völlig unbrauchbar.
    Ich weiß nicht wie Du darauf kommst, aber das kann aus mehreren Gründen nicht gehen.[list=1][*]Was soll es bringen, wenn du das Bild teilst? Er möchte das Verhältnis von Blau zu Schwarz im gesamten Bild wissen. Ausserdem kannst du durch das Teilen nicht den blauen Teil herausfiltern und dieses gewichten.
    [*]Du gibst kein Dateiformat an. Speichert er es als Bitmap, ist die Datei immer gleich groß, weil jeder Bildpunkt mit der gleichen Datenrate belegt wird, egal ob schwarz oder weiß respektive Blau oder Schwarz.
    [*]Speichert er es als JPEG oder GIF ab, gelten wiederum Kompressionsverfahren (beispielsweise Run Length Coding), die das Ergebnis verfälschen, weil dieses nicht abhängig von einzelnen Werten, sondern deren Ort und Häufung ist.[/list=1]Dein Weg kann also nie im Leben funktionieren.
    Mein (mathematischer) Lösungsvorschlag hingegen funktioniert, die Genauigkeit liegt in der Ausführung.
    Es wird mit Zählen und Schätzen gearbeitet, und dann hochgerechnet. [list=1][*]Da die Verteilung von Blau (in jeder Hälfte für sich) recht gleichmäßig ist, würde ich eine beliebige Anzahl von Testflächen herauspicken, mit beliebiger Größe. Je größer die Anzahl und Fläche, umso genauer das Ergebnis.
    [*]Beispiel: Wir nehmen 5 Kästchen mit der Größe 10x10 (=100 Bildpunkte, praktisch zum Prozentrechnen).
    [*]Hier zählen wir die blauen Pixel in jedem der 5 Kästchen, und mitteln den Wert. Beispiel: 9+7+7+9+8 => Mittelwert 8.
    [*]Daraus ergäbe sich ein Verhältnis von 8:92 (Blau:Schwarz), also würde Blau 8% Farbanteil am Bild haben.[/list=1]Edit: Das Bild hat einige Pixel(fehler), die rot und grün sind. Diese kann man aber angesichts ihrer Seltenheit unberücksichtigt lassen. Das obere Verfahren würde ich ausserdem einmal in der linken, und einmal in der rechten Bildhälfte anwenden, und anschließend beide Werte mitteln, da in der linken deutlich weniger blaue Punkte sind, als in der rechten. Unterm Strich wird das Verfahren funktionieren, da die Verteilung der blauen Punkte relativ regelmäßig ist, was die Abweichung des geschätzen Wertes vom realen Wert klein halten sollte.

    Signatur ist so 2002.

  • Evtl. funktioniert es mit Photoshop und der Histogramm-Funktion. Und zwar wenn Du das Bild erstmal halbierst entsprechend der Temperatur und dann oben noch den grauen Balken mit der Temperatur wegschnippelst. Jetzt hast Du "nur" noch die Schwierigkeit, dass es a) noch rote und gelbe Pixel im Bild gibt und b) dank der JPEG-Kompression nicht nur reines schwarz und blau gibt, sondern noch "Zwischenfarben". Wenn die die Farbtiefe auf "Indizierte Farben" auf schwarz und blau stellst (also 2 Farben eingeben) könnten einige blaue evtl. auch schwarz werden. Im Histogramm siehst Du dann unten die Gesamtpixelanzahl und wenn Du mit der Maus über das Histogramm fährst die Anzahl der Pixel mit der "ausgewählten" Farbe. Noch ein wenig Prozentualrechnung und voila.


    Einen anderen, geschickteren Weg kenne ich spontan auch nicht, gut möglich, dass es da aber noch was einfacheres und genaueres gibt.


    Qapla!

    Q: I've always tried to teach you two things. First, never let them see you bleed.
    Bond: And the second?
    Q: Always have an escape plan...

  • Vielleicht kannst du uns ja noch ein paar mehr Sachen zu dem Bild erklären. Liegt es beispielsweise komprimiert vor (JPG etc.), welche Auflösung hat es, was willst du damit machen etc. Für unkomprimierte Bild läßt sich das programmatisch recht einfach lösen - je nach Anzahl der Farben bzw. Farbtiefe auch sehr schnell!

    -> Tristan @ Work <-
    --

  • also ich will wie sich schon erahnen lässt den dunkeltstromanteil einer ccd kamera ausrechnen.
    ich erstell die bilder mit einer digi bzw webcam bzw, also liegen sie im jpeg format vor. Dann muss ich die bilder star kontrastieren und ich erhalte die oben dargestellten schwarzen bilder mit grünen blauen und roten punkten. alle pixel die rote blau und grüne punkte wurden fälschlicherweise durch dunkelstrom als belichtungspunkte errechnet.


    und dann möchte ich zeigen um wieviel prozent der dunkelstrom pro grad celcius zum beispiel zunimmt


    aber schon mal danke für eure hilfreichen beiträge

  • Wenn Du es genau haben willst, müsstest Du nur ein Filter schreiben, das die blauen Pixel zählt, und dann durch die Gesamtpixelzahl teilen.

    c ya

  • @ viper


    leide hab ich keine ahnug wie das funktionert.



    und leider hab ich nur fireworks mx und keine adobe photoshop...


    gibts da vielleicht auch irgend eine möglichkeit

  • Re: Wie ermittle ich prozentuale Farbverteilung eines Bilde?


    Zitat

    Original geschrieben von Maxim
    hi also ich hab folgendes Problem



    Tach!


    Du hast eigentlich kein Problem:
    1. Bild in Matlab (oder irgendein anderes Mathe-Programm) laden
    2. Histogramm-Funkion (bei Matlab: hist(Daten(:), Kanäle) )


    Grüße,
    MMann.


    Edit:


    Ich hab's mal für dich gemacht. Die drei Kanäle habe ich addiert (ist ja auch so zu trennen). Für die Verschmierung bedanke dich bei der Joint Photographic Expert Group.


    Bitteschön, abs. Häufigkeiten:


    5.0000000e-001 1.3151400e+005
    1.5000000e+000 1.0220000e+004
    2.5000000e+000 1.0387000e+004
    3.5000000e+000 1.8830000e+003
    4.5000000e+000 2.2040000e+003
    5.5000000e+000 3.2000000e+002
    6.5000000e+000 2.1000000e+002
    7.5000000e+000 2.9000000e+001
    8.5000000e+000 2.7000000e+001
    2.4550000e+002 6.0000000e+000
    2.4650000e+002 4.2000000e+001
    2.4750000e+002 1.5000000e+001
    2.4850000e+002 2.7800000e+002
    2.4950000e+002 4.7900000e+002
    2.5050000e+002 1.6150000e+003
    2.5150000e+002 5.4800000e+002
    2.5250000e+002 2.5580000e+003
    2.5350000e+002 1.5300000e+003
    2.5450000e+002 1.0390000e+003
    2.5550000e+002 1.8300000e+002
    2.5650000e+002 2.3600000e+002
    2.5750000e+002 8.2000000e+001
    2.5850000e+002 1.0000000e+000
    2.5950000e+002 1.0000000e+000
    2.6050000e+002 2.0000000e+000
    4.9650000e+002 1.0000000e+000
    4.9750000e+002 4.0000000e+000
    4.9950000e+002 1.0000000e+000
    5.0050000e+002 3.0000000e+000
    5.0150000e+002 2.0000000e+000
    5.0250000e+002 1.0000000e+000
    5.0350000e+002 4.0000000e+000
    5.0450000e+002 2.0000000e+000
    5.0550000e+002 1.0000000e+000
    5.0650000e+002 2.0000000e+000
    7.5650000e+002 1.0000000e+000
    7.5850000e+002 1.4000000e+001
    7.5950000e+002 1.0000000e+000
    7.6150000e+002 7.0000000e+000


    <end>

    Man braucht zwei Jahre, um sprechen zu lernen, und fünfzig Jahre, um schweigen zu lernen.
    Ernest Hemingway

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!