lab i iopc

6
S.l.dr.ing.Stefan Constantin PETRICEANU Laborator IOPC Anul IV IC + IS 1/6 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

Upload: stefan-o-catalin

Post on 20-Jan-2016

20 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Lab I IOPC

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

1/6

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

Page 2: Lab I IOPC

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

2/6

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

Page 3: Lab I IOPC

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

3/6

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

Page 4: Lab I IOPC

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

4/6

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ă

Page 5: Lab I IOPC

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

5/6

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

Page 6: Lab I IOPC

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

6/6

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ă.