Backgrond Color von Image ermitteln

Spin

Top Contributor
Hallo liebe Community,

ich möchte hier gerne eine optimale Lösung für mein Problem ermitteln.
Ich habe irgendein Bild auf dem Funktionen drauf sind.

Nun hat dieses Bild Weiss als Hintergrund.

Alles easy, alles berechnet und ich bekomme funktionswerte.

Wie das funktioniert ist nicht meine Frage, sondern eher wie wäre es performant und richtig die Hintergrundfarbe eines Bildes zu ermitteln?

Ich habe es mit dem oberen linken Pixel gemacht und somit gesagt das ist die Hintergrundfarbe.
Nun kann es aber passieren dass die Funtkionen genau von dem oberen linken Pixel anfangen. Dann funktioniert das bestimmen der Hintergrundfarbe nicht.


Dazu habe ich mir überlegt:
Die Farbe die am meisten auftritt - ist Hintergrundfarbe. (Prozentual zu den anderen)
Hintergrundfarbe ist die Farbe die oben links , oben rechts , unten links und unten rechts ist. Wenn sich davon welche gleichen dann sind die die Farbe.


Was mache ich mit einem Hintergrund der zu 50% grau ist und zu 50% weiss.
Und darauf 2 rote Funktionen.

Ich würde weiss wegfiltern da ich das als hintergrund festgestellt habe und grau noch haben.

Wie kann ich ein algoritmus entwickeln der den intergrund weg filtert. Dazu muss ich die hintergrundfarbe eines bildes rausfinden.

Wie macht man das am besten? Wie kann ich es für alle Bilder machen?
Was ist mit Bilder die 100 Funktionen haben und somit prozentual mehr fläsche einnehmen als der Hintergrund?

Danke für rege Ideen 😉
Java is not the problem - more the idea 😉

greetz
 
Also wenn du mehrere Farben als Hintergrund hast, dann wird es wohl darauf hinauslaufen alles zu überprüfen.
Sofern du keine Kreise zeichnest, sollte es so sein, dass zu einem x nur ein Funktionswert existiert. Sobald also eine Farbe öfters als 1x in einer Spalte auftaucht, kann es schon mal nicht der Funktionswert sein und kann somit raus.
Funktioniert so wie es da steht nur, wenn 1 Pixel 1 Funktionswert ist. Ansonsten musst du noch eine gewisse Tolleranz einbauen.
 
Danke für die Hilfe 🙂

Ich denke auch das jedes Bild speziell behandelt werden muss. Es ist halt schwer ohne Regeln oer menschlicher Eingabe zu wissen , was der Hintergrund ist. Ein Algorithmus würde nicht ohne Toleranzen funktionieren und somit auf jeden fall nicht allgemeingültig entwickelt werden.

Dann mache ich es jetzt prozentual, wobei bei gleichen Anteilen von 2 Farben es zu Probleme kommen kann. Daher ist es klüger schon vorhinein nur bilder mit grauen hintergründen oder weissen hintergünden/schwarz zu erlauben.


Von weiss -grau - schwarz ..sind alle RGB immer R=G=B, diese kann man dann wegfiltern und alles kein Problem mehr . Andernfalls schlägt der 50% hintergrundfarbe filter an.

Vielleicht ist das ja eine gute Lösung. Implementiert ist es bisher schon für alle Kurven , wobei der hintergrund an bg[0][0] ausgelesen wird.

Dann ist es einfach alle Werte von den funktionen zu holen und diese in eine csv zu packen um dann das vorher per hand gezeichnete Kurven bild , mit Exel zu berechnen 🙂

Wenn noch jemand einen Tipp hat zum Hintergrund nur herdamit , danke an alle.:toll:
 

Zurück
Oben