La liaison automatique des plusieurs images perçues sur un scanner( Télécharger le fichier original )par Jean-marie MUNGUAKONKWA BIRINGANINE ISP(Institut Supérieur Pédagogique de Bukavu) - licencié en pédagogie; Option : Informatique de Gestion 2008 |
III.2. LA DETERMINATION DES LIMITES D'UNE IMAGE SCANNEE EN PLUSIEURES PARTIESIII.2.1. Notions sur la détermination des limitesLa détermination des limites consiste à identifier dans les différentes parties de l'image scannée, une partie de l'une ou de l'autre image qui est commune. Il faudra alors déterminer cette partie commune dans les deux images en questions. Par exemple : soit une image quelconque scannée en 2 parties de mêmes attributs, de hauteur=8, et de largeur=10. Partie de la 1ère image qui se répète dans la 2ème image Bande commune image1 image2
A partir de la position 0 (ligne) en partant de bas vers le haut jusqu'à la position 4 de la 1ère image, cette partie se retrouve dans la 2ème image de la 3ème position jusqu'à la 7ème position en partant de bas vers le haut. C'est ces 2 parties montrer sur les 2 images qui sont communes dans les 2 images et qu'il faut extraire pour passer à la liaison. Mais en attendant nous présentons d'abord la méthode ressemblance. III.2.2. La méthode ressemblanceLa méthode ressemblance qui a deux arguments et retourne un nombre décimal. Les arguments sont : - Le premier argument de type Bitmap est l'image129(*) - Le second argument de type Bitmap est l'image2 Bitmap est une classe, qui nous a permis de construire un nouvel objet de type Bitmap, à partir de l'adresse d'une image d'extension .bmp, codée en 24 bits. Voici la signature de l'une de ces méthodes qui nous a permis de créer cet objet. Bitmap (java.lang.String adresse). Suivra ensuite le corps de la méthode composé de la manière suivante : - Deux arguments de type Pixel24bits30(*) Pixel24bits est aussi une classe de manipulation des pixels des images bitmap. Cette classe nous a permis de construire un objet de type Pixel24bits auquel nous avons appliqué la méthode getPixels() pour retourner une grille de pixels de l'image Bitmap sous forme d'un tableau à deux dimensions d'objets de type Pixel24bits. 1. Extraction de la 1ère bande dans la 1ère image Dans 3 boucles qui sont définit comme suit : Considérons une ligne des Pixels situé à la même hauteur. Pour un compteur qui varie de la hauteur de la 1ère image moins 1 à la hauteur de la bande moins 1, décrémente le compteur en raison d'une unité. Dans cette boucle le compteur parcours la hauteur de la 1ère image. Le compteur est également la position de la ligne inférieure de la bande. Pour un compteur qui varie de 0 à la hauteur de la bande incrémente le compteur en raison d'une unité. Cette boucle parcours la hauteur de la bande. Pour un compteur variant de 0 à la largeur de la bande, incrémente le compteur d'une unité. Cette boucle parcours la ligne de la bande. Ces 3 boucles nous ont permis de parcourir la hauteur de la 1ère image, la hauteur de la bande1 et la largeur de la bande1. Cela étant la 1ère bande a été extraite. Le nombre des bandes à extraire dans la 1ère image est égal à la hauteur de la 1ère image moins la hauteur de la bande. Cependant, à une position i1 de la hauteur de la bande correspondra une position i moins la hauteur de la bande + (plus) i1, i étant la hauteur de la 1ère image moins 1. 2. Extraction de la 2ème bande dans la 2ème image Dans deux boucles définit comme suit : Pour un compteur qui varie de 0 à la hauteur de la 2ème image moins la hauteur de la bande incrémente le compteur d'une unité. Le compteur est la position de la ligne supérieure de la bande extraite de la 1ère image. Pour un compteur variant de 0 à la largeur de la 2ème image incrémente le compteur d'une unité. Le compteur parcours la ligne de la bande. Ces deux boucles nous ont permis de parcourir d'abord la hauteur de la 2ème image qui est évidemment la positon de la ligne supérieure de la hauteur de la 1ère bande (extraite de la 1ère image), ensuite la hauteur de la 2ème bande, enfin la largeur de la 2ème bande. Finalement la 2ème bande a été extraite de la deuxième image. Le nombre de bande extraite dans la 2ème image est égal à la hauteur de la 2ème image moins la hauteur de la bande. Il faut signaler que pour une position i2 de la hauteur de la 2ème bande correspondra une position j plus (+) i2, j étant la position de la ligne supérieure de la bande extraite de la 1ère image (bande1) et j parcours la hauteur de la 2ème bande. Ces deux bandes étant déjà extraites, nous avons fait appel à la méthode compareTo qui sera développé dans le point suivant pour comparer les 2 bandes (l'une extraite de la 1ère image, l'autre de la 2ème image). Les résultants de cette comparaison étant trop vastes. Nous avons cherché à déterminer le maximum des résultats de la comparaison. Ce maximum est la valeur de retour de cette méthode (méthode ressemblance). 3. Conclusion partielle La méthode ressemblance nous a permis d'abord d'extraire de la 1ère image différentes bandes d'images ensuite extraire de la 2ème image différentes autres bande, enfin ces deux bandes ont été comparées entre elles en faisant appel à la comapreTo. Les résultats de cette méthode étant vaste, nous avons cherché le maximum des résultats. Cette méthode retourne le maximum de ressemblance entre deux images de même hauteur et de même largeur. Dans notre programme ces deux images sont des bandes extraites des images plus vastes de mêmes largeurs, mais de longueurs différentes. * 29 Dieudonné KYENDA S., LRF, ISP/Bukavu, 2007. * 30 Dieudonné KYENDA S., LRF, ISP/Bukavu, inédit, 2007. |
|