Sunteți pe pagina 1din 23

Universitatea din Craiova

Facultatea de Automatica,
Calculatoare si Electronica

Detecția ochilor într-o imagine-particularizare

Profesor : Doctor Inginer Dorian Cojocaru


Studenti : Popescu Valentin Cristian - SAI
Anul : Master I

27 January 2018
Cuprins:

Enunțul aplicației finale...............................................................................................................................3


Obiective propuse........................................................................................................................................3
Mediul de dezvoltare...................................................................................................................................4
Descrierea aplicației....................................................................................................................................5
1. Upload Image..................................................................................................................................8
2. Normal Zoom, Double Zoom, Zoom Out........................................................................................9
3. Save Image....................................................................................................................................11
4. Face Detection...............................................................................................................................12
5. Nose detection...............................................................................................................................14
6. Mouth Detection............................................................................................................................16
7. White/Black Image........................................................................................................................19
8. Color Cube Effect..........................................................................................................................20
9. Sepia Effect...................................................................................................................................21
10. Electronic Effect........................................................................................................................22

2
Enunțul aplicației finale

Crearea și implementarea unei aplicații în Matlab, pornind de la un exemplu


dat ”A simple and efficient eye detection method in color image.pdf” .

Obiective propuse

 Detectarea feței;

 Detectarea ochilor;

 Detectarea gurii;

 Detectarea nasului;

 Designe-ul aplicatiei(GUI);

 Efecte standard pentru o imagine;

 Zoom in/ Zoom out în imagine.

3
Mediul de dezvoltare

MATLAB (de la Matrix Laboratory) este un mediu de dezvoltare

pentru calcul numeric și analiză statistică ce conține limbajul de programare cu

același nume, creat de MathWorks. MATLAB permite manipularea matricilor,

vizualizarea funcțiilor, implementarea algoritmilor, crearea de interfețe și poate

interacționa cu alte aplicații. 

Interfața grafică (Graphical User Interface sau GUI), este o interfață cu

utilizatorul bazată pe un sistem de afișaj ce utilizează elemente grafice. Interfața

grafică este numit sistemul de afișaj grafic-vizual pe un ecran, situat funcțional între

utilizator și dispozitive electronice cum ar fi computere, dispozitive personale de

tip hand-held.

4
Descrierea aplicației

Am realizat o aplicație de prelucrare a unei imagini care comunică cu


utilizatorul prin intermediul interfeței grafice pe care am dezvoltat-o tot în Matlab.
Această aplicație este ilustrată în următoarea imagine.

Scopul aplicației este de a prelucra o imagine de formatul *jpg,*png,*bmp


aplicând anumite efecte standard pe care le identificăm și in PhotoShop
(white/black effect, color cube effect, sepia effect, electronic effect).
Principalul scop este detectarea într-o imagine a ochilor, nasului, gurii, feței
și numărarea acestora.

5
Aplicația a fost realizată cu ajutorul GUIDE (Graphical User Interface
Development Environment) realizând un fișier de tipul *fig dezvoltat tot în mediul
Matlab. Acest lucru este prezentat în următoarea imagine:

Legătura cu fișierul de tip Matlab (*m) se realizează cu ajutorul funcțiilor


specifice fiecărui buton, dar și layout-ului principal. De exemplu butonul „upload
image” are funcția „load_ButtonDown” pe care o regăsim în fișierul de tip Matlab
(*m) și o apelăm în GUIDE cu următorul format:

6
Butoanele aplicației sunt următoarele:

1. Butonul “Upload image”

2. Butoanele “Zoom” :

 Zoom Out ;

 Normal Zoom;

 Double Zoom;

3. Butonul “ Save Image”

4. Butonul “ Face Detection”

5. Butonul “ Nose Detection”

6. Butonul “Mouth Detection”

7. Butonul “Eye Detection”

8. Butonul “White/Black Image”

9. Butonul “Color Cube Effect”

7
10.Butonul “Sepia Effect”

11.Butonul “Electronic Effect”

12.Butonul “Exit”

1. Upload Image.
În momentul deschiderii aplicației în mediul de dezvoltare Matlab, avem
doar un buton activ și anume butonul ”Upload image”. După ce imaginea ce se
dorește a fii prelucrată, este încărcată, atunci și restul butoanelor devin active și pot
să fie utilizate. De asemenea un titlu sugestiv este prezentat deasupra imaginii, ce
apare odată cu încărcarea imaginii, de exemplu: „The image was uploaded
successufully!”. Acest caz este ilustrat în figura de mai jos:

8
Codul sursă pentru butonul „Upload Image”:

2. Normal Zoom, Double Zoom, Zoom Out

În imagine pe care am încărcat-o în exemplul de mai sus, putem aplica trei


tipuri de zoom. După rularea acestora se poate reveni la poza normală prin
intermediul butonului de “zoom out”, fiecare avand un titlu sugestiv.
 De exemplu pentru ,,Normal zoom’’ cu afișarea unui mesaj corespunzator:

Mărirea de 2 ori a imaginii

Codul sursă pentru butonul „Normal Zoom”:

 De exemplu pentru ,,Double zoom’’ cu afișarea unui mesaj corespunzator:

9
Mărire de 4 ori a imaginii

Codul sursă pentru butonul „Double Zoom”:

 De exemplu pentru “Zoom Out’’ cu afișarea unui mesaj corespunzator:

