Vous êtes sur la page 1sur 9

Table des matières

Introduction................................................................................................................................2
Travail à réaliser :........................................................................................................................3
A. Création d’une image de taille 8*8..............................................................................3
B. Script Matlab pour traiter une image :........................................................................3
C. Application de la Transformation DCT et IDCT sur l’image «onion.png»....................6
Conclusion...................................................................................................................................9
Introduction

Dans ce troisième TP de codage sur l’imagerie et la transformée en cosinus discrète (DCT) nous allons
réaliser des manipulations simples sur les images avec Matlab (créer, charger et visualiser). Appliquer la
transformée en cosinus discrète (DCT) sur des images en niveaux de gris.

1
Travail à réaliser :

Réalisations de scripts Matlab permettant de créer, charger et visualiser des images :

A. Création d’une image de taille 8*8 comme elle est illustrée dans la figure ci-dessous :
clear all,close all,clc;
v = zeros(8,8);
v(2:7, 2:7) = 120*ones(6,6);
v(3:6, 3:6) = 220*ones(4,4);
v(4:5, 4:5) = 255*ones(2,2);
imagesc(uint8(v), [0, 255]);
colormap gray;
axis image;

B. Script Matlab pour traiter une image :


clear all, close all, clc;
Im = imread('autumn.tif');
imshow(Im)
figure
imagesc(Im)
colormap gray;
Imd = double(Im);
imshow(Imd);
figure
imagesc(Imd)
colormap gray;
Imd = double(Im)/255;
imshow(Imd);
figure
imagesc(Imd)
2
colormap gray;
ImGray= rgb2gray(Im);
figure,imshow(ImGray)
ImGray= rgb2gray(Im);
figure,imshow(ImGray)
ImGray= ImGray*255;
figure,imshow(ImGray)

3
4
Observation ;

En multipliant ImGray*255, on a amené toutes les valeurs des pixels à une saturation de niveaux de gris
255 (Blanc), l’image obtenue est entièrement blanche.

C. Application de la Transformation DCT et IDCT sur l’image «onion.png»

clear all, close all, clc;


Im = imread('onion.png');
imshow(Im)
figure
imagesc(Im)
colormap gray;
ImG= rgb2gray(Im);
figure,imshow(ImG)
% Histogramme de l’image
5
figure,imhist(ImG,256)
% Énergie de l’image
ImG = double(ImG);
e=0;
for i=1:135*198
e = (1/(135*198))*(e + ImG(i)^2);
end
ImG = double(ImG)/255;
Imdct = dct2(ImG);
figure
imshow(log2(abs(Imdct)),[])
colormap(gca,jet(64))
colorbar
Imdct(Imdct<=0) = 0;
ImIdct = idct2(Imdct);
figure
imshowpair(ImG,ImIdct,'montage')
title('Image Originale (Gauche) et Image restituée (Droite)');

après avoir exécuté le script on obtiens les figure ci-dessus

6
7
Observation

On observe que l’image restituée après la transformée de cosinus inverse est restitué avec les coefficients
positifs basses fréquences (DC) seulement.

On note le manque de détails hautes fréquences (AC) se manifeste sous forme de floue sur l’ensemble de
l’image.

Conclusion

On conclut que le manque de détails hautes fréquences qui se manifeste soue forme de floue sur
l’ensemble de l’image est dû à la transformée de cosinus inverse (IDCT) qui élimine les coefficients positifs
Ac.

Vous aimerez peut-être aussi