Quello che sto cercando di fare è verificare se un pixel è blu o meno.Come definire la gamma chiara per il colore dei pixel
Ad esempio: il colore blu è in RGB definito come rgb (0,0,255). Le profondità colore tipiche sono 8 bit (256 colori), 16 bit (circa 65 mila), 24 bit (circa 16 milioni) e 32 bit (oltre 4 miliardi di colori diversi). Quindi c'è chiaramente più di 1 sfumatura di blu.
Come definire l'intervallo del colore blu e il test per ciascun pixel se è blu o no? E cosa devo tenere a mente riguardo alle diverse profondità?
Il mio codice finora è:
BufferedImage image = ImageIO.read(file);
// Getting pixel color by position x and y
for (int i = 0; i < image.getWidth(); i++) {
for (int j = 0; j < image.getHeight(); j++) {
int clr = image.getRGB(i, j);
Nota 1:
http://www.workwithcolor.com/cyan-blue-color-hue-range-01.htm
Il problema qui è, ciò che è tra i passaggi di colore?
Un esempio sarebbe grandioso.
Nota 2:
Ho appena trovato una presentazione sul tema che mi interessa:
A pagina 13 si può vedere la definizione di rosso . Ma come puoi definire gli altri colori?
All'inizio pensavo che potessi semplicemente impostare la gamma per i colori RGB, ma questo non funzionerebbe. come puoi vedere nella tabella dei colori: http://2.bp.blogspot.com/_DmvFk3aIxDI/S9Kbb5BOjEI/AAAAAAAAADk/MVrj60t6ec8/s1600/cc.png blu inizia da # 000066 e # 66FFFF è ancora blu. Ma non tutto nel mezzo è blu. –
ho trovato questo: http://stackoverflow.com/questions/30361786/how-to-tell-visible-color-from-rgb-values dovrebbe aiutare. –
No, non è così! Se selezioni il valore di blu in HUE, puoi comunque modificare i parametri di Saturazione e Valore/Luminosità in modo da non vedere più alcun blu. Prova qui: http://colorizer.org/ –