
Traitement Images
-----------------

Voici LE programme le plus chaud du projet, ici on voit vraiment passer de tout, y a de l'acquisition d'image ( linux, usb, ... ) et du traitement d'image, et l c'est du pure bonheur ( algorithmiques, mathmatiques, ... ), et pour finir un peu d'IA :p

Donc l'objectif c'est de reprer intelligement la position des 15 quilles allies sur le terrain, et de partager la position de celles-ci, le tout avec un minimum de latence :'( Pour garantir le maximum de vitesse, et une bonne optimisation, je pensse qu'on va faire ca en asm, comme ca on perdra pas trop de temps.

Ce que l'on connait:
-le temps
-la position du robot au centre ( avec X, Y, angle par rapport  X )
-une image fourni par une webcam fixe par rapport au robot (  acquerir )
-l'angle de la webcam par rapport au sol
-la distance entre la webcam et le centre du robot

Pour commencer, on cre une copie de l'image acquise ou l'on vire tous ce qui n'est pas de la couleur allies de l'image. Ca tombe bien on est en rgb :)
Pour cela on doit dfinir un seuil pour lequel le pixel comme de couleur rouge ou verte. En fait il n'y a pas un seuil mais 3, 1 pour la couleur vise, ou la valeur donne par le pixel doit tre supperieur a ce sueil, et 2 autres pour les autres couleurs, ou les valeurs fournient par le pixel doivent tre infrieur a ces 2 sueils.
Au final on se retrouve avec une matrice sur 2 bits de la taille de l'image. Mais le bipolaire c'est pas top non plus ... Donc on cre une nouvelle matrice de la taille de l'image toujours, et pour chaque pixel ou la valeur de la matrice prcdente est de 1, on copie la valeur de la couleur allie de l'image initiale, et si c'est 0, ben c'est 0.
C'est pas super parceque on garde que la valeur du rouge ou du vert, et les 2 autres passent a la trappe, faut voir si ca va suffir, au pire on peut corrig et faire une moyenne des 3 valeurs ... )

Donc y a un truc qui est bien c'est qu'on a plus a ce souci de la couleur ;p

Petite ide d'algo pour la dtection de contour:
On doit faire ca pour chaque couleur en fait.
Le truc c'est de faire une dtection de contour, pour ca faut trouver un petit algo pour trouver les contours qui cre une nouvelle matrice de la taille de l'image avec les contours  1. Ensuite on dtecte les extrmits des quilles, comment? 
Bonne question mais faut trouver les points des extrmits des zones rouges, pour ca faudrait trouver les contours correspondant aux zones rouges 

Petite ide on sait jamais ca peut servir:
ca consiste a se reprer par rapport  la table ( sic )
en fait le robot doit dtect les cases de la table, pour cela il dtecte des contours, trace des droites et compare la luminosit des cases ( fonc / clair ), a partir de l il trouve les coordonnes des cases ( il regarde thoriquement o le centre des cases ( intersection des droites provenants des 4 intersections des droites reprsentants les cases ) devrait se trouver ( comparaison avec les coordones du robot, etc ... )
