Skip to content

Color detection in Python with OPENCV. Client server architecture.

Notifications You must be signed in to change notification settings

lukapopovici/nao-robot-color-recognition-and-sorting

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ROBOT NAO

Descriere proiect

Titlu oficial : Sortarea obiectelor în funcție de culoare utilizând robotul NAO

O aplicație server-client care preia imagini de la robotul NAO, separă obiectele individuale folosind OpenCV, le clasifică pe baza culorii și le etichetează corespunzător. La cerere, aplicația poate fie să sorteze obiectele în grămezi în funcție de culoare, fie să ofere obiectele direct în mână utilizatorului.

Schema bloc

Untitled drawing(1)

  • Mențiune: "Clientul" e o altă aplicație care rulează în Python 2.7 din cauza faptului că nu se poate rula cod scris de direct pe robot. Dar tot vor fi două aplicații care vor comunica prin sockets: Server-side care face interpretarea și va rula pe ultima versiune Python și Client-side care va fi rulat pe Python 2.7 pentru a apela funcții NAOqi și va face comunicarea cu robotul. În scope-ul diagramei, clientul E robotul deși aplicația Client funcțional va avea rol de interfață laptop - robot.

Algoritm de procesare imagine

Algoritmul meu are doua etape, cea de procesare si preprocesare. Scopul lui e detectarea culori obiectului de interes.

Preprocesare

  • Simplificare si aplicare filtre de thresholding: Aplic filtre pentru simplificarea imaginii si extrag contururile detectate.

Parametri relevanți:

  • Praguri pentru binarizare (valoare hue) : 50-200
  • Iterații de aplicare a morfologiei: 10
  • Mărimea matricei folosite la morfologie: ELLIPSE 7x7

Procesare

  • Găsesc cel mai lung contur din imaginea preprocesată.
  • Fac media aritmetică a pixelilor lui pentru fiecare canal RGB.
  • La final, încadrăm valorile RGB în niște praguri pentru a obține culoarea.
  • Alternativ, punem valorile RGB intr-un model de retea neuronala pentru a aproxima culoarea
Original Preprocessed End Result

Tehnolgii utilizate din schema bloc:

  • NAO Robot API (Python sdk) (ONLY CLIENTSIDE)
  • Python sockets library
  • OpenCV

About

Color detection in Python with OPENCV. Client server architecture.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 58.5%
  • Jupyter Notebook 36.1%
  • Shell 2.8%
  • Batchfile 2.6%