Le projet Chromoformes :
un modeleur déclaratif de couleurs
Présentation du projet
Habituellement, la détermination d’une couleur n’est pas toujours facile [Cou92]. L’utilisateur est souvent obligé de donner une série de valeurs pour des paramètres dont il ne contrôle pas vraiment le comportement (différents modèles tels que RVB (Rouge-Vert-Bleu), TLS (Teinte-Luminance-Saturation)…). Il peut rechercher aussi son bonheur dans de grandes tables (couleurs Pantone et autres nuanciers). Actuellement, son choix est facilité par des techniques graphiques permettant d’évoluer dans les modèles. Cependant, l’exploration n’est pas toujours facile, naturelle ou même suffisamment précise.
L’objectif du projet ChromoFormes est donc de proposer un outil (ici sous forme d’application indépendante) permettant de déterminer une couleur de façon déclarative. L’utilisateur décrit alors ce qu’il désire et c’est au modeleur d’explorer l’espace des couleurs selon le modèle approprié pour déterminer celles susceptibles d’être intéressantes.
Par exemple, dans une agence de publicité travaillant en relation avec un imprimeur, les couleurs pouvant être utilisées dans les maquettes sont un sous-ensemble du nuancier Pantone. Il est donc difficile, avec les techniques d’exploration graphiques habituelles, de déterminer une couleur adaptée et valide. Le modeleur déclaratif de couleurs prend en compte aussi bien la disponibilité des couleurs du modèle que les attentes du publiciste. Ainsi, la couleur sélectionnée par le publiciste, selon ses spécifications, sera admise par l’imprimeur.
Choix d’un modèle de couleurs
Le modèle « le plus intuitif et le plus proche de la perception naturelle des couleurs » [Cou92] est incontestablement le modèle TLS (Figure 1). La teinte détermine la couleur souhaitée. La luminance définit la part du noir ou du blanc dans la couleur sélectionnée. Elle permet de distinguer une couleur claire d’une couleur sombre. La saturation mesure la pureté des couleurs, c’est-à-dire le pourcentage de couleur pure par rapport au blanc. Elle permet de distinguer les couleurs <<vives>> des couleurs <<pastel>> ou <<délavées>>. Liés aux couleurs, il existe un grand nombre de termes correspondant à des couleurs précises. Le concept couleur possède donc une liste de couleurs <<nommées>> permettant d’atteindre directement une couleur en fonction de son nom commun (chocolat, bleu azur, or, rouge brique, vert sombre…).
Définition des propriétés
Les concepts pouvant faire l’objet d’une description sur une couleur sont donnés par le tableau ci-dessous. Selon ce que désire le concepteur, les concepts générateurs sont {Teinte, Saturation, Luminosité} (mode TLS), {Rouge, Vert, Bleu} (mode RVB) ou la liste de couleurs {vert sombre ; or ; …} (mode Liste).
En conséquence, si le concepteur désire construire un concept <<couleur>> selon le modèle RVB, il se basera sur un concept non-terminal. Pour cela, il proposera les concepts terminaux <<rouge>>, <<vert>> et <<bleu>> définis sur des domaines de la forme [0, 255]/1. De plus, pour permettre des descriptions selon le modèle TLS, il ajoutera les concepts non-générateurs <<Teinte>> (domaine [0,360]/1 et propriétés de base {rouge, jaune, vert, cyan, bleu, magenta}), <<Luminance>> (domaine [0,100]/1 et propriétés de base {sombre, moyen, clair}) et <<Saturation>> (domaine [0,100]/1 et propriétés de base {pastel, moyen, pur}). Il devra aussi ajouter trois contraintes de mesure pour ces concepts.
Concept |
Propriétés |
Teinte | rouge ; jaune ; vert(e) ; cyan ; bleu(e) ; magenta |
Saturation | pastel ; moyen(ne) ; pur(e) |
Luminosité | sombre ; moyen(ne) ; clair(e) |
Rouge | faible ; moyen(ne) ; important(e) |
Vert | faible ; moyen(ne) ; important(e) |
Bleu | faible ; moyen(ne) ; important(e) |
Couleur | vert sombre ; rouge brique ; or ; … |
NB : Du point de vue de la définition des concepts, le concepteur n’a, en réalité, aucun travail à faire, car le concept de <<couleur>> fait partie de l’ontologie de la synthèse d’image.
Exemples de descriptions
L’utilisateur peut alors fournir une description comme <<La scène est magenta, très claire et de saturation entre 0,7 et 0,9>>. Quelques solutions possibles (figure 2) sont :
(r=174 ; v=60 ; b=241) ; (r=245 ; v=31 ; b=229) ; (r=187 ; v=37 ; b=171) (r=202 ; v=60 ; b=191) ; (r=167 ; v=24 ; b=203) ; (r=179 ; v=43 ; b=144).
L’utilisateur peut aussi fournir une description comme <<1. La teinte est vraiment bleue ; 2. La luminosité est très très claire ; 3. La saturation est plus ou moins pastel.>>. Quelques solutions possibles sont présentées en figure 3 (Sept solutions a chaque ajout d’une propriété).