Sunteți pe pagina 1din 12

Universitatea Ștefan cel mare Suceava Proiect PNI Laborator

FIESC - Calculatoare

Edge Detection
Android Studio Project -PNI

Profesor îndrumător: Realizator proiect:


Dr. Ing. Sfichi Ștefan Ivașcu Bogdan
grupa 3131-A

1
Universitatea Ștefan cel mare Suceava Proiect PNI Laborator
FIESC - Calculatoare

Cuprins:

Alegerea temei 2
Scop și funcționalitate 3
Interfața cu utilizatorul 3
Transformare fluxului video în gray 5
Detecția muchiilor 6
Filtrare Gaussiană 7
Calcul modul și direcție gradient 8
Suprimarea non-maximelor 9
Binarizare cu histereză 9

Rezultate detecție 11
Concluziile proiectului 12
Bibliografie 12

2
Universitatea Ștefan cel mare Suceava Proiect PNI Laborator
FIESC - Calculatoare

1. Alegerea temei
În primul rând am ales această temă ( detecția muchiilor ) deoarece mi-a atras
atenția în mod deosebit . Detecția muchiilor are o aplicabilitate răspândită în
domeniul de procesare a imaginilor, aceasta fiind folosită de la detecția formelor
obiectelor până la detecția liniilor pe carosabil .
În al doilea rând am dorit să realizez ceva util prin care să îmi îmbogățesc
cunoștințele legate de procesarea imaginilor într-un mod cât mai actual și
distractiv.

2. Scop și f​uncționalitate
Scopul proiectului este acela de a crea o aplicație portabilă , ușor de folosit și
intuitivă prin care tot odată să îmi însușesc noi cunoștințe de procesare a
imaginilor.
Aplicația are două funcționalități principale :

● prima este aceea de a transforma fluxul video color primit de la camera


telefonului în flux video gray ;
● a doua funcționalitate principală este de a extrage muchiile din fluxul video
de tip gray.

3
Universitatea Ștefan cel mare Suceava Proiect PNI Laborator
FIESC - Calculatoare

3. Interfața cu utilizatorul
În următoarele două imagini observăm interfața grafică din Android Studio

4
Universitatea Ștefan cel mare Suceava Proiect PNI Laborator
FIESC - Calculatoare

Interfața grafică din telefon

5
Universitatea Ștefan cel mare Suceava Proiect PNI Laborator
FIESC - Calculatoare

4. Transformare fluxului video în gray


Pentru a transforma fluxul video primut de la camera telefonului în flux gray v-a
trebui să convertim fiecare frame (cadru) din cadrul fluxului video într-o imagine
gray.
Pentru a transforma o imagine în format gray am utilizat librăria opencv ,cu
ajutorul căreia am convertit instanța camerei la o imagine gray,

În cazul nostru instanta ​inputFrame​ trebuie convertită la tipul ​Mat ​ pentru a putea
utiliza fiecare frame din fluxul video ca o matrice de pixeli , transformând fiecare
pixel într-o nuanță , mai accentuată sau mai puțin accentuată , de gri.

5. Detecția muchiilor

Pentru a detecta muchiile am luat imaginea convertită în grey și am transmis-o ca


parametru funcției de detecție a muchiilor .

6
Universitatea Ștefan cel mare Suceava Proiect PNI Laborator
FIESC - Calculatoare

În ​mat1 ​este matricea ce conține frame-ul original de la camera , în ​mat2 ​vom


pune imaginea din ​mat1 ​convertită la gray iar în ​mat3 ​vom pune matricea obținută
în urma apelării funcției de detecție a muchiilor . Funcția de detecție a muchiilor , în
cazul nostru ​Canny ​ , v-a detecta trecerile de la foreground la background .

Pentru a detecta muchiile funcția ​Canny ​face următoarele lucruri :


1. Aplică un filtru Gaussian pentru a uniformiza imaginea și pentru a scăpa de
zgomot;
2. Calculează gradientul, modul și direcția ( de exemplu folosind operatorul
Sobel );
3. Suprimează non-maximele ;
4. Binarizează cu histereză;

1. Filtrare Gaussiană

7
Universitatea Ștefan cel mare Suceava Proiect PNI Laborator
FIESC - Calculatoare

2. Calcul modul și direcție gradient

8
Universitatea Ștefan cel mare Suceava Proiect PNI Laborator
FIESC - Calculatoare

3. Suprimarea non-maximelor

!​ Dacă P este maxim local se reține , în caz contrar se elimină (magnitudinea lui primeşte
valoarea zero).

9
Universitatea Ștefan cel mare Suceava Proiect PNI Laborator
FIESC - Calculatoare

4. Binarizare cu histereză

10
Universitatea Ștefan cel mare Suceava Proiect PNI Laborator
FIESC - Calculatoare

6. Rezultate detecție

11
Universitatea Ștefan cel mare Suceava Proiect PNI Laborator
FIESC - Calculatoare

7. Concluziile proiectului

În concluzie detecția muchiilor este un proces complex ce presupune folosirea mai


multor tehnici simple de manipulare a imaginilor cum ar fi filtrarea Gaussiană ,
calculul gradientului , suprimarea non-maximelor și binarizarea cu histereză . În
mare detecția de muchii presupune desenarea pixelilor ce se află la granița dintre
un anumit obiect și fundalul imaginii ( foreground și background ) .

8. Bibliografie

● http://users.utcluj.ro/~rdanescu/pi_c10.pdf
● https://en.wikipedia.org/wiki/Canny_edge_detector
● https://docs.opencv.org/2.4/doc/tutorials/imgproc/imgtrans/canny_detector/canny_detect
or.html

12