Sunteți pe pagina 1din 5

Sisteme de vedere artificiala

Lucrarea de laborator nr. 7

LUCRAREA NR. 7
1. Scopul lucrarii
Cea de-a saptea lucrare de laborator continua studiul segmentarii imaginilor.

2. Breviar teoretic
Etapele de prelucrare a informatiilor realizate de un Sistem de Vedere Artificiala sunt:

achizitia si formarea imaginilor

preprocesarea imaginilor

segmentarea imaginilor
o metode de prag
o segmentare bazata pe muchii
o segmentare bazata pe regiuni

descrierea

recunoasterea formelor

interpretarea

3. Segmentarea (continuare)
3.1. Metode bazate pe muchii. Notiuni generale
Aceste metode de segmentare au la baza folosirea unor algoritmi de detectare a
muchiilor, urmata de o tehnica de mbinare a acestor n conturi nchise care sa descrie
obiectul. Muchiile pot fi detectate folosind metode prezentate pe scurt n lucrarea nr. 5 si mai
detaliat n curs. Dintre metode de relaxare ale muchiilor amintim operatiile morfologice ce se
pot aplica imaginilor binare: umplere, eroziune, dilatare, deschidere (eroziune + dilatare),
nchidere (dilatare + eroziune):

umplere (eng. fill) operatia de colorare a unor zone de imagine ce contin pixeli cu
acelasi nivel de gri;

eroziune operatie morfologica ce realizeaza scaderea ariei unei zone de 1 dinr -o


imagine binara urmarind frontierea acesteia, pe interior, cu un element morfologic dat;

Sisteme de vedere artificiala

Lucrarea de laborator nr. 7

dilatare operatia inversa eroziunii, realizata prin urmarirea frontierei cu elementul


model pe exteriorul suprafetei;

deschidere operatie realizata prin eroziune si dilatare succesiva cu acelasi element


are ca efect eliminarea zonelor albe dintr-o imagine binara, de dimensiuni de pna la
dublul dimensiunilor elementului morfologic folosit.

nchidere operatie realizata prin dilatare si eroziune succesiva cu acelasi element


are un efect analog deschiderii, dar elimina din zonele albe insulele de negru de
dimensiuni mici.

Folosind operatiile morfologice amintite, se poate realiza nchiderea contururilor formate


din lanturi de muchii. Se urmareste obtinerea conturului obiectului de interes.
O alta metoda de obtinere a conturului este trasarea frontierei imaginii segme ntate prin
metode de prag. Algoritmul urmareste marcarea dintr-o zona alba a pixelilor albi ce au ca
vecini pixeli negri.

3.2. Metode bazate pe regiuni. Notiuni generale


Metodele bazate pe regiuni urmaresc realizarea unor zone unor omogene relativ la o
anumita functie de evaluare a omogenitatii. Avand definita functia de omogenitate H,
algoritmul va realiza mpartirea recursiva a imaginii n patru regiuni, pna se obtin regiuni ce
satisfac conditia H(R) < max. Al doilea pas al algorimului uneste zonele adiacente cu aceeasi
omogenitate (vezi cursul).

Fig. 1. Exemplu de imagine obtinuta prin segmentare pe regiuni (se obtin regiuni
omogene)

3.3. Functii Matlab utile n segmentare:


binarizarea imaginii im2bw
2

Sisteme de vedere artificiala

Lucrarea de laborator nr. 7

calcularea pragului graythresh


umplerea imaginii imfill
obtinerea perimetrului ntr-o imagine binara bwperim
eroziunea imaginii imerode
dilatarea imaginii imdilate
deshiderea imaginii imopen
nchiderea imaginii imclose
selectare a regiunilor bwselect
descompunere pe regiuni qtdecomp
exemplu de descompunere pe regiuni qtdemo