10
Revenire la imaginea originală

Codul sursă pentru butonul „Zoom Out”:

11
3. Save Image

La imagine pe care am încărcat-o în exemplul de mai sus, putem aplica mai


multe filtre. După rularea acestora se poate salva imaginea noua într-un nou format
de tipul “DD-MM-YYYY_HHMMSS” la care se adaugă extensia “*png”.
Acest caz este ilustrat în următoare imagine:

Codul sursă pentru butonul „save image”:

4. Face Detection

12
După încărcarea pozei din folder-ul curent în aplicație, putem aplica metoda
“face detection”. Aceasta detectează dintr-o imagine numărul total de fețe
(chipuri), afișând pe poza curentă un chenar la fiecare chip detectat, dar și numărul
total de fețe din imagine. În caz contrar. adică dacă în imagine nu se află nici o
persoană, se va afișa un mesaj corespunzător: “This image does not contain faces
detection”.
În următoarea imagine este ilustrat primul caz, în care sunt detectate în
total 6 chipuri/fețe:

Cel de al doilea caz, în care se încarcă o simplă imagine care nu conține


persoane, este ilustrat în exemplul de mai jos:

13
Codul sursă pentru butonul „face detection”:

5. Nose detection
După încărcarea pozei din folder-ul curent în aplicație, putem aplica metoda
“nose detection”. Aceasta detectează dintr-o imagine numărul total de nasuri,
afișând pe poza curentă un chenar la fiecare nas detectat, dar și numărul total al lor.
În caz contrar adică, dacă în imagine nu se află nici un nas detectat, se va afișa un
mesaj corespunzător: “This image does not contain "nose detection”.
În imaginea următoare este ilustrat primul caz, în care este detectat un nas:

14
Cel de al doilea caz, în care se încarcă o simplă imagine care nu conține
nas, este ilustrat în exemplul de mai jos:

Codul sursă pentru butonul „nose detection”:

15
6. Mouth Detection

După încărcarea pozei din folder-ul curent în aplicație, putem aplica metoda
“mouth detection”.Aceasta detectează dintr-o imagine numărul total de guri,
afișând pe poza curentă un chenar la fiecare gura detectatată, dar și numărul total
de guri din imagine. În caz contrar adică, dacă în imagine nu se află nici o gura, se
va afișa un mesaj corespunzător: “This image does not contain "mouth detection”.
În imaginea următoare este ilustrat primul caz, în care sunt detectate în
total 6 guri:

Cel de al doilea caz, în care se încarcă o simplă imagine care nu conține


gura, este ilustrat în exemplul de mai jos:

16
Codul sursă pentru butonul „mouth detection”:

6. Eyes detection
După încărcarea pozei din folder-ul curent în aplicație, putem aplica metoda
“eye detection”. Aceasta detectează dintr-o imagine numărul total de ochi, afișând
pe poza curentă un chenar la fiecare ochi detectat, dar și numărul total de ochi din
imagine. În caz contrar adică, dacă în imagine nu se află nici un ochi, se va afișa un
mesaj corespunzător: “This image does not contain "eyes detection”.
În imaginea următoare este ilustrat primul caz, în care sunt detectati ochi:

17
Cel de al doilea caz, în care se încarcă o simplă imagine care nu conține
ochi, este ilustrat în exemplul de mai jos:

Codul sursă pentru butonul „eyes detection”:

18
7. White/Black Image

După încărcarea pozei din folder-ul curent în aplicație, putem aplica efectul
“white/black image”.După apăsarea butonul, la imaginea din cadru se va adauga
efectul alb/negru al pozei, rezultând astfel o imagine de culoarea alb-negru, la care
se va adăuga un titlu sugestiv: “The "White/Black" effect is activated on image!”.
Acest caz este ilustrat în următoarea imagine:

Codul sursă pentru efectul „white/black image”:

8. Color Cube Effect

19
După încărcarea pozei din folder-ul curent în aplicație, putem aplica
efectul “color cube effect”. După apăsarea butonul, la imaginea din cadru se va
adauga efectul Cub Color al pozei, rezultând astfel o imagine de culoarea
cromată, la care se va adăuga un titlu sugestiv: “The "ColorCube" effect is
activated on image!”. Acest caz este ilustrat în următoarea imagine:

Codul sursă pentru efectul „color cube effect”:

20
9. Sepia Effect

După încărcarea pozei din folder-ul curent în aplicație, putem aplica


efectul “sepia effect”. După apăsarea butonul, la imaginea din cadru se va
adauga efectul Sepia al pozei, rezultând astfel o imagine cu efectul sepia, la care
se va adăuga un titlu sugestiv: “The "Sepia" effect is activated on image!”.
Acest caz este ilustrat în următoarea imagine:

Codul sursă pentru efectul „sepia effect”:

21
10. Electronic Effect

După încărcarea pozei din folder-ul curent în aplicație, putem aplica efectul
“electronic effect”. După apăsarea butonul, la imaginea din cadru se va adauga
efectul electronic al pozei, rezultând astfel o imagine cu efectul electronic, la care
se va adăuga un titlu sugestiv: “The "Electronic" effect is activated on image!”.
Acest caz este ilustrat în următoarea imagine:

Codul sursă pentru efectul „electronic effect”:

22
23

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