Download - Lab08

Transcript
  • Sisteme de vedere artificial Lucrarea de laborator nr. 8

    1

    LUCRAREA NR. 8

    1. Scopul lucrrii n lucrarea prezent de laborator se trateaz descrierea formelor.

    2. Breviar teoretic Etapele de prelucrare a informaiilor realizate de un Sistem de Vedere Artificial sunt:

    achiziia i formarea imaginilor preprocesarea imaginilor segmentarea imaginilor descrierea formelor recunoaterea formelor interpretarea

    3. Descrierea formelor

    3.1. Etichetarea Prin metode de segmetare se pot obine imagini binare care s reprezinte obiectele din

    imagine. Dac notam cu Ri regiunile obinute dup segmentare, putem afirma c:

    Dintre aceste regiuni, una va reprezenta fundalul. Algoritmul de etichetare (colorare) are ca

    scop atribuirea unui indice fiecrei regiuni i realizarea unei imagini care s conin valori

    ntregi: 0 pentru fundal, 1 pentru prima regiune, 2 pentru R2 .a.m.d. O colorarea diferit a

    regiunilor s-a realizat i n referatele 6 i 7, n care s-a aplicat o metod proprie de etichetare a

    regiunilor. O metod riguroas de etichetare este prezentat n curs.

    ===IUji

    ji

    m

    ii RRRR

    1

    ,

  • Sisteme de vedere artificial Lucrarea de laborator nr. 8

    2

    3.2. Descrierea formelor bazate pe regiuni Pentru forme simple ale regiunilor, pot fi folosii descriptori scalari simpli eurisitici.

    Dintre descriptorii simpli scalari, enumerm:

    Aria regiunii poate fi calculat dup numrul de pixeli din regiune. Perimetrul regiunii funcie de tipul de vecintate folosit acesta poate fi

    calculat dup cum urmeaz.

    Fie C mulimea ordonat de pixeli ce aparin frontierei astfel nct oricare doi

    pixeli consecutivi sunt vecini. Perimetrul este dat de relaia:

    Compactitatea mrimea scalar dat de raportul

    unde P este perimetrul iar A este aria regiunii.

    Pentru cerc, compactitatea este

    Pentru elipsa, .

    3.3. Funcii Matlab utile n descriere: etichetarea regiunilor - bwlabel descrierea regiunilor imaginii regionprops operaii morfologice bwmorph umplerea imaginii imfill obinerea perimetrului ntr-o imagine binar bwperim eroziunea imaginii imerode dilatarea imaginii imdilate deshiderea imaginii imopen nchiderea imaginii imclose selectare a regiunilor bwselect

    { }{ }

    [ ]{ }),(),(),(),(Card2),(),(),(Card

    :),(...,),,(),,(

    4118

    114

    1100

    kkkkkkkk

    kkkkkk

    nn

    jiVjiVjiCji

    jiVjiCjiPjijijiC

    ++=

    =

    AP2=

    4=

    abba )(2 22 +=

  • Sisteme de vedere artificial Lucrarea de laborator nr. 8

    3

    4. Exemplu % Pas 1: Citirea si afisarea imaginii

    % Pas 2: Estimarea valorii aproximative a pixelilor din fundal

    % Pas 3: Vizualizarea fundalului ca o suprafata

    % Pas 4: Crearea unei imagini cu fundal uniform

    % Pas 5: Ajustarea contrastului imaginii

    % Pas 6: Binarizarea imaginii

    % Pas 7: Determinarea numrului de obiecte din imagine

    % Pas 8: Examinarea matricii etichetate

    % Pas 9: Vizualizarea imaginii etichetate ca o imagine color indexat

    % Pas 10: Masurarea diferitelor proprietati ale obiectelor din imagine

    % Pas 11: Calucul statistic al obiectelor din imagine

    clear, close all;

    % Pas 1: Citirea si afisarea imaginii

    I = imread('rice.tif');

    figure, imshow(I);

    pause

    % Pas 2: Estimarea valorii aproximative a pixelilor din fundal

    % Se foloseste open (deschiderea imaginii) pentru eliminarea obiectelor din

    % imagine

    se = strel('disk',15);

    background = imopen(I,se);

    figure, imshow(background);

    pause

    % Pas 3: Vizualizarea fundalului ca o suprafata

    % Se foloseste functia surf - vezi help

    figure, surf( double(background(1:8:end,1:8:end)) ) ,zlim([0 255]);

    set(gca,'ydir','reverse');

    pause

  • Sisteme de vedere artificial Lucrarea de laborator nr. 8

    4

    % Pas 4: Crearea unei imagini cu fundal uniform

    % Se foloseste diferenta imaginilor : functia imsubstract

    I2 = imsubtract(I,background);

    figure, imshow(I2);

    pause

    % Pas 5: Ajustarea contrastului imaginii

    % Se mareste contrastul folosind imadjust (vezi lucrari de laborator precedente)

    I3 = imadjust(I2, stretchlim(I2), []);

    %I3 = histeq(I2);

    figure, imshow(I3);

    pause

    % Pas 6: Binarizarea imaginii

    level = graythresh(I3);

    bw = im2bw(I3,level);

    figure, imshow(bw);

    pause;

    % Pas 7: Determinarea numrului de obiecte din imagine i etichetarea regiunilor

    % Se foloseste bwlabel vezi help

    [labeled,numObjects] = bwlabel(bw,4);

    numObjects

    pause

    % Pas 8: Examinarea matricii etichetate

    % Vizualizai portiuni din imagine folosind imcrop

    figure, imshow(labeled);

    pause

    % Pas 9: Vizualizarea imaginii etichetate ca o imagine color indexat

    % Colorarea imaginii folosind o palet de culori (similar colorarii din referatele

    % precedente)

    pseudo_color = label2rgb(labeled, @spring, 'c', 'shuffle');

  • Sisteme de vedere artificial Lucrarea de laborator nr. 8

    5

    figure, imshow(pseudo_color);

    pause

    % Pas 10: Masurarea diferitelor proprietati ale obiectelor din imagine

    % Functia regionprops calculeaz propriettile enumerate ale regiunilor din

    imaginea etichetata vezi help

    graindata = regionprops(labeled,'basic')

    pause

    % Afisarea suprafetei regiunii 51

    graindata(51).Area

    pause

    % Afisarea dreptunghiului de dimensiuni minime ce poate conine regiunea

    % Afisarea centrului de masa a regiunii 51

    graindata(51).BoundingBox, graindata(51).Centroid

    pause

    % Pas 11: Calcul statistic al obiectelor din imagine

    % Aria maxima a unui obiect din imagine

    max([graindata.Area])

    pause

    % Gasirea indicelui obiectului de arie 404

    biggrain = find([graindata.Area]==404)

    pause

    % Calcularea ariei medii

    mean([graindata.Area])

    pause

    % Calcularea unei histograme alctuite din 20 de obiecte care arata distribuia

    % ariilor

    figure, hist([graindata.Area],20)

    pause

  • Sisteme de vedere artificial Lucrarea de laborator nr. 8

    6

    5. Exerciii 1. Realizai mai multe achiziii de imagine folosind calculatorul Ursula si camera video

    din dotarea laboratorului de Sisteme de Vedere Artificial. Se va folosi aceeai pies

    n scen. Realizai segmentarea imaginilor obinute folosind metode de prag. Calculai

    descriptorii arie, perimetru i compactitate pentru fiecare imagine realizat. Comentai

    rezultatele obinute.

    2. Realizai o captur de imagine ce conine peste 5 piese similare i realizai un

    experiment asemntor celui din exemplu. Realizai cte o histogram pentru

    perimetru, arie, compactitate.

    3. Realizai o funcie proprie pentru calcul al ariei.

    4. Realizai o funcie matlab proprie pentru calculul perimetrului.

    5. Realizai o funcie matlab proprie pentru calculul compactitii.

    6. Comparai rezultatele funciilor proprii cu valorile obinute folosind regionprops

    6. Tem Realizai un referat n care s explicai rezultatele experimentale obinute.

    Untitled