Obligement - L'Amiga au maximum

Vendredi 24 novembre 2017 - 21:23  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Contact

David Brunet

Courriel

 


Dossier : Le traitement des images numérisées (restauration de l'information)
(Article écrit par Éric Laffont et extrait d'Amiga News - juillet 1991)


On entend par "traitement" tout le processus qui vise, soit par utilisation des pixels qui composent l'image, soit par le biais de transformés de Fourier, de manipuler une image. Ce qui ne sera pas visible dans un premier temps par l'oeil humain, vu la complexité du message vidéo reçu, pourra dans certains cas être amélioré ou plutôt "décodé" d'une certaine façon mettant en évidence l'information désirée. Un bon traitement des données ne doit en aucun cas ajouter ou trop détériorer l'image. En effet, ce type de problème est souvent rencontré lors d'agrandissement d'images suivi d'un lissage des pixels.

Dans ce cas, l'algorithme de lissage (c'est-à-dire la fonction mathématique à appliquer à l'image), devra être le plus précis possible et le plus neutre possible. C'est hélas rarement le cas pour cette application. Il y a donc deux façons de travailler sur une image. Mais pourquoi traiter une image ? La raison la plus évidente semblera la restauration de l'information qui vise à reconstruire une image qui a subi des dommages qu'il faudra bien définir pour lui appliquer le meilleur traitement possible.

Une autre raison sera l'utilisation de la machine (ordinateur) pour appliquer à l'image un nouveau type de visualisation différent de la perception humaine des objets et des formes mais qui pour la machine sera plus facilement compréhensible. Pour aujourd'hui, nous ne nous attacherons qu'à la première partie de restauration des images. La partie reconnaissance de formes et manipulation des images sera pour une autre fois. Avant d'entrer dans la technique, il nous faut mieux approcher l'image elle-même.

Comprendre l'image

Une image numérisée sauvée dans votre Amiga peut être représentée par un tableau de points T de N pixels (position x,y) sur M bits (intensité gris). Un pixel (Picture Element) est représenté par son intensité ainsi que sa position dans l'image et possède huit voisins. quatre voisins directs : (x+1,y) (x,y+1) (x-1,y) et (x,y-1), et quatre voisins indirects en diagonale : (x+1,y+1) (x-1,y-1) (x-1,y+1) et (x+1,y-1). C'est grâce à cette connectivité des pixels que l'on peut manipuler physiquement un ensemble d'éléments composant une image en final.

Ceci va nous être capital pour le futur, car cette "matrice" de points sera la base même de nos procédés de traitement de l'image. Chaque pixel (ou point) représente une information l'image globale. Cette information peut être altérée par différents facteurs dûs souvent au matériel lui-même. L'optique de caméra selon sa qualité détermirera plus ou moins l'image globale.

L'électronique, le capteur ou les convertisseurs analogiques-numériques introduisent des perturbations et des erreurs qui modifient signal. Ces défauts sont appelés "bruit". Ces bruits peuvent être considérés comme une suite plus ou moins logique de modification de l'image. Ce qui empêche la précision de l'image la rendant sans contours nets et moins précise qu'elle ne devrait. Comme pour un signal sonore ou un bruit inopportun serait décelé, un "film actif" va devoir être employé pour éliminer le voile dû au bruit.

Nous allons applique ici la méthode dite de "convolution". Cette méthode, qui à première vue peut sembler complexe, est en fait assez simple. Elle consiste à calculer une nouvelle valeur (intensité en I) d'un point de l'image en tenant compte de ses voisins. La plupart des filtres décrits ici seront des "masques de convolution" (matrices de neuf points déplacés dans l'image).

Le traitement de l'image

On trouve énormément de filtres mathématiques de toutes sortes, mais ceux qui nous intéressent sont pour l'instant le "passe bas" et le "passe haut". Comme nous avons vu plus haut, une matrice se compose de 3x3 points :
I1   I2   I3
I4   I5   I6
I7   I8   I9
C'est donc l'intensité du point central, donc le point I5 qui sera calculé. Nos deux filtres vont nous être très utiles pour un premier problème à résoudre qui consistera à améliorer un piqué d'une image, ou à essayer de rendre plus nette une image semblant floue et ayant des contours très mal définis.

Dans un premier temps, nous allons appliquer à l'image 1 (qui possède une belle erreur de mise au point, donc un bruit dû à l'optique), un filtrage passe-bas. Cette première étape consiste à retirer dans l'image tous les fins détails pour travailler ensuite sur une image plus lisse. Tout le problème va résider dans le fait de bien étudier sa matrice de traitement pour supprimer le bruit et conserver les informations principales. La matrice utilisée pour ce premier filtre est du type figure A.

traitement des images numérisées
Image 1 - numérisée avec un CCD. Le problème principal avec les caméras grand public provient dans 90% des cas
de l'optique. Ici, une mauvaise mise au point où un décentrage de l'objectif a provoqué un flou dans l'image


traitement des images numérisées
Figure A

traitement des images numérisées
Image 2 - résultat intermédiaire du premier masque : les fins détails générant le bruit de l'image
ont été supprimés donnant à l'image un aspect plus lisse et moins précis


Ici, la valeur du nouveau point central I5 (représenté par "12") sera : I5=I1+I2+I3+I4+(12xI5)+I6+I7+I8+I9. Le tout divisé par 16 qui est la valeur ajoutée des intensités à appliquer de la matrice. Le résultat de notre travail n'est pas génial (ce n'est qu'un résultat intermédiaire, il manque le passe-haut), mais il nous montre notre image totalement exempte de fins détails.

La seconde partie de notre traitement en cours reste le filtrage passe-haut (figure B). Comme vous pouvez vous en douter, il est l'inverse du passe-bas (les quatre voisins directs du point central I5 sont ici "-1", ce qui représente les opposés de la première matrice). Son travail principal sera donc d'essayer de faire ressortir et d'accentuer les fins détails encore existants dans l'image. Il faut donc veiller à ne pas trop accentuer l'effet du passe-bas avec des matrices trop sévères. L'emploi d'un passe-haut est souvent adapté pour améliorer la précision d'une image. Cependant son défaut est d'accentuer tous les faibles détails, le bruit de l'image (d'où l'intérêt du premier filtrage passe-bas).

traitement des images numérisées
Figure B

Le résultat final (image 3) est très intéressant et impressionnant surtout lorsque l'on analyse le peu de détails que nous offre l'original, sachant que cet original est à peu près ce que donne un Digi-View couplé à une caméra vidéo de qualité moyenne.

traitement des images numérisées
Image 3 - résultat final, l'image est maintenant plus précise et son aspect flou a pratiquement disparu

Pour nous aider à calculer et programmer ces filtres, l'Amiga nous invite à utiliser le logiciel Pixmate de Progressive Peripherals And Software (importé par Guillemot International pour un prix de moins de 500 FF), qui est un incontournable dans le traitement de l'image toutes machines confondues et surtout son module Image Process. Afin de faciliter l'utilisation du logiciel, on ne va pas retrouver une matrice vierge avec des cases vides à remplir (ce qui est dommage). Les concepteurs ont prévu une manipulation plus conviviale. L'utilisation de la matrice est représentée par la barre "Kernal" et ses signes représentant le type de matrice pour un balayage de l'image. Pour effectuer l'équivalent de la manipulation que nous venons de faire, il faut avec Pixmate se placer en mode "*" ou "+", choisir la fonction "And" et cliquer sur "LAP" (ce qui signifie Laplacien).

Les images doivent avoir les intensités des gris croissants (du plus sombre au plus clair). Le niveau de filtrage de l'image et l'intensité du point I5 seront réglables à la souris grâce aux fonctions "Thresh, Limit, Hits". De nombreux essais sont souvent nécessaires pour arriver au résultat optimal, la touche "Undo" est là pour nous secourir. Cependant, Pixmate ne se veut pas un logiciel de point et l'absence de la matrice programmable se fait quand même cruellement sentir.

Autres types de filtres

Il existe beaucoup d'applications sur les filtrages d'images. Les procédés qui vont suivre sont souvent employés dans la reconnaissance des formes et le traitement de l'image dans le but de faire ressortir une seule information de l'image. Dans la mesure du possible on va essayer de donner l'équivalent de la fonction à appliquer sur Amiga avec Pixmate et le menu "Image Process".

Le premier type de filtre étudié sera le "Filtrage de contours". Un contour est par définition une variation rapide du niveau de gris ou de l'intensité du point (pour la couleur). Pixmate travaillant aussi bien en monochrome qu'en couleur. Pour ces nouveaux filtres nous allons utiliser l'image 4 qui déjà traitée par l'opération précédente offre une bonne dynamique dans l'ensemble Un filtrage de contours intéressant est le masque de Prewitt.

traitement des images numérisées
Image 4 - numérisée avec une caméra CCD 416x330. L'image a subi un traitement passe-bas/haut comme décrit ici

Cette procédure a pour effet de donner un certain relief à une image. Souvent utilisée pour la détection d'objets très faibles dans une image. Son principal défaut est de bien fonctionner uniquement sur des images monochromes dont on aura auparavant classé les teintes par ordre croissant (de la plus basse à la plus lumineuse). Il existe beaucoup de sortes de masques de Prewitt. Nous allons utiliser les Prewitt en linéaire : un balayage de l'image en X et un autre en Y (c'est-à-dire en ligne et en colonne). Dans les matrices de Prewitt décrites on remarquera que la somme des points de la matrice (coefficients de pondération) est égale à zéro.

traitement des images numérisées
Image 5

traitement des images numérisées

L'image calculée ressemble maintenant à l'aspect d'un objet en relief avec un éclairage rasant sur le côté. La représentation de cette matrice par le programme Pixmate donnerait les réglages suivants (toujours dans Image Process) : NOP + "I" + Limit 16 + Hits 100% + Thresh 0 + LAP en dernier. Le balayage de l'image en Y donne, dans ce cas un effet d'éclairage rasant placé en haut. Le réglage sur Pixmate est pratiquement le même que pour le balayage en X si ce n'est que le symbole "I" dans Image Process doit être remplacé par "-".

traitement des images numérisées
Image 6

traitement des images numérisées

Deux autres types de balayages sont aussi disponibles pour un nouvel effet d'éclairage rasant. Pixmate offre la possibilité de programmer un traitement en diagonale de l'image avec les opérateurs contenus dans la barre Kernal : "/" et "\". La visualisation donnera un éclairage rasant de l'image d'après les angles.

Toujours pour rester dans le domaine du filtrage par contour, il faut citer toutes les possibilités qu'offre ce logiciel en matière de détection des zones. Un Laplacien pour une étude d'un contour net est très facilement réalisable. Le réglage adéquat donnera une image ne représentant plus que les contours de ses points les plus brillants, ceci défini par les réglages Limit, Hits et Thresh. Le paramétrage de Image Process ressemblera à ceci : NOP + "*" ou "+" + Thresh 0 + Limit 16 + Hits 100% + EDG. EDG doit, être validé en dernier (voir image 7).

Un autre filtre de contour connu sous le nom de filtre de Tukey peut s'avérer utile. Son travail s'opère sur les valeurs médianes de l'image. On prend toutes les valeurs dans le masque, on les classe par ordre croissant et on en prend la valeur médiane. La traduction en Pixmate ressemblerait à ceci : Tresh 0 + Limit 16 + Hits 100% + OR + MF1 ou MF2. Il est à noter que les opérateurs logiques (OR, AND, XOR...) peuvent être modifiées ainsi que tout autre paramètre, ce qui offre une infinité de réglages pour chaque fonction. Le principal avantage de ce module est la convivialité, son principal défaut étant l'imprécision due au manque d'explications de la fonction en cours.

Pour finir dans les filtrages, il faut parler du plus fidèle et du plus intéressant mais aussi le plus difficile à mettre en oeuvre : c'est le "filtrage temporel". Son principe est très simple. On prend des images successives du même objet et on fait la moyenne des intensités. Le nombre d'images numérisées pour cette opération est important car plus il est élevé, plus l'image et les fins détails seront reproduits. Selon la quantité des images saisies on peut dans le même temps corriger les défauts de l'optique, de l'électronique sans utiliser aucune fonction mathématique ajoutant un certain traitement logique à l'image.

Pour le moment, aucun logiciel sur Amiga proposant ce type de traitement n'existe. Pourtant c'est le seul capable de sortir des images de qualité dès la saisie, images qui peuvent avoir la définition maximum que peut offrir le couple capteur/ordinateur. Il ne faut quand même pas trop se lamenter car il n'existe pas non plus un tel procédé compris dans un logiciel commercialisé pour le grand public que ce soit sur PC ou Mac ou sur tout autre micro.

Description d'Image Process (Pixmate)

On a beaucoup parlé de cette fonction dans tout cet article. Nous allons maintenant la détailler de plus près pour en éclaircir un petit peu ses abréviations qui le rendent encore plus complexe. Nous ne sommes pas ici pour remplacer la très bonne documentation de ce logiciel. La traduction en français de ses mots et commandes facilite déjà la compréhension des principales commandes.

traitement des images numérisées

Les autres logiciels

Pixmate est en principe le seul programme sur Amiga proposant autant de traitement fréquentiel de l'image (Image Process). Cependant, il reste possible de travailler et de modifier une image avec n'importe quel logiciel de dessin sur Amiga. Le codage des images répondant à des normes IFF ou HAM, cela offre une grande quantité de travail et de fonctions disponibles pour un traitement spatial de l'image (numérisées ou pas).

De plus, des logiciels tels que PhotoLab, Butcher et même Digi-Paint II possèdent des applications très recherchées dans le domaine de la manipulation des couleurs, palettes, histogrammes.

Digi-Paint 2 : ce logiciel déjà ancien et remplacé par Digi-Paint version 3 nous fournit quelques fonctions intéressantes sur l'utilisation en HAM des opérateurs logiques : OR, AND, XOR... Ceux-ci permettent des solarisations et des extractions de contours en 4096 couleurs vraiment exploitables pour un traitement des contours, filtres et même, dans une certaine limite, la reconnaissance de formes. Bien sûr, aucun paramétrage précis de l'opération n'est possible, le programme restant un logiciel de dessin).

Butcher 2 est beaucoup plus orienté vers la manipulation des palettes de couleur et des plans graphiques de l'Amiga, il n'en reste pas moins un bon petit logiciel de coloration, retouche des contrastes et niveaux de l'image, ainsi qu'une bonne routine de changements de formats résolution/couleurs sur Amiga. Il propose aussi des fonctions avancées de manipulation d'histogrammes et de statistiques sur l'image. Il est indispensable pour bien fignoler une image déjà traitée par Pixmate.

PhotoLab : sans prétendre faire de la manipulation d'images, il est le seul à pouvoir manipuler des formats très grands en IFF et HAM au pixel près. La retaille d'images n'a pratiquement aucun secret pour ce logiciel ainsi que le changement de résolution et de palette de couleurs.

D'autres logiciels existent sûrement et sont aussi performants (Art Department, ImageLink importé par l'Atelier Numérique, par exemple...), mais on ne va pas non plus tous les citer. Ici se trouvent ceux qui semblent les plus utilisés par la majorité des amigaïstes.

Conclusion

Pour bien travailler en traitement d'image, la machine, sa rapidité, son graphisme, la facilité d'accéder à une information en mémoire, sont la partie la plus importante de l'affaire. Les logiciels ont aussi leur importance, et un programme tel que Pixmate est une ouverture de plus pour l'Amiga vers des milieux scientifiques et de recherche. Il faudrait écrire un livre entier pour parler du traitement d'images et encore on oublierait des cas particuliers. Cependant, cet article prouvera que l'Amiga sait et peut faire quelque chose de ses images. Un monde intéressant, qui s'étend de la simple extraction de contours d'une image et peut aller jusqu'à la reconnaissance de formes complexes, est désormais à votre portée (de souris).


[Retour en haut] / [Retour aux articles]