# Dématriçage

Le dématriçage (aussi connu sous le néologisme débayerisator, ou démosaïsage) est une des phases du traitement du signal brut issu du capteur d'un appareil photographique numérique. Il consiste à interpoler les données de chacun des photosites monochromes rouge, vert et bleu composant le capteur électronique pour obtenir une valeur trichrome pour chaque pixel.
La mosaïque de Bayer, comportant une moitié de capteurs à filtre vert disposés en quinconce, séparés par des capteurs à filtre alternativement rouge et bleu, est la disposition la plus courante pour les capteurs couleur. Le dématriçage est l'opération de base du traitement de l'image ; il s'accompagne souvent d'opérations correctives. Il se fait dans l'appareil et, si on a enregistré un fichier RAW, avec un logiciel spécialisé, tenant compte des caractéristiques de l'appareil.

## Principes
### Le capteur

Le capteur photographique dans une grande majorité des cas, qu'il s'agisse de CCD ou de CMOS, est formé d'alignements d'éléments appelés « photosites ». Les colonnes et rangées de ces photosites composent la « matrice » du capteur, ils réagissent à la lumière qu'ils reçoivent et la transforment en charge électrique, sur le principe d'une cellule photo-électrique.
Ces photosites sont sensibles à l'éclairement reçu, quelle que soit sa couleur. Aussi le capteur photosensible est-il recouvert d'une mosaïque de filtres de couleur affectant chaque photosite à une des trois couleurs primaires du système de synthèse additive des couleurs de l'appareil. La disposition la plus commune de ces filtres s'appelle matrice de Bayer, du nom de son inventeur.
La matrice de Bayer tient compte du fait de l'importance prépondérante du vert dans la luminance, qui gouverne la perception des formes. La moitié des photosites sont affectés au vert, tandis que le rouge et le bleu se partagent le reste à parts égales. Les filtres sont régulièrement espacés, les verts disposés en damier sont chacun entourés d'un rouge et d'un bleu dans le sens horizontal comme dans le sens vertical, de sorte que la disposition de chacune des trois couleurs soit un réseau permettant un échantillonnage régulier.
Le capteur produit un tableau de valeurs proportionnelles à l'éclairement des photosites, dans lequel les trois composantes sont entrelacées.

### Le traitement par le boîtier

L'appareil doit produire rapidement une image, ne serait-ce que pour la visée et le contrôle technique. Le traitement le plus simple consiste à sélectionner les données des capteurs verts, et à envoyer directement ces valeurs à un écran de contrôle noir et blanc. Ce procédé simple et rigoureux est quelquefois employé pour vérifier la netteté et la mise au point.
Pour produire une image en couleurs selon les normes informatiques, il faut effectuer une interpolation numérique entre les valeurs des capteurs, pour pouvoir faire correspondre à un pixel un triplet de valeurs rouge, vert, bleu, puis appliquer à chacune une correction gamma, qui les rend plus représentatives de la luminosité perçue par la vision humaine. Pour améliorer l'aspect des images et faciliter la prise de vues, le constructeur propose de plus des réglages, quelquefois accessibles à l'utilisateur, concernant le contraste, la balance des blancs, la saturation des couleurs et l'accentuation de la netteté. Très souvent, ces réglages s'accompagnent de corrections paliant les défauts de l'optique : vignettage, aberrations, déformations.
L'enregistrement d'images consultables sur n'importe quel appareil s'effectue en JPEG, avec une compression de données qui élimine les informations qui ne contribuent pas à l'aspect de l'image avec les réglages indiqués.
Le processeur propose des images selon des modes de calculs résultant de compromis raisonnables mais pas toujours conformes aux souhaits des photographes. Pour s'en affranchir, on choisit un format d'enregistrement RAW, c'est-à-dire brut, comprenant l'ensemble des valeurs nécessaires au dématriçage et aux opérations correctives.
* A. Du capteur, sont extraites des informations analogiques qui vont être plus ou moins amplifiées, pour faire cadrer sa sensibilité native de 30-40 ISO avec celles – plus cohérentes – exigées par l'utilisateur : 100, 200, 400, etc. ISO. Au passage, ces signaux analogiques sont numérisés.
* B. C'est le dématriçage. Il convient à partir des photosites : V, V, B et V, V, R de produire d'authentiques pixels composés chacun des trois couleurs : RVB afin d'en faire des images tricouches reconnues par les afficheurs, les imprimantes et les logiciels de traitement.
* C. On applique une sorte de calibrage à l'image ainsi formée, en partant de profils génériques liés aux facultés visuelles humaines. On va donc par exemple maîtriser les seuils maximums des hautes et basses lumières, le contraste donc, et les profils choisis par l'utilisateur ou les automatismes. À savoir la température (K) des couleurs (balance des blancs), la saturation des couleurs, le contrôle de netteté, etc. À ce stade l'image dispose toujours de la profondeur de couleurs « native » du capteur : 12 à 14 bits linéaires en général.
* D. À partir de là, deux choix éventuels possibles :
** D1. Passage en 8 bits non-linéaires, production d'un fichier JPEG avec choix de la compression si le firmware le permet.
** D2. Production d'un fichier TIFF en 8 bits non linéaires ou 16 bits linéaires si le firmware propose ce format en option, ou d'un fichier RAW, généralement TIFF/EP, comportant en métadonnées tous les paramètres de traitement.

### Le traitement a posteriori d'après un fichier RAW

Le fichier RAW contient à peu près toutes les informations nécessaires à la constitution d'une image finale. L'ordinateur qui les traite est beaucoup moins limité que les appareils portatifs par des impératifs de consommation électrique et de temps de traitement, et le photographe peut observer l'image dans de bien meilleures conditions que sur le terrain.
Le logiciel de dématriçage (Lightroom, Darktable, Capture One, Camera Raw, DXOpro, Rawtherapy, Canon DPP, UFRaw, etc., etc.) va reproduire les phases B, C et D du traitement en se basant sur les paramètres indiqués par le boîtier, mais en laissant l'opérateur les modifier.
Le dématriçage proprement dit peut s'effectuer suivant plusieurs algorithmes. Selon le théorème d'échantillonnage, la matrice de Bayer devrait aboutir à une image d'autant de pixels qu'il y a de capteurs à filtre vert (la moitié du total), avec une résolution de moitié pour ce qui concerne les filtres rouge et bleu. Les algorithmes de dématriçage appliquent des règles empiriques pour que les plus hautes fréquences spatiales présentes dans le sujet ne produisent pas d'effets désagréables. La prise en compte d'un plus grand nombre de capteurs voisins, avec interpolation bicubique et utilisation des lignes verticales, horizontales et diagonales permet d'atténuer, au prix de calculs considérablement plus importants, le crénelage des contours. Les algorithmes qui utilisent l'ensemble des trois canaux ont permis une amélioration considérable. Les scènes ordinaires présentent en effet une corrélation des couleurs. Le gradient d'évolution des valeurs pour chaque couleur est parallèle : on l'utilise pour déterminer la formule de reconstitution du pixel manquant. Les algorithmes les plus perfectionnés effectuent pratiquement des opérations de segmentation d'image pour obtenir des contours d'objets à partir des variations de chaque couleur dans toutes les directions. Les plus simples se basent sur la corrélation entre le canal vert et un canal de luminance.

## Algorithmes de dématriçage canal par canal

Le dématriçage consiste à estimer les niveaux manquants dans une image RAW afin de fournir une image couleur. Depuis plus de 40 ans, de nombreuses méthodes de dématriçage ont vu le jour dans la littérature. Nous nous contentons de présenter le formalisme du dématriçage et proposons trois méthodes simples de dématriçage.

### Formalisme du dématriçage

Une Image numérique Couleur (notée ${\textbf {I}}$) comporte en chaque pixel $p$ l'information de trois composantes couleur ($I_{p}^{R}$, $I_{p}^{V}$, $I_{p}^{B}$). La couleur du pixel est alors déduite par Synthèse additive des trois composantes couleur. La Matrice de Bayer permet d'obtenir une image dite RAW (notée $I^{RAW}$) dans laquelle chaque pixel $p$ porte l'information d'une unique composante $I^{k}(k\in \{R,V,B\})$ en accord avec la Matrice de Bayer. Ainsi la moitié des pixels portent l'information de la composante verte $I_{p}^{V}$ ( $I_{p}^{R}$ et $I_{p}^{B}$ sont manquants), un quart portent l'information de la composante rouge $I_{p}^{R}$ ( $I_{p}^{V}$ et $I_{p}^{B}$ sont manquants) et un quart portent l'information de la composante bleue $I_{p}^{B}$ ( $I_{p}^{V}$ et $I_{p}^{R}$ sont manquants).
Le dématriçage consiste à estimer les niveaux manquants en chaque pixels de l'image RAW pour obtenir une image couleur.

### Décomposition en sous-images

La première étape du dématriçage consiste à décomposer l'image RAW en trois sous-ensembles, dans lesquelles l'information d'une unique composante est disponible. Pour cela on effectue un masquage en utilisant les masques binaires $m^{k}(k\in \{R,V,B\})$, chacun de la taille de l'image et possédant pour valeur 1 aux pixels où la composante $k$ est disponible et 0 partout ailleurs. Les masques sont définis pour tout pixel $p$ par :
$m_{p}^{k}={\begin{cases}1&{\text{ si }}I_{p}^{k}=I_{p}^{RAW}\\0&{\text{ sinon }}\\\end{cases}}$
En masquant l'image $I^{RAW}$ successivement avec les trois masques ($m^{R}$,$m^{V}$,$m^{B}$) nous obtenons trois sous-images ${\tilde {I}}^{R}$, ${\tilde {I}}^{V}$ et ${\tilde {I}}^{B}$ dans lesquelles seule l'information correspondant à la composante respective R, V ou B est disponible et valant 0 partout ailleurs.

### Dématriçage par copie de pixels

L'interpolation par copie de pixels est la méthode de dématriçage la plus simple, elle consiste à remplacer un niveau manquant par le niveau connu d'un voisin. Ainsi, pour la sous-image ${\tilde {I}}^{V}$Chaque niveau inconnu sera remplacé par celui connu de droite. Pour les sous-images ${\tilde {I}}^{R}$ et ${\tilde {I}}^{B}$, les niveaux inconnus sont remplacés par celui connu de droite, de haut ou de diagonale haut droite selon les cas.

### Dématriçage par Interpolation bilinéaire

Le dématriçage par Interpolation bilinéaire consiste à estimer les niveaux manquants en effectuant la moyenne des plus proches voisins. Pour cela il suffit d'appliquer un filtre de Convolution à chaque sous-image ${\tilde {I}}^{R}$, ${\tilde {I}}^{V}$ et ${\tilde {I}}^{B}$. Pour la composante verte, le filtre de convolution est défini par : $H^{V}=$${\begin{bmatrix}0&1&0\\1&4&1\\0&1&0\end{bmatrix}}$ . Pour les composantes rouges et bleues, il est défini par :$H^{R,B}=$ ${\begin{bmatrix}1&2&1\\2&4&2\\1&2&1\end{bmatrix}}$.

### Dématriçage par Interpolation directionnelle

L'idée de cette méthode de dématriçage est d'utiliser le Gradient afin de réaliser une interpolation le long des contours et d'éviter une interpolation à travers eux. Pour l'exemple d'un pixel Vert estimé à la position $I_{p}^{V}$:
* le gradient vertical est défini par la différence absolue entre le pixel du dessus et celui du dessous : $\Delta _{p}^{Ver}=|I_{p-(0,1)}^{V}-I_{p+(0,1)}^{V}|$.
* Le gradient horizontal est défini par la différence absolue entre le pixel de gauche et celui de droite : $\Delta _{p}^{Hor}=|I_{p-(1,0)}^{V}-I_{p+(1,0)}^{V}|$.
Le niveau estimé $I_{p}^{V}$ est alors estimé en effectuant la moyenne des niveaux proches dans la direction du gradient le plus faible, tel que :
$I_{p}^{V}={\begin{cases}{\frac {1}{2}}\left(I_{p-(0,1)}^{V}+I_{p+(0,1)}^{V}\right)&{\text{ si }}\Delta _{p}^{Ver}<\Delta _{p}^{Hor}\\{\frac {1}{2}}\left(I_{p-(1,0)}^{V}+I_{p+(1,0)}^{V}\right)&{\text{ si }}\Delta _{p}^{Ver}>\Delta _{p}^{Hor}\\{\frac {1}{4}}\left(I_{p-(1,0)}^{V}+I_{p+(1,0)}^{V}+I_{p-(0,1)}^{V}+I_{p+(0,1)}^{V}\right)&{\text{ si }}\Delta _{p}^{Ver}=\Delta _{p}^{Hor}\\\end{cases}}$

## Algorithmes de dématriçage intercanaux

La méthode Hamilton-Adams, que Kodak a brevetée sous le nom de ses auteurs en 1997, prend en compte les variations des trois canaux dans une seule direction, horizontale ou verticale. Elle donne des résultats de bonne qualité pour un coût en calcul modeste.
La méthode un nombre variable de gradients recherche les zones uniformes autour du pixel à calculer, puis on y détermine les écarts entre canaux.
La recherche de motifs examine des domaines plus grands, pour profiter des propriétés d'homogénéïté d'un voisinage et déterminer la position d'une ligne ou d'un coin.
Ces méthodes peuvent s'appliquer dans l'appareil de prise de vue. Les méthodes de dématriçage hors ligne peuvent utiliser les mêmes principes avec beaucoup plus de calculs. Certains logiciels donnent le choix à l'utilisateur de la méthode, chacune ayant des avantages pour un type donné de sujets.

## Quelques logiciels de dématriçage multi-formats

* (fr) Adobe Camera Raw, module pour Adobe Photoshop (inclus dans le logiciel) (Windows et Mac)
* (fr) Photoshop Lightroom, universel très complet (Windows et Mac)
* (fr) Apple Aperture, retouche, classement (Mac)
* (en) Bibble version Lite ou Pro (Windows, Mac et Linux)
* (fr) Darktable logiciel libre (Windows, Mac et Linux)
* (en) Raw Therapee logiciel libre (Windows, Mac et Linux)
* (en) Rawstudio logiciel libre (Linux)
* (fr) SilverFast Logiciel HDR 48 bits (Windows)
* (en) Capture One (Windows)
* (en) Dcraw logiciel libre (Windows, Mac, Linux et Unix)
* (fr) DxO Optics Pro seul dématriceur sur le marché optimisé par boîtier et objectif utilisé (Windows et Mac)
* (fr) UFRaw logiciel libre (Windows, Mac et Linux)