Cuprins
- 1. Tema proiectului 2
- 2. Considerente generale 2
- 3. a.Metode de implementare 4 b.Surse
- 4. Bibliografie 19
Extras din proiect
1. Tema proiectului
Sa se realizeze o aplicatie ce implementeaza diferite transformari geometrice asupra unei imagini (translatie, rotatie, zoom in/out, etc).
2. Considerente generale
Prin transformare afina reprezintam o clasa de transformari geometrice liniare
2D in care harta de puncte ( pixelii de pe pozitia ( x1, y1 ) ) este transformata intr-o
alta harta de pixeli ( a[ x2, y2 ] ), aplicand o combinatie liniara de translatie, rotatie,
scalare.
Operatia de transformare afina este data de relatia:
Alegand in mod particular A si B vom obtine cele 3 operatii de baza (ranslatie, rotatie,
scalare ).
1. Alegand doar matricea B, transformarea devine o translatie:
2. O rotatie pura utilizeaza matricea A astfel:
3. Iar pentru o scalare matricile sunt
2.1. Translatia
Reprezinta deplasarea unui punct de imagine ( pixel ) din pozitia ( x1, y1 ) a imaginii de intrare in pozitia ( x2, y2 ) a imaginii de iesire.
Operatia este definita de relatiile:
Unde x s y sunt specificate de utilizator ca si deplasament.
2.2. Rotatia
Reprezinta deplasarea unui punct de imagine ( pixel ) din pozitia ( x1, y1 ) a
imaginii de intrare in pozitia ( x2, y2 ) a imaginii de iesire, rotind in jurul originii O cu
cu unghiul .
Operatia este definita de relatiile:
2.3. Scalarea geometrica
(Scale, Zoom, Shrink,
Pixel Replication,
Pixel Interpolation, Subsampl)
Este cunoscuta si ca operatia de zoom asupra unei imagini. Aceasta operatie consta in
inlocuirea sau interpolarea dintre pixelul curent si pixelii vecini.
Scalarea va produce la iesire o imagine comprimata sau una expandata.
Exista doua metode de “sub-sampling”:
- prima metoda alege valoarea unui pixel ca “model” ce va inlocui un bloc
de 2x2 pixeli, pe cand
- a doua metoda realizeaza o interpolare intre valoarea pixelului si vecini
2.4. Oglindirea
Este operatia de transformare a unei imagini originale intr-o imagine finala
prin reflectarea fiecarui element ( x1, y1) din imaginea initiala in ( x2, y2 ), fata de o
axa indicata de utilizator.
Cazuri particulare
1. reflexia fata axa verticala pe abscisa x0
2. reflexia fata axa orizontala de coordonata y0
3. reflexia fata de o axa orientata in orice directie si trecand prin ( x0, y0 )
3. Metode de implementare
Aplicatia de fata a fost realizata in Borland C++ Builder 6.0. Operatiile care trebuiesc efectuate asupra imaginilor se pot alege fie dintr-un meniu, fie cu ajutorul butoanelor corespunzatoare. Meniul are, pentru inceput, doar cateva elemente active, celelalte devenind active atunci cand utilizatorul a terminat de incarcat o imagine(jpg sau bmp),la activarea optiunii File->Open sau apasand butonul “Open”.
Acum, utilizatorul are la indemana mai multe “unelte” cu care poate incepe procesul de prelucrare geometrica asupra imaginilor. Optiunile de care dispune sunt : rotire imagine cu 90 sau 180 la dreapta sau la stanga consecutiv sau o singura data, rotire cu un unghi de valoare specificata de utilizator, translatie, zoom in , zoom out, zoom in pe pozitia mouse-ului pe suprafata imaginii, etc.
Preview document
Conținut arhivă zip
- Transformari Geometrice asupra Imaginilor.doc