Sunteți pe pagina 1din 6

S.l.dr.ing.

Stefan Constantin PETRICEANU Laborator IOPC Anul IV IC + IS

LABORATORUL NUMĂRUL 1
Încărcarea, afișarea, înregistrarea, egalizarea de histogramă a
imaginilor cu ajutorul MATLAB

1 Introducere
Între toate simţurile cu care suntem dotaţi, sistemul vizual ne furnizează cea
mai mare cantitate de informaţii referitoare la mediul înconjurător. Cu toate că
percepţia vizuală este departe de a fi complet înţeleasă, ingineria modernă se
preocupă intens de problema realizării unor sisteme de vedere artificială, capabile
să emuleze, fie şi parţial, capabilităţile sistemului vizual uman.
Obiectivul prelucrării numerice a imaginilor constă în transformarea imaginii
în scopul facilitării interpretării vizuale (ajustare contrast, iluminare,
detectare/reprezentare contur etc) sau al reducerii cerinţelor de memorie pentru
reprezentare sau stocare, respectiv al debitului de date sau benzii de frecvenţă
necesare transmiterii la distanţă. În sensul cel mai larg, prelucrarea poate urmări
măsurarea unor parametri de poziţie, viteză de mişcare sau formă al unor obiecte,
recunoaşterea obiectelor dintr-un cadru de imagine, interpretarea scenei sau
recunoaşterea tipului de activităţi ce sunt surprinse în secvențele înregistrate.

2 Scopul lucrării
Această lucrare de laborator propune inițierea studenților în studiul prelucrării
imaginilor având ca efect obţinerea de imagini noi cu un contrast modificat,
extragerea contururilor, obţinerea negativului unei imagini, histograma imaginii
etc.
Pentru aceasta se va pleca de la operațiunea de citire a imaginilor
achiziționate de către stundeți prin procedeele de termografiere în infraroșu,
ultrasunete în imersie etc urmând ca mai apoi să se treacă la preprocesarea lor în
vederea prelucrării ulterioare (eșantionare, cuantizare).

3 Încărcarea, afișarea și înregistrarea unei imagini, egalizarea de


histogramă, pseudocolorarea
Codul Matlab pentru manipularea imaginilor este prezentat în cele ce
urmează:
I=imread(' IR_1026.jpg'); % instrucțiune de citire imagine
imshow(I); %afișare imagine în format uint8 (ce reprezintă
formatul uint8? - help uint8)

Rezulatul acestor comenzi va fi de felul celei din fig 1.


imtool(I);
Imod=I(:,1:480);% matrice pătratică în nivel de gri
figure;
whos; % parametru de testare pentru Imod
imhist(Imod); %histograma imaginii în nivel de gri

1/6
S.l.dr.ing.Stefan Constantin PETRICEANU Laborator IOPC Anul IV IC + IS

Histrograma în niveluri de gri a imaginii IR_1026 se prezintă în figura 2. Se


cere intrepretarea acesteia de către studenți.

Fig. 1 Imaginea in format uint8 citită cu ajutorul matlab

Fig. 2 Histograma imaginii cu niveluri de gri

2/6
S.l.dr.ing.Stefan Constantin PETRICEANU Laborator IOPC Anul IV IC + IS
Iajust=imadjust(Imod); %ajustează intesitatea imaginii
figure, imshow(Imod), figure, imshow(Iajust); % afisarea
%comparativa a celor doua imagini

Dacă se dorește același lucru pentru imaginea color se procedează astfel:


RGB1 = imread('IR_1026.jpg'); % se incarcă imaginea
RGB2 = imadjust(RGB1,[0.2 0.3 0; 0.6 0.7 1],[]);% se
%ajustează după o matrice stabilită de utilizator
figure, imshow(RGB1), figure, imshow(RGB2) %se afișează
rezultatele în figuri diferite pentru comparație

Exercițiu: modificați masca de ajustare la diferite valori. Observați ce se


întâmplă cu imaginea. Comentați rezultatele și rețineți-le pe cele mai relevante.

Fig. 3 Imaginea inițială în infraroșu

Fig. 4 imaginea după aplicarea măștii cu funcția imadjust


3/6
S.l.dr.ing.Stefan Constantin PETRICEANU Laborator IOPC Anul IV IC + IS

Egalizarea de histograma presupune utilizarea funcției adapthisteq.


Pentru o imagine alb-negru de felul celei stocate în variabila Imod se va
proceda astfel:
% se definește o variabilă care va stoca noua imagine
A = adapthisteq(Imod,'clipLimit',0.02,'Distribution',
'rayleigh'); % pentru informații despre filtrarea aplicată se
%va utiliza comanda help + adapthisteq și se citesc
%instrucțiunile
figure, imshow(Imod); % pentru comparare se afișează imaginea
%originală
figure, imshow(A); % afișează imaginea cu modificarea de
%histogramă

În figurile 5 și 6 se prezintă cele două situații prezentate anterior:

Fig. 5 Figura în alb-negru înanite de modificarea de hisogramă

4/6
S.l.dr.ing.Stefan Constantin PETRICEANU Laborator IOPC Anul IV IC + IS

Fig. 6 Figura în alb-negru după modificarea de histogramă


Pentru egalizarea de historgramei se mai poate utiliza și funcția histeq.

Ihist=histeq(Imod,2);% se calculeaza modificare de


%histogramă; pentru a obține ajutor help histeq
figure, imshow(Imod), figure, imshow(Ihist)% se afișează spre
%comparație cele două imagini
figure, imhist(Imod);% se afisează histograma inițială a
%imaginii
figure, imhist(Ihist);% se afișează histograma imaginii
%prelucrate
% pentru salvare imaginilor in diferite formate se utilizează
%funcția imwrite; pentru ajutor help imwrite
imwrite(Ihist,'Ihist.tiff'); % salvare în format tiff
imwrite(Ihist,'Ihist.jpeg');% salvare în format jpg

5/6
S.l.dr.ing.Stefan Constantin PETRICEANU Laborator IOPC Anul IV IC + IS

Exercițiu: urmând instrucțiunile prelucrați imaginile preluate de


dumneavoastră și trageți concluzii pertinente cu privire la modul de punere în
evidență a problemelor constatate în imaginea prelucrată față de imaginea
originală.

6/6

S-ar putea să vă placă și