DissertationsEnLigne.com - Dissertations gratuites, mémoires, discours et notes de recherche
Recherche

Projet L'Image

Mémoires Gratuits : Projet L'Image. Rechercher de 53 000+ Dissertation Gratuites et Mémoires
Page 1 sur 6

’est pas suffisant, on va essayer d’analyser la forme du frelon. Par les résultats de la programmation, le program peut fermer le piège quand il se connaît le frelon.

On développe une programmation sous Windows OS en langage C++. On analyse des images par pixel par couleur. On va essayer de obtenir des images par le camera et contrôler le pièges aussi.

Outils & Ressources

On a utilisé langage C++ pour développer la programmation. Parce que c’est un langage qu’on a utilisé souvent et il est plus pratique. On sait bien programmer dans langage C++ et on fait le program sous Windows OS. On a choisi Visual Studio 2008.

Le biologist nous a donné des photos du frelon asiatique et les autres frelons comme la bibliothèque du projet. On les analyse par couleur et obtient des informations d’histogramme. Ils sont stockés dans un fichier pour classifier l’image cible.

Les étapes de développement

1. Lire des images du frelon asiatique par pixel par couleur

2. Stocker les informations comme un diagramme d’histogramme

3. Analyser l’image cible en utilisent la même méthode

4. Comparer le résultat aves des images stockés dans la base de données, utiliser l’algorithme « K-Nearest Neighbor (KNN) »

5. Si l’erreur moyenne est dans une certaine plage on lance le piège, sinon on fait rien

Réalisation

Premier étape : Lire une image

On étudie la structure d’une image .bmp, .jpg, .png etc. Comment lire une image.

La structure :

Information Tête : Taille, Couleur, etc.

typedef unsigned char BYTE;

typedef unsigned short WORD;

typedef unsigned int DWORD;

typedef long LONG;

typedef struct tagBITMAPFILEHEADER {

WORD bfType; //type de fichier est obligatoire à BMP

DWORD bfSize; //taille de fichier

WORD bfReserved1; //reserved mot

WORD bfReserved2; //reserved mot

DWORD bfOffBits; //le migration de info d'image à la tête de fichier

}BITMAPFILEHEADER ;

typedef struct tagBITMAPINFOHEADER {

DWORD biSize; //taille de la tête de info

LONG biWidth; //width d'image

LONG biHeight; //height d'image

WORD biPlanes; //=1

WORD biBitCount; //count de chaque pixel

DWORD biCompression; //type de zip

DWORD biSizeImage; //taille de zip

LONG biXPelsPerMeter; //résolution horizontale

LONG biYPelsPerMeter; //résolution verticale

DWORD biClrUsed; //count de coleur

DWORD biClrImportant; //coleur important

}BITMAPINFOHEADER ;

Les fonctions pour lire une image dans C++ :

For(int i=0;i<width*height;i++)

{

fread(imagedata,sizeof(tagIMAGEDATA),1,fpi);

Histogram(width,height,imagedata,i+1);

k++;

if(i==height*width-1)

cout<<k<<endl;

}

On analyse l’image par pixel et obtient les valeurs de la couleur RGB par chaque pixel.

Deuxième étape :

On stocke les résultats dans un vecteur 1*768. Il contient toute l’information couleur RGB d’image.

La structure de stockage :

D’abord dans 3 tableaux

1er tableau pour la couleur rouge, 0-255

2nd tableau pour la couleur vert, 0-255

3rd tableau pour la couleur bleu, 0-255

Il peut transfert à l’histogramme pour connaître quelle est la couleur le plus part de cette image.

Puis on regroupe les trois tableaux en entière. Il va nous donner un vecteur par chaque image, Un vecteur 1*768, on le stocke dans un fichier .txt.

Tant qu’on a plusieurs images sources, on a une base de données pour classifier l’image détectée.

Troisième étape :

On analyse l’mage entré en pixel et compare des couleurs avec les images connues.

L’algorithme : K-Plus Proches voisins (KNN)

En reconnaissance des formes, l'algorithme le k plus proche voisin (k-NN) est une méthode de classification des objets basés sur des exemples, Par les plus proches de formation dans l'espace des caractéristiques. k-NN est un type d'instance fondée sur l'apprentissage ou paresseuse où la fonction est seulement approchée localement. Tous les calculs sont reportés jusqu'à ce que la classification. L'algorithme le K plus proche voisin est parmi les plus simples de tous les algorithmes d'apprentissage machine: un objet est classé par un vote à la majorité de ses voisins, avec l'objet assigné à la classe la plus commune parmi ses k plus proches voisins (k est un nombre entier positif, généralement petite). Si k = 1, alors l'objet est simplement attribué à la classe de son plus proche voisin.

La même méthode peut être utilisée pour la régression, simplement en assignant la valeur de la propriété de l'objet à la moyenne des valeurs de ses k plus proches voisins. Il peut être utile de pondérer les contributions des voisins, de sorte que les voisins proches contribuer davantage à la moyenne que celles plus éloignées. (Un système de pondération courante consiste à donner à chaque voisin d'un poids de 1 / d, où d est la distance au voisin. Ce schéma est une généralisation de l'interpolation linéaire.)

Les voisins sont prendre à partir d'un ensemble d'objets pour lesquels la classification correcte (ou dans le cas de la régression, la valeur de la propriété) est connue. Cela peut être considéré comme l'ensemble d'apprentissage pour l'algorithme, si aucune étape de formation explicite n’est nécessaire. L'algorithme le plus proche voisin k-est sensible à la structure locale des données.

Règles plus proches voisines dans l'effet de calculer la limite de décision d'une manière implicite. Il est également possible de calculer la limite de décision lui-même explicitement, et pour ce faire d'une manière efficace de sorte que la complexité de calcul est fonction de la complexité des limites.

Algorithme

Les exemples de formation sont des vecteurs dans un espace multidimensionnel, chaque fonctionnalité avec une étiquette de classe. La phase de formation de l'algorithme consiste

...

Télécharger au format  txt (9.4 Kb)   pdf (98.6 Kb)   docx (9.8 Kb)  
Voir 5 pages de plus »
Uniquement disponible sur DissertationsEnLigne.com