Sunteți pe pagina 1din 5

Sisteme de vedere artificial

Lucrarea de laborator nr. 1

LUCRAREA NR. 1
1. Scopul lucrrii
Dup efectuarea primei lucrri de laborator studenii trebuie s tie s achiziioneze
imagini folosind dotarea din laborator i s efectueze cteva operaii simple de manipulare a
imaginilor n programul Matlab 6.0 folosind funcii din Image Processing Toolbox.

2. Breviar teoretic
Principala operaie a unui sistem de vedere artificial este descrierea simbolic a unei
imagini. Etapele parcurse n acest scop sunt:

achiziia i formarea imaginilor

preprocesarea imaginilor

segmentarea imaginilor

descrierea

recunoaterea formelor

interpretarea

Lucrarea de fa se refer la prima etap executat de un sistem de vedere artificial, i


anume: achiziia i formarea imaginilor.

Sisteme de vedere artificial

3.

Lucrarea de laborator nr. 1

Achiziia i formarea imaginilor


3.1

. Achiziionarea imaginii

Laboratorul de Sisteme de Vedere Artificial are n dotare un sistem de calcul ce


permite achiziionarea imaginilor i salvarea acestora n fiiere bitmap. Sistemul are in
componena sa mai multe echipamente hardware specializate:
1. o camera de luat vederi analogic alb-negru dotat cu un alimentator de 9V;
2. un calculator (Ursula) pe care este instalat sistemul de operare Windows NT 4.0;
3. o plac de achiziie Matrox Meteor;
Pachetul software al plcii Matrox Meteor conine att utilitare ce permit achiziia, redarea i
salvarea imaginilor, ct i librrii ce permit realizarea de programe proprii. Un astfel de
program este Imag, realizat n cadrul catedrei de Automatic si Informatic Industrial.
Programul menionat conine numeroase funcii de prelucrare a imaginilor, dar cea care
prezint interes pentru lucrarea de fa este partea de achiziionare a imaginilor utiliznd placa
Meteor.
Etapele achiziionrii unei imagini folosind programul Imag:
1. se pornete calculatorul Ursula (daca acesta este oprit);
2. se verific alimentarea camerei de luat vederi;
3. se conecteaz cablul video cu un conector la camera video i cu cellalt conector la
placa de achiziie din calculatorul Ursula;
4. se lanseaz n execuie programul Imag;
5. se ncepe achiziia imaginilor din meniul On-line Start Grabe; programul Imag
afieaz ntr-o fereastra fluxul de imagini captate de ctre camer, realiznd o previzualizare a scenei int;
6. se poziioneaz dup dorina camera i obiectele n scena, vizualiznd imaginile din
fereastra intitulat Video on-line a programului Imag;
7. se oprete vizualizarea continu a imaginilor atunci cnd scena cuprinde toate
elementele dorite; aceasta operaie se face din meniul On-line Stop Grabe;
8. se salveaz imaginea captat n spaiul de lucru: meniul On-line Save (omiterea
acestui pas va conduce la o terminare defectuoas a programului);
9. se salveaz imaginea ntr-un fiier bitmap n directorul dorit din meniul File Save
As;
2

Sisteme de vedere artificial

Lucrarea de laborator nr. 1

3.2. Manipularea fiierelor imagine sub mediul de lucru Matlab


Mediul software de lucru folosit n cadrul laboratorului este Matlab 6.5. Image
Processing Toolbox conine o serie larg de funcii utile procesrii imaginilor sub Matlab,
imaginile fiind stocate n tablouri de valori numerice de tip uint8, uint16 sau double. n
lucrarea de fa sunt prezentate cteva funcii de manipulare a fiierelor imagine. Exist mai
multe tipuri de imagini suportate de catre mediul de lucru Matlab. Pentru o imagine de m * n
pixeli, vom avea:

imagine binar (binary image) imagine ce conine doar pixeli albi sau negri,
reprezentat sub forma unor tablouri de valori de 1(alb) i 0(negru) informaiile vor
fi stocate ntr-o matrice m*n de uint8 sau uint16;

imagine indexat (indexed image) imagine (matrice m * n) a caror pixeli conine


valoarea indicelui culorii dintr-o palet de culori. Paleta de culori este un tablou p*3,
cele trei coloane reprezentnd valorile RGB, unde p reprezint numrul de nuane din
palet;

imagine in nuante de gri (grayscale sau intensity image) valorile tabloului imagine
(matrice m * n) conine direct nuanta de gri, fr a fi nevoie de o palet de culori;

imagine multiframe (multicadru) tablou de imagini numite cadre, reprezentate in


Matlab ca tablouri 4-dimensionale, a patra dimensiune fiind numarul cadrului (m * n *
3 * nr_cadre);

