2010-07-16 7 views
3

Je vais travailler avec un ensemble d'images arbitraires. Certains d'entre eux pourraient avoir besoin d'une correction de couleur.Comment corriger automatiquement les couleurs d'une image?

J'ai ouvert une image qui nécessitait une correction dans Photoshop et j'ai remarqué que les jaunes étaient un peu élevés dans l'histogramme. J'ai appliqué la couleur automatique et cela a amélioré l'image.

Comment cela fonctionne-t-il? Comment mettre en œuvre cela? Est-ce que je cherche des pics dans l'histogramme et les moyennes en fonction des autres pics ?

La langue/syntaxe ne devrait pas avoir beaucoup d'importance.

+1

essayez ceci: http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=35964 – Adi

Répondre

6

Ce n'est pas facile et cela demande de la pratique et de l'art, mais voici la théorie.

Des outils tels que Photoshop et Picasa ont une correction automatique des couleurs sur un bouton. Il doit faire des suppositions sur ce que les distributions de couleurs moyennes devraient être et ils travaillent probablement dans l'espace de couleur Lab plutôt que dans l'espace de couleurs RVB que vous connaissez. Puisque l'approche est heuristique, il se trompe pour certaines images. Par exemple, si vous prenez des images dans une forêt claire mais enveloppée, la lumière ambiante a une dominante verte et vous ne pouvez pas déplacer les couleurs pour rendre blanc un objet blanc parce que vous devez pousser trop fort dans le rouge pour foirer par exemple, une chemise verte. De même, les images du soleil orange de fin d'après-midi sont biaisées en jaune et pour corriger cela pousse trop fort dans le bleu. Il peut y avoir des valeurs d'arrêt dans les modes de couleur automatique pour éviter une compensation excessive.

Maintenant Labspace de couleurs est une bête étrange et il y a littéralement des livres entiers à son sujet. C'est un espace à trois canaux avec Luminance sur un canal (c'est le plus facile) et des canaux qui ont si peu de lien avec la façon dont nous pensons à la couleur qu'ils sont simplement appelés "a" et "b". Les canaux a et b codent toutes les données de chromaticité (tout ce qui n'est pas Luminance) dans des dimensions qui peuvent être grossièrement appelées jaune-bleu et vert-rouge. Voici une autre bizarrerie, la gamme de Lab est beaucoup plus grande que nos yeux peuvent gérer (RGB et CMYK sont tous deux plus petits que notre gamme visuelle) donnant des couleurs qui sont impossibles, par exemple un rouge profondément saturé avec presque pas de luminance. Nous pouvons le décrire, mais notre perception baisse de couleur à mesure que la luminance diminue (ce qui explique pourquoi la nuit donne à tout son aspect bleu-gris).

Alors, comment le ferais-tu si algorithmiquement? D'abord, vous devez vraiment comprendre les modèles perceptuels, transformer les images en un espace perceptuel, ajuster la distribution bi-axiale selon des attentes assez compliquées de la normale et ensuite renvoyer le résultat dans un espace RVB afin qu'il puisse être rendu. Oui, ceci peut être mis en œuvre dans une caméra de poche, mais il est non trivial et nécessite souvent des conseils (par exemple, réglage de la température de couleur attendue à ensoleillé ou ombragé, tungstène, fluorescent, etc.). Les algorithmes de guidage humain absents se tromperont plus souvent, et sans masquer manuellement des dominantes de couleur comme la forêt verte, on ne peut pas se contenter d'une image dans son ensemble.

tl; dr

+1

Une référence à l'espace couleur Lab serait la bienvenue. Je suis toujours réticent à faire confiance à Wikipedia sur des sujets techniques (j'ai vu ce qui arrive aux sujets sur lesquels j'ai de l'expertise). –

+1

Si vous cherchez un guide de photographe plutôt intuitif, Margulis est probablement le livre à lire http: //www.amazon.com/Photoshop-LAB-Color-Adventures-Colorspace/dp/0321356780 Si vous cherchez un traitement mathématique rigoureux, je vous enverrais au CIE mais il y aurait de meilleures lectures et j'irais dans la bibliographie de Wikipédia (la ruche traitement d'esprit de la couleur il a été précis pour mes activités (non Lab)) – msw

+1

très instructif, autant que je peux comprendre j'ai besoin de convertir de RGB à L * a * b * (RGB à XYZ, XYZ à L * a * b *), effectuez les ajustements dans L * a * b * et, après cela, ramenez les valeurs à RGB. Je n'ai pas compris quel 'axe' quand on parlait de 'distribution bi-axiale'. La, Lb, ab? –

Questions connexes