Compte rendu TP1: Initiation au ToolBox Image Processing de Matlab

Page 1 sur 18Lecteur de document UniversityLib

Compte rendu TP1: Initiation au ToolBox Image Processing de Matlab

Image Processing and Matlab Programming · lab

Voir tous les documents en programmation

Rmiza Nahla

Classe: II3-II

Module : Atelier T.A.I

Compte rendu TP1:

Initiation au ToolBox Image Processing

de Matlab

III- Lecture, affichage et sauvegarde dune image :

1-

Commandes matlab :

autumn=imread('autumn.tif');

=imread('forest.tif'); %car il s'agit d'une image couleur indexée

cell=imread('cell.tif');

text=imread('text.png');

subplot(2,2,1); subimage(autumn); title('Autumn.tif');

subplot(2,2,2); subimage(cell); title('Cell.tif');

subplot(2,2,3); imshow(forest); colormap(map); axis on; title('forest.tif');

subplot(2,2,4); subimage(text); title('text.png');

Affichage :

La figure pr sent illustre les 4 types dimages support par matlab, Autumn.tif est de type couleur

RGB, limage Cell.tif est une image dintensit cest- -dire niveau de gris, puis nous avons limage

forest,tif qui est aussi une image couleur mais index e, et limage text.png est une image binaire.

2- Taille des images :

Commandes matlab :

sizeAut=size(autumn);

sizeForest=size(forest);

sizeCell=size(cell);

sizeText=size(text);

Ce qui donne le r sutat suivant :

On observe travers cette figure les diff rentes tailles, par exemple le type RGB pr sente 3 canaux de

couleurs (rouge, vert bleu) do la taille de limage x3 cette derni re est cod e sur 8 bits(uint8), de

m me pour limage cell mais elle ne poss de quune seule canal puisquelle sagit dune image

niveau de gris, le type de limage text.png est binaire do la classe logical.

Chaque type dimage a comme caract ristiques ses propres dimensions.

3- Cr ation dune nouvelle image :

Commandes matlab :

im=128*ones(256);

im(128-100:128+100 , 128-100:128+100)=0;

im(128-50:128+50 , 128-50:128+50)=255;

imnew=uint8(im);

imshow(imnew);

%sauvegarde de l'image sous le nom new.png:

imwrite(imnew,'new.png');

Publicité

Affichage :

4- Affichage des 3 composantes de limage autumn,tif :

Commandes matlab :

%Selection de la composante rouge:

autumn=imread('autumn.tif');

autumn(:,:,2)=0;

autumn(:,:,3)=0;

autumnRouge=autumn;

%Selection de la composante verte:

autumn=imread('autumn.tif');

autumn(:,:,1)=0;

autumn(:,:,3)=0;

autumnVert=autumn;

%Selection de la composante bleu:

autumn=imread('autumn.tif');

autumn(:,:,1)=0;

autumn(:,:,2)=0;

autumnBleu=autumn;

%Affichage des 3 couleurs:

subplot(2,2,1); subimage(autumnRouge); title('Rouge');

subplot(2,2,2); subimage(autumnBleu); title('Bleu');

subplot(2,2,3); subimage(autumnVert); title('Vert');

Affichage :

5- Conversion de la m me image un autre espace de couleur:

Comme lespace de couleur RVB i l existe aussi dautres espaces, dans cette exemple nous prenons

lespace HSV (Hue Saturation Value) ou Teinte Saturation Valeur, il poss de ainsi 3 composantes

savoir :

  • La teinte qui est cod e suivant l'angle qui lui correspond sur le cercle des couleurs.
  • Saturation qui pr sente lintensit de la couleur.
  • Valeur qui est la brillance de la couleur.

Commandes matlab :

autumnhHSV=rgb2hsv(autumn);

imshow(autumnhHSV,[]); axis on;

Affichage :

6- Inversion des images cell.tif et text.png :

Linversion consiste inverser les couleurs dans limage en question, ce code matlab montre ce

principe :

textInverse= 255-text;

cellInverse=255-cell;

subplot(2,2,1); imshow(textInverse, []); title('Text Inverse');

subplot(2,2,2); imshow(text, []); title('text');

subplot(2,2,3); imshow(cellInverse, []); title('Cell Inverse');

subplot(2,2,4); imshow(cell, []); title('Cell');

Affichage :

Publicité

On observe que chaque pixel blanc dans limage originale devient noir dans la nouvelle image.

7- Transformation dune m me image dans dautres types dimages :

On peut convertir une image comme autumn.tif en dautres types dimages comme le type binaire,

index , niveau de gris.

Le code matlab suivant illustre la conversion dune image donn e en diff rents types dimages :

autumnBinaire=im2bw(autumn);

= rgb2ind(autumn,256);

colormap(map)

autumnGray=rgb2gray(autumn);

subplot(2,2,1); subimage(autumnBinaire); axis off; title('autumn binaire');

subplot(2,2,2); imshow(autumnIndex,[]);colormap(map); title('autumn couleur indexée');

