Вы находитесь на странице: 1из 3

% TP1/Initiation aux manipulations d'images numriques %

% BENABDALLAH Fairouz et TOUGHERGHI Sarah. Sg:01


%%% Partie I: Creation d'images synthetiques
%1. Creation de l'image Im1
clear all;
clc;
nbl=64;
nbc=64;
Im1=zeros(nbl,nbc,'uint8');
k=1;
for A=1:4:256;
Im1(:,k)=A;
k=k+1;
end
%2. Affichage de l'image Im1
figure(1);
imshow(Im1);
axis on;
%%% Si les valeurs taient trs proches de zros la visualisation avec la
%fonction "imshow" donnerait une figure toute noire car elle considre
%toutes les valeurs zros (par exp. en modifiant le programme prcdant
%comme suit: Im1(:,k)=A\100, les valeurs contenues dans Im1 sont tres proches
%de 0 --> on obtient une image toute noire)."Imshow" ne reprsente pas une
%nuance de gris et donc ne conserve pas la dynamique de l image,pour le faire
%il faut prciser une autre dynamique pour imposer les limites contenues
%dans la matrice construite --> imshow(Im1 ,[0 255]). l intervalle [0 255]
%reprsente les valeurs pouvant tre contenues dans la matrice "Im1".
%3. Cration de l'image Im2
clear all;
clc;
B=[0 0 0 0 0 0 0 0];
C=[0 0 1 1 1 1 0 0];
D=vertcat(B,B,C,C,C,C,B,B);
M2=vertcat(D,D,D,D,D,D,D,D);
Im2=horzcat(M2,M2,M2,M2,M2,M2,M2,M2);
%4. Affichage de Im2
figure(2);
imshow(Im2);
axis on;
%5. Multiplication des lments de Im2 par 100
Im3=Im2.*100;
figure(3);
imshow(Im3);
%%% Dans ce cas, nous avons cod avec 0 et 100 au lieu d'en faire avec 0 et 1
%ce qui donne un mme rsultat (codage avec 2 bits), l'intret est d'taler
%la plage de nuances pour pouvoir mieu distinguer les deux niveaux.
%Nous pouvons crer l'image im2 autrement en utilisant le programme suivant:
clc;
clear all;
for i=1:64
for j=1:64
Im2(i,j)=0;
end

end
for i=3:8:62
for j=3:8:62
Im2 (i:i+3,j:j+3)=ones (4,4);
end
end
imshow(Im2);
axis on;
%%%Partie II
clc;
clear all;
M=imread('ALSAT2_8b_500_400_bsq.Tif');
RGBB=M(:,:,[1,3,4]);
imshow(RGBB);
title('image en format.tif');
size(M);
% le rsultat obtenu par la commande "size" est le suivant:
%400 500 4 : une image de 400 lignes, 500 colonnes, et 4 bandes.
%1. Pour afficher les informations inscrites dans le header du fichier
%on utilise la commande "imfinfo".
imfinfo('ALSAT2_8b_500_400_bsq.Tif')
%%%L entte de l image permet de stocker les informations suivantes:
%le type, la taille et le nom du fichier, sa date de modification, le nombre
%de lignes et de colonne de l image, le nombre de bits de codage, la palette
%de couleur ou de niveaux de gris ncessaire la visualisation, et indique
%aussi le format du fichier.
%2 et 3. Affichage des bandes sparement:
% extraire toutes lignes toutes colonnes de la bande(1)puis l'afficher
G=M(:,:,1);
subplot(2,2,1);
imshow(G);
title('G');
% extraire toutes lignes toutes colonnes de la bande(3)puis l'afficher
B=M(:,:,3);
subplot(2,2,2);
imshow(B);
title('B');
% extraire toutes lignes toutes colonnes de la bande(4)et l'afficher
R=M(:,:,4);
subplot(2,2,3);
imshow(R);
title('R');
%%% Nous remarquons que les 3 bandes ne sont pas identiques (des niveaus
%d'intensit de lumire differents)ce qui signifie que l'image rsultante
%sera en composition colore et non pas en niveaux de gris(niveau different
%pour chacune des bandes)ni en fausse couleur(car les 3 bandes correspondent
%aux 3 coulers primaires).
%4. Nous sauvgardons chacune des bandes sous le format demand
imwrite (G,'bande 1 de limage.bmp');
G2=imread('bande 1 de limage.bmp');
imwrite (B,'bande 3 de limage.jpg');
B2=imread('bande 3 de limage.jpg');
imwrite (R,'bande 4 de limage.gif');

R2=imread('bande 4 de limage.gif');
%5, Affichage des 3 bandes en diffrents formats
figure(5);
subplot(2,2,1);
imshow(G2);
title('G.bmp');
subplot(2,2,2);
imshow (B2);
title('B.jpg');
subplot(2,2,3);
imshow(R2);
title('R.gif');
%%%
%%%
%%%
%%%

Nous constatons que les 3 bandes affiches en niveaux de gris se


ressemblent quel que soit le format sous lequel elle sont stockes. Ce
qui diffre entre une bande et une autre c'est bien l'intensit de
lumire au niveau des diffrentes zones.

%6. Affichage de l'image composition colore


RGB=M(:,:,[1,3,4]);
imwrite(RGB,'Image en composition colore.bmp');
RGB2=imread('Image en composition colore.bmp');
subplot (2,2,4);
imshow(RGB2);
title('RGB.bmp');
imfinfo('Image en composition colore.bmp')
size(RGB);
imfinfo('ALSAT2_8b_500_400_bsq.bmp')
% le fichier rsultant en format ".bmp" a la meme taille que celui en
%format ".tif"
%D aprs lersultat obtenu, nous constatons qu'une intensit de couleur dans
%l une des images mono bande au niveau d'une zone indique la couleur approprie
%dans l image multi bande.Par contre, dans les images reprsentes en nivaux
%de gri nous avons les mmes valeurs dans les trois canaux RGB.

Вам также может понравиться