Documente Academic
Documente Profesional
Documente Cultură
LUCRAREA NR. 3
1. Scopul lucrării
În cea de-a treia lucrare de laborator se propune studiul asupra transformărilor geometrice
ce pot fi aplicate pe imagini picturale.
2. Breviar teoretic
Reamintim etapele de prelucrare a informaţiilor realizate de un Sistem de Vedere
Artificială:
• achiziţia şi formarea imaginilor
• preprocesarea imaginilor
• segmentarea imaginilor
• descrierea
• recunoaşterea formelor
• interpretarea
⎡ x1 ⎤
x = ⎢ ⎥ → clasificare
⎢x ⎥
⎣ n⎦
achiziţie şi
segmentare descriere recunoaştere interpretare
preprocesare
Camera
TV Braţ
robot
controler
robot
1
Sisteme de vedere artificială Lucrarea de laborator nr. 3
Dacă în lucrarea numărul 1 s-a discutat despre achiziţia şi formarea imaginilor, cea de
faţă începe tratarea etapei preprocesării imaginilor, pentru care atât marimea de intrare cât şi
cea de ieşire sunt imagini picturale (iconice).
3 Transformări geometrice
Astfel, pixelului de coordonate (x,y) din imaginea iniţială îi va corespunde pixelul (x’,y’) din
imaginea transformată (fig. 1).
(x’,y’)
(x,y)
Fig. 1
Dintre transformările uzuale, amintim:
- transformarea biliniară:
⎧ x' = a0 + a1 x + a 2 y + a3 xy
⎨
⎩ y ' = b0 + b1 x + b2 y + b3 xy
(sunt necesare patru perechi de puncte pentru determinarea coeficienţilor)
- transformarea afină:
⎧ x' = a0 + a1 x + a2 y
⎨
⎩ y ' = b0 + b1 x + b2 y
(sunt necesare doar trei perechi de puncte pentru determinarea coeficienţilor).
2
Sisteme de vedere artificială Lucrarea de laborator nr. 3
Folosind transformarea afină cu anumiţi parametri se pot defini următoarele operaţii:
rotaţia, translaţia, scalarea şi înclinarea cu un anumit unghi faţă de o anumită axă.
Transformarea duce la schimbarea sistemului de coordonate. Pentru a studia influenţa
acestei schimbări, se foloseşte iacobianul J :
Dacă J = 0, atunci nu există transformare inversă.
Dacă J = 1, atunci aria este invariantă la transformare.
Pentru transformarea biliniară, J = a1b 2 − a2 b1 + (a1b 3 −a3b1 ) x + (a3b 2 − a2 b3 ) y .
Transformări utile:
- înclinarea cu unghiul ϕ pe direcţia y:
⎧ x' = x + y ⋅ tgϕ
⎨ (J=1, aria nu se modifică).
⎩ y' = y
- scalarea cu factorul a pe direcţia x şi b pe direcţia y:
⎧ x' = ax
⎨ (J=ab, aria se modifică).
⎩ y ' = by
- translaţia pe direcţia x cu a şi pe y cu b:
⎧ x' = x − a
⎨ (J=1, aria nu se modifică).
⎩ y' = y − b
- rotaţia cu unghiul ϕ :
b. Interpolarea reprezintă metoda de estimarea a nivelului de gri a unui punct situat între
pixelii imaginii. Interpolarea nivelelor de gri este necesară deoarece coordonatele obţinute
prin transformare, x` şi y` nu sunt numere întregi, ci sunt numere reale, şi nu se suprapun
peste grila noii imagini. Astfel, se realizează o aproximare a tonurilor de gri ale pixelilor
imaginii noi. Metodele de interpolare cele mai întâlnite sunt:
- metoda vecinului cel mai apropiat;
3
Sisteme de vedere artificială Lucrarea de laborator nr. 2
- interpolarea liniară;
- interpolarea bicubică.
Considerând punctul (x`,y`) din imaginea nouă, dacă se aplică transformata inversă T −1 ,
se obţin coordonatele (x,y) reale din imaginea iniţială. Pe baza acestor coordonate, şi a
nivelelor de gri din imaginea iniţială, se aproximează nivelul de gri al pixelului (x`,y`) din
imaginea nouă.
3.4 . Exemplu
Următorul exemplu realizează o transformare de perspectivă a unei texturi tip tablă de
şah. Urmăriţi efectul acestor funcţii.
I = checkerboard(20,1,1);
figure; imshow(I)
T = maketform('projective',[1 1; 41 1; 41 41; 1 41],...
[5 5; 40 5; 35 30; -10 30]);
R = makeresampler('cubic','circular');
K = imtransform(I,T,R,'Size',[100 100],'XYScale',1);
figure, imshow(K)
4
Sisteme de vedere artificială Lucrarea de laborator nr. 3
4 Exerciţii
4.1. Realizaţi o funcţie de scalare (redimensionare), utilizând metoda de interpolare a
vecinului cel mai apropiat
4.2 Scrieţi o funcţie Matlab care să realizeze rotaţia unei imagini grayscale cu un anumit
unghi primit ca parametru
Observaţii: se va utiliza interpolarea prin metoda vecinului cel mai apropiat.
4.3 Dezvoltaţi o funcţie pentru crearea unei piramide de scalări