
Outils de base
La page décrivant l'utilisation explique la création d'un chainage très simple : l'ouverture et l'affichage d'une image.Dans la suite de cette page, je vais decrire quelques chainages très souvent utilisés... Pour les autres traitements, rendez vous sur le forum pour en discuter.
On va donc voir :
- Comment faire pour transformer le format d'une image
- Comment découper une image
- Comment changer la taille d'une image
- Comment faire passer une image couleur vers une image en niveaux de gris
- Comment réaliser une convolution sur une image
- Comment faire un filtrage de la médiane
- Comment binariser une image
Transformer le format
En utilisant le principe de chainage, la conversion d'image devient très simple. Il suffit en effet de charger une image grace au bloc FileLoad puis de chainer ce traitement avec un bloc FileStore. La configuration du bloc FileStore est importante, puisque c'est elle qui détermine le type du fichier de destination...
Il est alors possible de créer une conversion de ou vers ces types :
- jpg (en mettant JPEG pour l'enregistrement)
- bmp
- gif (en lecture uniquement)
- png
- pnm
- tif (en mettant TIFF pour l'enregistrement)
- FPX (en lecture uniquement)
- WBMP

Découper une image
Il est possible de découper une image, pour ne sélectionner qu'une partie. Particulièrement utile lorsque l'on travaille sur de grandes images, cela permet de tester le chainage que sur une petite partie. Le traitement s'appelle Crop et se configure très simplement :
il suffit de choisir les coordonnées d'un rectangle (x et y du coin superieur gauche, ainsi que la largeur et la longueur).
Voici un exemple de chainage qui charge une image tiff, la découpe, puis l'enregistre en jpg :

Changer la taille d'une image
Pour redéfinir la taille d'une image, il suffit d'utiliser le bloc Scale qui est justement fait pour ça.

Convertir en niveaux de gris
Beaucoups d'algorithmes travaillent avec des images en noir et blanc. Grace au système de bloc, il est possible de prévoir un chainage qui convertisse une image en niveaux de gris. Il est possible, par exemple, de convertir en se basant sur le calcul de la luminance :Y=R*0,299+G*0,587+B*0,114. C'est ce calcul qui est réalisé sur l'image suivante, où les blocs BandSelect choisissent un des canneaux de l'image d'origine (Rouge,Green (ou vert) et Bleu), les blocs MultiplyConst multiplient chaque canal avec la valeur donnée par la formule, et enfin, les blocs Add somment les différentes parties.

La convolution
La convolution est une opertation qui permet de faire beaucoup de choses sur une image. Il est possible en effet de simuler un filtre passe bas, ou un filtre passe haut (voir l'état de l'art...). La création du chainage ne pose pas de problème, puisqu'il suffit d'utiliser le bloc Convolve, et de l'insérer dans un chainage :

La configuration de la convolution est elle aussi très simple, puisqu'en cliquant sur le bloc avec le bouton droit, il est possible de donner la matrice de convolution, de taille entièrement parametrable (il faut que ça reste un rectangle...). Par exemple, la matrice suivante produira un filtre passe haut :

Le filtre de la médiane
Très souvent utilisé en traitement d'image, le filtre médian permet d'enlever le bruit dit de sel et de poivre (pour plus de détail, voir l'état de l'art, section estimateurs robustes...) Il se configure très simplement puisqu'il suffit de choisir la taille du filtre :

Binarisation
Sujet de mon stage de dernière année, la binarisation d'un document est loin d'être triviale. Cependant, il existe un manière très simple de binariser un document : fixer un seuil sous lequel l'image résultat vaut 0, et au dessus duquel l'image résultat vaut 1. On se doute que le résultat est bien souvent mauvais, c'est pourquoi, il y a plusieurs manières de réaliser une binarisation. L'image suivante représente cette binarisation par seuil, tandis que l'image d'après représente une binarisation utilisant le seuillage de Mr Sauvola (qui préserve plus de détails...).


![]() ![]() | ![]() | ![]() |