next up previous contents index
suivant: Exercices monter: Utilisation des spectres en précédent: Utilisation des spectres en   Table des matières   Index


Utilisation des spectres en traitement d'images

L'utilisation des spectres en traitement d'image repose beaucoup sur l'utilisation de la formule de Shafer (voir section 2.2.5) et souvent sur une approximation de celle ci pour les diélectriques qui consiste à négliger la composante spéculaire. On obtient alors:

$\displaystyle R(\lambda,g)=M(g)C(\lambda)
$

aussi bien pour les métaux que pour les diélectriques. La réponse du capteur $ i$ est alors donnée par:

$\displaystyle s_i(x,y)=\int_{360}^{800}f_i(\lambda)M(g)C(\lambda)E(\lambda)d\lambda
$

En traitement d'images, on cherche souvent à caractériser les objets qui compose l'image soit pour les retrouver (segmentation) soit pour les reconnaître (reconnaissance de formes). Dans cette perspective la formule précédente présente deux inconvénients majeurs. En effet, La réponse des capteurs dépend:

  1. de la géométrie de l'objet. Ceci induit des problèmes lorsque l'on désire retrouver un objet indépendamment de sa géométrie.

  2. de l'illuminant. Si l'on désire caractériser un objet on souhaiterais avoir une mesure indépendante des conditions d'éclairages.
le premier problème peut être résolu en faisant le rapport des coordonnées. En effet, si nous posons:

$\displaystyle K_i=\int_{360}^{800}f_i(\lambda)C(\lambda)E(\lambda)d\lambda
$

qui est un terme qui ne dépend pas de la géométrie de l'objet, l'on obtient:

$\displaystyle s_i(x,y) = M(g)K_i
$

autrement dit, en dénotant $ s(x,y)$ le vecteur couleur:

$\displaystyle s(x,y) = M(g) \left(\begin{array}{l}K_1\\ K_2\\ K_3\\ \end{array}\right)
$

l'ensemble des couleurs associé a un seul matériaux parcourt donc une droite de vecteur directeur $ (K_1,K_2,K_3)$. La projection de cette droite sur le plan $ s_1+s_2+s_3=1$ est égale à:

$\displaystyle \frac{s_i(x,y)}{\sum_{i=1}^3s_i(x,y)}=\frac{K_i}{\sum_{j=1}^3K_j}
$

qui est un terme indépendant de la géométrie utilisé pour caractérisé le matériau. Certains auteurs préfèrent la projection sur la sphère unité donnée par:

$\displaystyle \frac{s_i(x,y)}{\sqrt{\sum_{i=1}^3s^2_i(x,y)}}=\frac{K_i}{\sqrt{\sum_{j=1}^3K^2_j}}
$

La résolution du second problème est connue dans la littérature sous le nom de constance des couleurs. Ce problème assez complexe à résoudre dans le cas général se simplifie grandement si l'on dispose d'un objet de réflectance connue. Cette méthode suppose toutefois que l'on projette l'illuminant et la fonction de réflectance sur une finie de fonction ce qui induit une très forte approximation. On a alors:

\begin{displaymath}
\begin{array}{lll}
R(\lambda,x,y)&=&\sum_{i=0}^2\sigma_i(x,y...
...ambda)&=&\sum_{i=0}^2\epsilon_i(x,y)E_i(\lambda)\\
\end{array}\end{displaymath}

$ (R_i)_{i\in\{0,1,2\}}$ et $ (E_i)_{i\in\{0,1,2\}}$ sont des bases de fonctions permettant la décomposition de la réflectance $ R$ et l'illuminant $ E$.

Donné ces équations la réponse d'un capteur $ i$ associé au pixel de coordonnées $ (x,y)$ est donnée par une équation similaire à l'équation 2.21:

\begin{displaymath}\begin{array}{lll} s_k(x,y)&=&\int_{360}^{800}f_k(\lambda)R(\...
... &=&\sum_{j=0}^2\Omega^\sigma_{kj}\epsilon_j(x,y)\\ \end{array}\end{displaymath} (2.22)

avec $ \Omega^\sigma_{kj}=\int_{360}^{800}f_k(\lambda)\sum_{i=0}^2\sigma_i(x,y)R_i(\lambda)E_j(\lambda)d\lambda$

On obtient sous forme matricielle:

$\displaystyle s(x,y) =\Omega^\sigma {\epsilon(x,y)}$ (2.23)

Si nous plaçons dans la scène un objet de réflectance $ (\sigma_0(x,y),\sigma_1(x,y),\sigma_2(x,y))$ connue, la détermination de l'illuminant revient simplement à inverser la matrice $ \Omega^\sigma$. On a de fait:

$\displaystyle \epsilon(x,y) = (\Omega^\sigma)^{-1}s(x,y)
$

L'équation 2.22 peut également s'écrire sous la forme:

\begin{displaymath}
\begin{array}{lll}
s_k(x,y)&=&\int_{360}^{800}f_k(\lambda)\l...
...&=&\sum_{i=0}^2\Omega^\epsilon_{ki}\sigma_i(x,y)\\
\end{array}\end{displaymath}

avec $ \Omega^\epsilon_{ki}=\int_{360}^{800}f_k(\lambda)\sum_{j=0}^2\sigma_j(x,y)R_i(\lambda)E_j(\lambda)d\lambda$

On obtient sous forme matricielle:

$\displaystyle s(x,y) =\Omega^\epsilon(x,y) \sigma(x,y)
$

Si la valeur de $ \epsilon$ est donnée en tout point $ (x,y)$ par la formule 2.23 on obtient:

$\displaystyle \sigma(x,y) =(\Omega^\epsilon(x,y))^{-1} s(x,y)
$


next up previous contents index
suivant: Exercices monter: Utilisation des spectres en précédent: Utilisation des spectres en   Table des matières   Index
Brun Luc 2004-03-25