Lab07

download Lab07

of 5

description

ooo

Transcript of Lab07

  • Sisteme de vedere artificiala Lucrarea de laborator nr. 7

    1

    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

    2

    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

  • Sisteme de vedere artificiala Lucrarea de laborator nr. 7

    3

    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);

  • Sisteme de vedere artificiala Lucrarea de laborator nr. 7

    4

    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

    5

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