4. Exemplu
Urmatorul exemplu realizeaza o segmentare a imaginii folosind metode bazate pe muchii.
Se pune n evidenta imposibilitatea segmentarii corecte utiliznd doar metode de prag.
Urmariti efectul acestor functii.
clc, clear, close all;
%%%% figura l6_05
[J,map_fig] = imread('l6_05.bmp');
figure, imshow(J,map_fig);pause;
I = ind2gray(J,map_fig);
figure, imhist(I);pause;

%segmentare pe intervale de niveluri de gri


BW1 = band_th(I, [0.1 0.22]);pause;
BW2 = band_th(I, [0.22 0.33]);pause;
BW3 = band_th(I, [0.43 0.5]);pause;
BW4 = band_th(I, [0.5 1]);pause;
%crearea matricii de indecsi
X = 2*double(BW1);
X = X + 3*double(BW2);
X = X + 4*double(BW3);
X = X + 5*double(BW4);
%crearea paletei de culori
map = zeros(256,3);
3

Sisteme de vedere artificiala

Lucrarea de laborator nr. 7

map(2,:)=[1 0 0];
map(3,:)=[0 1 0];
map(4,:)=[0 0 0.7];
map(5,:)=[0.5 0 1];
figure, imshow(X, map), title('colorarea diferita a obiectelor');pause;
% observati ultimul obiect ce are acelasi nivel de gri cu fundalul
% segmentarea cu prag nu e suficienta
%metoda 1 - selectarea obiectului dorit
bw = bwselect(BW4); % selectati cu mouse-ul patratul violet
figure, imshow(bw);pause;
bwp = bwperim(bw);pause;
II = I;
II(bwp)=1;
figure, imshow(II);pause;
X = X + double(bw);
map(6,:)= [0.5 0 0];
figure, imshow(X, map), title('colorarea diferita a obiectelor')

%metoda 2;
ed = edge(I, 'canny',[0 0.4]);
figure, imshow(ed);
% umplerea obiectului dorit - selectati cu mouse-ul un punct din obiect si
% apoi apasati tasta enter
edf = imfill(ed);
figure, imshow(edf);
%eliminarea muchiilor
edopen = imopen(edf, strel('disk',2));
figure, imshow(edopen);
%crearea matricii de indecsi
X = 2*double(BW1);
X = X + 3*double(BW2);
X = X + 4*double(BW3);
X = X + 5*double(edopen);
figure, imshow(X, map), title('colorarea diferita a obiectelor')

Sisteme de vedere artificiala

Lucrarea de laborator nr. 7

%metoda 3:
ed2 = edge(I, 'log',0);
figure, imshow(ed2);
% selectati cu mouse-ul mai multe puncte din obiect si apoi apasati tasta
% enter
edf = imfill(ed2);
figure, imshow(edf);
edopen = imopen(edf, strel('disk',2));
figure, imshow(edopen);
edopen2 = imfill(edopen, 'holes');
figure, imshow(edopen2);
X = 2*double(BW1);
X = X + 3*double(BW2);
X = X + 4*double(BW3);
X = X + 5*double(edopen2);
figure, imshow(X, map), title('colorarea diferita a obiectelor');pause;
perim = bwperim(edopen2);
III = I;
III(perim)=1;
figure, imshow(III);

5. Exercitii
1. Realizati cateva achizitii de imagine folosind calculatorul Ursula si camera video din
dotarea laboratorului de Sisteme de Vedere Artificiala. Realizati segmentarea
imaginilor obtinute folosind metode bazate pe muchii.
2. Realizati segmentarea folosind metode de prag si apoi metode de muchii a imaginii
optical.jpg din directorul de lucru.
3. Realizati segmentari bazate pe muchii a diverse imagini din directorul de lucru.
4. Realizati o functie de vizualizare a unei matrici de tip sparse obtinuta folosind functia
qtdecomp.

6. Tema
Realizati un referat n care sa explicati rezultatele experimentale obtinute.
5

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