subplot(2,2,3); subimage(autumnGray); axis off; title('autumn en niveau de gris');

subplot(2,2,4); subimage(autumn); axis off; title('autumn en couleur');

Affichage :

8- Conversion de limage forest.tif :

Commandes matlab :

=imread('forest.tif');

forestBinaire=im2bw(forestx);

forestRGB=ind2rgb(forestx,map1);

forestGray=rgb2gray(forestRGB);

subplot(2,2,1); imshow(forestx); colormap(map1); title('Forest');

subplot(2,2,2); subimage(forestGray); axis off; title('Forest Gray');

subplot(2,2,3); subimage(forestBinaire); axis off; title('Forest Binaire');

subplot(2,2,4); subimage(forestRGB); colormap(map1); axis off; title('Forest RGB');

Affichage :

VI- Manipulation dimages :

1- extraction dun carr de limage cell.tif contenant une cellule :

Commandes matlab :

cellCarre=cell(20:95 , 50:135);

figure

imshow(cellCarre);

Affichage :

2- Agrandissement de limage obtenue :

CellGrande=imresize(cellCarre,20);

(20 fois) !

3- Rotation de la m me image :

Commandes matlab :

CellRot=imrotate(cellCarre, 90);

figure

imshow(CellRot,[]);

Affichage :

V- Op rations arithm tique sur les images :

Publicité

1- Transformation de limage cell.tif :

Commandes matlab :

cell=imread(cell.tif) ;

celRe=double(cell);

%2 me m thode:

celRe=im2double(cell);

2- Quelques op rations sur deux images :

Commandes matlab :

celRe=double(cell);

brain=imread('brain.png');

brainRe=double(brain);

celRe(159:256, 191:256)=0;

Add=imadd(celRe, brainRe);

Mult=immultiply(celRe, brainRe);

Div=imdivide(celRe, brainRe);

Sub=imsubtract(celRe, brainRe);

Add1=imadd(celRe, 100);

Mult1=immultiply(celRe, 0);

Div1=imdivide(celRe, 100);

Sub1=imsubtract(celRe, 100);

subplot(2,2,1); imshow(Add,[]); title('Addition');

subplot(2,2,2); imshow(Mult,[]); title('Multiplication');

subplot(2,2,3); imshow(Div,[]); title('Division');

subplot(2,2,4); imshow(Sub,[]); title('Soustraction');

Affichage :

VI- chantillonnage et quantification :

1- chantillonnage :

a-

L chantillonnage est une modification des dimensions ou de la r solution d'une image qui

provoquera un changement dans le nombre de pixels qu'elle contient.

On trouve ainsi le sous chantillonnage qui consiste r duire le nombre de pixels qui composent notre

image do la r duction de sa dimension ce qui affecte dans les 2 cas (respectivement sur

chantillonnage qui permet lagrandissement de la taille de limage), la qualit de celle-ci.

Lextrait du code suivant montre une fonction qui prend en param tre une image quelconque et le

facteur de sous chantillonnage et retourne limage sous chantillonn e :

function sous(im, a)

=size(im);

for i=1:round(m/a)

for j=1:round(n/a)

y(i,j)=im(ai-1,aj-1);

end

end

Publicité

figure; subimage(y); title('image sous chantillonn e ');

end

Affichage :

pour a=2

b- Sous chantillonnage en utilisant les fonctionnalit s de matlab avec le m me facteur :

synthetique=imread('synthetique.tif');

synSous=synthetique(1:2:end, 1:2:end);

subplot(2,2,4); subimage(synSous); title('synthetique sous chantillonn e');

Affichage :

c- Sous chantillonnage des images synthetique.tif et boat.tif par la fonction sous:

en utilisant la m me fonction sur ces 2 images par le facteur 2 on obtient laffichage suivant :

d- Sous chantillonnage de limage synthetique,tif par diff rents facteurs (4, 8 et 16) :

La m me fonction donne comme r sultat daffichage :

k=4

k=8

k=16

On observe que plus le facteur de sous chantillonnage augmente la qualit de limage devient moins

importante et moins nette cet effet est du la r duction du nombre de pixels formant limage do la

perte des informations de celle-ci.

2- Quantification :

a-La fonction peut tre d crite de cette fa on :

function niveau(im, n)

d=256/n; %le pas de quantification parmi 256 niveau de gris

W=uint8(floor(double(im)/d)*d);

subplot(1,2,1); subimage(im); title('Image Originale');

subplot(1,2,2); subimage(W); title('Image quantifi e');

end

b- application de la fonction sur limage cell.tif pour diff rentes pas de quantification :

pas=128 :

pas= 64 :

pas=32

pas =16

pas=8

pas=4

pas=2

c- Dapr s les r sultats de quantification obtenus on remarque que cette technique permet la

d gradation de limage(qui devient moins nette chaque fois on diminue le nombre de niveaux de gris

pour coder limage) ce qui permet un gain en nombre de bits pour coder cette image, cette technique

aide galement la compression des images.