Ich habe ein Programm, das ein Bild aufnimmt und dann die RGB-Werte eines Teils der Pixel bestimmt, an denen ich interessiert bin. Ich nehme das durchschnittliche RGB der Regionen und setze diese in ein Array. Was ich tun möchte, ist, durch dieses Array zu gehen und basierend auf seinem RGB-Wert zu sagen, dass es zum Beispiel "Orange" ist. Ich möchte dies tun, ohne die RGB-Werte so zu beschränken. if(r > 10 && g < 200 && b < 200) color is green.
Der Grund dafür ist, dass sich die Beleuchtung im Bild stark verändern kann. Es könnte also außerhalb der Reichweite liegen, wenn ich strenge Beschränkungen gebe. Ich versuche darüber nachzudenken, wie man es macht, so dass es dynamisch ist und unabhängig von der Beleuchtung auf dem Foto funktioniert.So bestimmen Sie Farben in einem Array in Java
Dies ist nicht wirklich ein Code-Problem Ich versuche, Wege zu finden, wie ich das lösen kann. Ich kann mir keine anderen Möglichkeiten vorstellen, dies zu tun, ohne Einschränkungen zu benutzen, wie ich oben erwähnt habe, weshalb ich hierher gekommen bin.
Hier ist ein Beispiel für ein Farbfeld. (Es gibt 24 Farben drin)
Color Array: [java.awt.Color[r=6,g=115,b=77], java.awt.Color[r=6,g=115,b=77], java.awt.Color[r=6,g=115,b=77], java.awt.Color[r=6,g=115,b=77], java.awt.Color[r=248,g=184,b=40], java.awt.Color[r=241,g=26,b=27], java.awt.Color[r=0,g=38,b=183], java.awt.Color[r=0,g=38,b=183], java.awt.Color[r=178,g=168,b=204], java.awt.Color[r=198,g=148,b=22], java.awt.Color[r=185,g=140,b=6], java.awt.Color[r=0,g=38,b=183], java.awt.Color[r=241,g=26,b=27], java.awt.Color[r=236,g=212,b=255], java.awt.Color[r=237,g=70,b=20], java.awt.Color[r=237,g=70,b=20], java.awt.Color[r=237,g=70,b=20], java.awt.Color[r=237,g=70,b=20], java.awt.Color[r=0,g=38,b=183], java.awt.Color[r=236,g=212,b=255], java.awt.Color[r=241,g=26,b=27], java.awt.Color[r=255,g=189,b=71], java.awt.Color[r=241,g=26,b=27], java.awt.Color[r=236,g=212,b=255]]
So ist der erste 4-Indizes im Array Karte würde ["Green","Green","Green","Green"]
Zum Beispiel durch Ihre Definition, R = 11, g = 199, b = 11 rot ist, aber es sieht grün ich –
Es ist ein Beispiel, ist es nicht praktisch, ich war gerade mit es zu erklären, was ich gesagt habe. @HovercraftFullOfEels – cuber
Was ergibt keinen Sinn? Mit Einschränkungen bestimmen, was jede Farbe ist? @HovercraftFullOfEels – cuber