Citation:
Sur le net j'ai trouvé que GETRValue, GETGValue,GETBValue servait à trouver les niveaux de couleurs rouge,vert et bleu.
Est ce que du coup pour passer de RGD à niveau de gris l'opération suivante serait elle valable :
pour chaque pixel :
nveaupixel=[ GETRValue(pixel)+ GETGValue(pixel)+GETBValue(pixel) ]/3
Oui.
Citation:
Est ce que pour faire la technique de Jeromnimo je peut faire un : GETRValue et dire que si la valeur est supérieur à une certaine valeur alors c'est bon? (le noir est composé d'aucune couleur ça va etre quoi sa GETRValue??)
Oui, mais ne teste pas que le rouge. Si R > 200 mais que G et B aussi, tu vas avoir un truc qui se rapproche du blanc. Il faut donc que R soit < à un valeur, et G et B < à une autre. Pour le noir, c'est R, G et B qui sont proches de 0. A partir du moment où tu bosses en RGB, tu ne peux pas t'intéresser à une seule des composantes.
Citation:
Ensuite pour passer de niveau de gris à booléen je dis quand "valeur du nouveau pixel"<une certaine valeur => 0 ? (ton explication semble dire ça mais je préfère être sur).
Tu peux dire ce que tu veux ! Tu peux faire pixel < x, pixel > x, x < pixel < y, et dans chacun des cas mettre à 0 ou à 1.
Dans ton cas, tu veux mettre le blanc (255) à 0. Ca sera donc :
Code:
1 2 3 4
| if(niveau_de_gris > 250)
valeur_binaire=0;
else
valeur_binaire=1; |
Citation:
Hier soir J'ai fait une différence d'un entier avec une couleur et ça m'a donné un résultat cohérent (algo qui marche) alors qu'un peut plus tard j'ai vu que GetPixel renvoyé un hexadécimal (couleur).Comment ça ce fait que mon algorithme tourne?
En quel langage tu codes déjà ? Sinon c'est possible qu'ils aient écrit un opérateur - qui gère cette différence.
Citation:
Dans un printf, on met %d pour un entier %f pour un flottan t(rien d'exceptionnel jusque la ) mais que met t on pour voir une couleur sous sa forme hexadécimale?
C'est %08X, si tu veux afficher 8 chiffres. Sinon tu mets ce que tu veux à la place du 8.