imagine RGB (Red-Green-Blue, imagine color) fiecare pixel este reprezentat de trei
valori, cte una pentru fiecare component: rou, verde i respectiv albastru. (imaginea
este stocat ntr-o matrice m * n * 3).

citirea fiierelor imagine - imread

Funcia folosit pentru deschiderea fisierelor ce contin imagini este imread:


A = imread(FILENAME,FMT), unde A este matricea in care va fi stocat informaia,
FILENAME este numele fiierului imagine, iar FMT este formatul fisierului. Formatele
suportate de mediul Matlab se pot afla folosind funcia imformats.
Un exemplu de utilizare a acestei funcii este urmtorul:
i = imread(pout.tif, tif);
afiarea imaginilor - imshow
Vizualizarea imaginilor se poate face folosind funcia imshow:
imshow(i);
Imaginea va fi afiat n figura curent. Pentru a fi afiat n alt figur, este util urmtoarea
comand matlab: figure, imshow(i);
3

Sisteme de vedere artificial

Lucrarea de laborator nr. 1

salvarea imaginilor - imwrite


Funcia folosit pentru salvarea imaginilor ntr-un fisier pe discul dur, ntr-un format standard
suportat de catre mediul Matlab este imwrite:
imwrite(A, FILENAME, FMT) , unde A este matricea imagine, FILENAME este numele
fisierului n care sa fie stocat imaginea, iar FMT este formatul dorit al fisierului.
afiarea informaiilor unui fiier imagine - imfinfo
Funcia imfinfo este folosit pentru aflarea informaiilor despre un fisier imagine. Exemplu:
imfinfo('pout2.png')
funcii de conversie a imaginilor:
dither creeaz o imagine binar dintr-o imagine grayscale i o imagine indexat dintr-o
imagine rgb;
gray2ind creeaz o imagine indexat dintr-o imagine grayscale;
grayslice creeaz o imagine indexat dintr-o imagine grayscale;
im2bw creeaz o imagine binar dintr-o imagine indexat sau dintr-o imagine rgb;
ind2gray creeaz o imagine grayscale dintr-o imagine indexat;
ind2rgb creeaz o imagine rgb dintr-o imagine indexat;
mat2gray creeaz o imagine grayscale dintr-o matrice de date;
rgb2gray creeaz o imagine grayscale dintr-o imagine rgb;
rgb2ind creeaz o imagine indexat dintr-o imagine rgb.

4. Exemplu
Pentru observarea funciilor enumerate mai sus, rulai n Matlab urmtorul cod:
% citirea si afisarea unui fisier imagine
i = imread('pout.tif');
imshow(i)
whos
% salvarea imagini in alt format
imwrite (i, 'pout2.png');
% afisarea informatiilor privitoare la fisierul nou creat
imfinfo('pout2.png')
% transformarea imaginii din grayscale intr-o imagine indexata si afisarea
% imaginilor
[x, map] = gray2ind(i);
figure, imshow(i);
4

Sisteme de vedere artificial

Lucrarea de laborator nr. 1

figure, imshow(x, map);


% salvarea celor doua imagini
imwrite(i, 'test1.tif');
imwrite(x, map, 'test2.tif');
% afisarea informatiilor privitoare la cele doua imagini de test
imfinfo(test1.tif)
imfinfo(test2.tif)
Observai variabilele I i I2. Vizualizai imaginile pout.tif si pout2.png utiliznd un alt utilitar.
Observai dimensiunile variabilelor I i I2 i ale imaginilor nou create.
Observaii

Pentru aflarea mai multor detalii privitoare la funciile enumerate, scrieti in linia de
comanda a mediului Matlab:

help nume_functie
Exemplu: help imwrite.

5. Exerciii
1. Realizai cateva achiziii de imagine folosind calculatorul Ursula si camera video din
dotarea laboratorului de Sisteme de Vedere Artificial.
2. ncrcai aceste imagini n spaiul de lucru Matlab.
3. Incrcai n spaiul de lucru diverse imagini din directoarele C:\SVA\Imagini i din
%MATLABDIR%\toolbox\images, folosind funcia imread.
4. Executai comanda whos dup ncrcarea fiecrei imagini.
5. Afiati imaginile ncrcate utiliznd funcia imshow.
6. Convertii imaginile dintr-un tip n altul folosind funciile enumerate mai sus i afiai
imaginile dup fiecare conversie.
7. Enumerai formatele de fisiere imagine suportate de mediul Matlab.
8. Salvai imaginile ncrcate pe discul dur, n directorul C:\SVA\Lucru, n toate
formatele suportate. Observati dimensiunile fiierelor.
9. Afiai informaii despre fiierele imagine obinute dup rezolvarea exerciiului 7.
folosing funcia imfinfo. Exemplu:
info = imfinfo('canoe.tif').

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