Algorithme de couleurs

Algorithme de couleurs - Algo - Programmation

Marsh Posté le 18-06-2004 à 11:34:05    

En fait mon probleme est simple! je recherche des algorithmes existant
sur la generation automatique de code de couleurs visible sur des fonds differents ... je sais c pas tres clair mais avec un exemple ca devrai aller mieux ...
Imaginons un fond d'ecran completement noir. Ba la couleur la plus visible
dessus est le blanc. Dans mon programme je connais la couleur de mon fond d'ecran et je dois donc determiner la couleur de text la plus visible dessus kelkesoi ma couleur de fond.
 
Si kelkun a deja fait ca ou connais un algo ki se rapproche de ce que je recherche je le remercie d'avance !  :jap:

Reply

Marsh Posté le 18-06-2004 à 11:34:05   

Reply

Marsh Posté le 18-06-2004 à 11:38:35    

question con : t'a essayé avec le complément à 255 en RGB ?
 
par ex : blanc = 255,255,255
le complément à 255,255,255 c 0,0,0 = noir
 
Ca marche peut être avec d'autre code couleurs :  
255,0,0 c le rouge...0,255,255 c un bleu ciel...
 
normalement ca marche si t couleurs sont très proches de 0 ou de 255 ...si tu te rapproches de 128, ca va devenir illisisble
 
c p-e déjà une base...


---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 18-06-2004 à 11:47:02    

Jubijub a écrit :

question con : t'a essayé avec le complément à 255 en RGB ?
 
par ex : blanc = 255,255,255
le complément à 255,255,255 c 0,0,0 = noir
 
Ca marche peut être avec d'autre code couleurs :  
255,0,0 c le rouge...0,255,255 c un bleu ciel...
 
normalement ca marche si t couleurs sont très proches de 0 ou de 255 ...si tu te rapproches de 128, ca va devenir illisisble
 
c p-e déjà une base...


 
Ouai mais comme tu le dis plus mes couleurs se rapprocherons de 128 plus elles seront illisible !! et comme j'ai aucune idee de la couleur choisi a la base je peux pas me permettre de code un algo trop simpliste. Mais je sais qu'on peut faire jouer aussi des valeurs de saturation pour une couleur donne. Donc elle ressortira mieux meme si la couleur est identique. Mais j'ai pas envie de reinventer la roue sachant que des algo le font deja. mais j'arrive pas a trouver leurs nom sur le net.  :wahoo:

Reply

Marsh Posté le 18-06-2004 à 11:50:48    

Au pif :
Pour chaque composante [0,255],  
si fond < 85 ou fond > 170 alors 255 - fond
sinon  
si fond < 128 alors 255
sinon 0
 
Ca devrait faire un truc "correct"...


Message édité par skeye le 18-06-2004 à 11:51:15
Reply

Marsh Posté le 18-06-2004 à 12:15:45    

skeye a écrit :

Au pif :
Pour chaque composante [0,255],  
si fond < 85 ou fond > 170 alors 255 - fond
sinon  
si fond < 128 alors 255
sinon 0
 
Ca devrait faire un truc "correct"...


 
Je comfirme ca devrai marcher mais pour ce que je dois faire je peux pas me permettre ce genre de bricolage. Je dois trouver reellement 2 couleurs opposé !! En couleur ou en luminosité.
J'ai omis de le preciser. C ma faute :( . En tout cas merci de vos reponses  :D

Reply

Marsh Posté le 18-06-2004 à 12:16:13    

sinon en utilisant un espace colorimétrique subjectif (genre AC1C2), tu prends les couleurs aux antagonismes les plus forts
ou alors en mesurant la teinte (par ex. la couche Hue dans un espace HSV), tu choisis une couleur dont la teinte est la plus éloignée de celle de ton fond

Reply

Marsh Posté le 18-06-2004 à 12:18:16    

kalder a écrit :

Je comfirme ca devrai marcher mais pour ce que je dois faire je peux pas me permettre ce genre de bricolage. Je dois trouver reellement 2 couleurs opposé !! En couleur ou en luminosité.
J'ai omis de le preciser. C ma faute :( . En tout cas merci de vos reponses  :D


ah ben si la lumi te suffit tu convertis ta couleur en YUV et tu prends le Y le plus éloigné, et basta...[:skeye]

Reply

Marsh Posté le 18-06-2004 à 12:19:28    

comment jtai grillé ta race [:dawa]

Reply

Marsh Posté le 18-06-2004 à 12:21:44    

moktar1er a écrit :

comment jtai grillé ta race [:dawa]


:o
Ma solution est simple et accessible aux novices, la tienne est toute pleine de mots compliqués!:o

Reply

Marsh Posté le 18-06-2004 à 12:30:03    

skeye a écrit :

:o
Ma solution est simple et accessible aux novices, la tienne est toute pleine de mots compliqués!:o


 
 :lol: ok j'ai deja plus d'element pour chercher merci !!  :) merci a tout les deux

Reply

Marsh Posté le 18-06-2004 à 12:30:03   

Reply

Marsh Posté le 18-06-2004 à 12:33:43    

Ce n'est évidement pas la couleurs la plus lisible, mais c'est déjà un bon début.
 
=> Soit r, g, b les couleurs de ton fond.
=> Soit R, G, B les couleurs du texte que tu cherches.
 
=> si r < 128 alors R = 255 sinon R = 0
=> si g < 128 alors G = 255 sinon G = 0
=> si b < 128 alors B = 255 sinon B = 0
 
Ceci dit, cela ne te donnera pas les meilleurs contrastes, c'est ce sera déjà ça.

Reply

Marsh Posté le 18-06-2004 à 12:34:20    

-- Désolé, je n'avais pas vu que Skeye avait donné une réponse similaire :jap:

Reply

Marsh Posté le 18-06-2004 à 12:49:32    

bin, un XOR, ou une soustraction.

Reply

Marsh Posté le 01-07-2004 à 16:03:03    

bjone a écrit :

bin, un XOR, ou une soustraction.


 
j'ai trouver cette url ki traite a peu pres de ce que je voulais. C plutot pas mal et simple pour ceux que ca interesse :)
 
http://www.juicystudio.com/services/colourcontrast.asp

Reply

Marsh Posté le 15-07-2004 à 15:29:16    

sinon, je viens de retrouver un ref.
dans la thèse de P. Pujas "Analyse d'images couleur et fusion d'images 3D et couleur" (1995)
il y a une partie hyper interressante sur la mesure de distance entre couleurs (notamment en HSV, avec une mesure itérative du barycentre sur la couche H)

Reply

Marsh Posté le 15-07-2004 à 15:44:21    

R = 255-r  
G = 255-G
B = 255-B
 
ça irait pas ?  


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 15-07-2004 à 15:44:47    

JagStang a écrit :

R = 255-r  
G = 255-G
B = 255-B
 
ça irait pas ?


 
non :o
lis le topic créfieu :o

Reply

Marsh Posté le 15-07-2004 à 15:45:43    

perso. ce qui me dérange c'est d'avoir une approche en RGB alors que ce n'est pas du tout une approche cognitive [:spamafote]
mais c'est vrai qu'en bidouillant comme ça on peut avoir des trucs qui marchent ;)

Reply

Marsh Posté le 15-07-2004 à 15:50:52    

chrisbk a écrit :

non :o
lis le topic créfieu :o


pardon.  :ange:


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed