# Texture (traitement des images)

Dans le traitement d'image, l'analyse de texture consiste à calculer une série de mesures dans le but de définir une texture perçue sur une image. L'analyse de texture renvoie des informations sur l'arrangement spatial des couleurs ou des intensités dans tout ou partie de cette image.
Les données de texture d'une image peuvent être artificiellement créées (textures artificielles) ou résulter de l'analyse d'images filmées à partir de scènes ou d'objets réels (textures naturelles). L'analyse (ou caractérisation) de texture joue un rôle important dans la segmentation d'image ou dans sa classification. Les éléments apportant le plus de précisions dans la segmentation sont les fréquences spatiales et la moyenne du niveau de gris.
Il y a deux approches possibles pour analyser une texture : l'approche structurée et l’approche statistique.

## L'approche structurée

Cette approche voit les textures comme une série de texels répétée de façon régulière sur un échantillon. Cette approche est particulièrement efficace dans les analyses de textures artificielles.
Afin d'avoir une description plus structurée, une caractérisation de l'organisation spatiale des texels est définie en utilisant le diagramme de Voronoï sur ces derniers.

## L’approche statistique

L'approche statistique définit la texture comme une mesure quantitative de l'arrangement de l'intensité dans une région. En général, cette approche est facile à calculer et est très souvent utilisée pour pouvoir traiter les textures naturelles ainsi que pour produire des échantillons de sous-éléments irréguliers.

### Détection des contours

L'utilisation des Détection de contours pour déterminer le nombre de pixels décrivant ces contours dans une région spécifique détermine la caractéristique de la complexité d'une texture. Une fois les contours obtenus, leur direction peut également être appliquée comme une autre caractéristique de celle-ci et pourrait être utile pour la détermination de l'échantillon dans la texture. Ces directions sont présentées soit dans une moyenne, soit sur un histogramme.
Considérons une région avec N pixels. Le détecteur de contour basé sur le gradient est alors appliqué à cette région pour produire deux résultats pour chaque pixel p : la magnitude Mag(p) et la direction Dir(p). L'aire de contour (Edgeness) par unité d'aire est alors définie par :
$F_{edgeness}={\frac {|\{p|Mag(p)>T\}|}{N}}$
T représentant le seuillage.
Pour inclure l'orientation avec le contour, on peut utiliser des histogrammes sur la magnitude et la direction. Soit H$_{mag}$(R) représentant l’histogramme normalisé de magnitude de la région R, et soit H$_{dir}$ représentant l’histogramme normalisé d'orientations de la région R. Ils sont tous deux normalisés, en accord avec la taille N$_R$.
Puis on a la description quantitative de la texture de la région R :

### Matrice de cooccurrence

La matrice de cooccurrence capture les éléments numériques de la texture en utilisant les relations spatiales des tons de gris similaires. Ces données numériques calculées par ces matrices de cooccurrence peuvent être utilisées pour représenter, comparer et classifier les textures. Ce qui suit est un sous-ensemble de caractéristiques standard dérivables depuis une matrice de cooccurrence normalisée :
${\begin{aligned}Angular{\text{ }}2nd{\text{ }}Moment&=\sum _{i}\sum _{j}p[i,j]^{2}\\Contrast&=\sum _{n=0}^{Ng-1}n^{2}\left\{\sum _{i=1}^{Ng}\sum _{j=1}^{Ng}p[i,j]\right\}{\text{, où }}|i-j|=n\\Correlation&={\frac {\sum _{i=1}^{Ng}\sum _{j=1}^{Ng}(ij)p[i,j]-\mu _{x}\mu _{y}}{\sigma _{x}\sigma _{y}}}\\Entropy&=-\sum _{i}\sum _{j}p[i,j]log(p[i,j])\\\end{aligned}}$
Où $p[i,j]$ est le $[i,j]$ème entrée dans un espace de gris matricielle, et Ng est le nombre de niveaux de gris distincts dans l'image quantifié.
L'aspect négatif de cette matrice de cooccurrence est que les caractéristiques ainsi extraites ne correspondent pas nécessairement à la perception visuelle.

### Mesure d'énergie des textures de Laws

Une autre approche pour générer les caractéristiques de ces textures est d'utiliser des masques (ou kernel) pour détecter les différents types de textures. En 1980, K. Laws a utilisé 4 vecteurs représentant des caractéristiques de texture pour créer seize masques 2D. Un cinquième vecteur caractérisant les vagues est quelquefois rajouté. Les masques de convolution de taille en résultant, de matrice 5 × 5, sont utilisés pour calculer l’énergie d'une texture qui est représentée après élimination des doublons de symétrie, par neuf vecteurs élémentaires pour chaque pixel. Ce masque est généré d'après les vecteurs suivants :

### Auto-corrélation et Puissance Spectrale

La fonction d’auto-corrélation d'une image peut être utilisée pour détecter les échantillons répétitifs des textures.

## Segmentation de texture

Une image texturée peut être utilisée pour décrire les régions en segments. Il y a deux types de segmentations d'image basés sur la texture : Celle basée sur la région et celle basée sur les frontières. Ces méthodes seules ne sont cependant pas encore parfaites pour une segmentation optimale et doivent être utilisées avec d'autres caractéristiques telles que la couleur, la forme et la taille. Il s'agit donc d'un simple plus pour optimiser et résoudre la segmentation d'image.

### Région

Tentatives de grouper les pixels en se basant sur les propriétés de texture.

### Frontière

Tentatives de grouper les pixels basés sur les contours d'image parmi les pixels qui viennent de différentes propriétés de texture.