bonjour, je viens de commencer a utiliser open CV et je n'arrive pas a realiser un tri dans les couleurs de pixels.. (je veux trouver un objet rouge dans mon image..
Apres avoir lus quelques cours et la docs, je suis arrivé a ce code ci :
Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 IplImage *frame; frame = cvCreateImage(cvGetSize(Image), IPL_DEPTH_8U, 3); frame = cvCloneImage( Image ); int step=frame->widthStep; unsigned char *data= reinterpret_cast<unsigned char *>(frame->imageData); for(int i=0;i<frame->height;i++) { for(int j=0;j<(frame->width*frame->nChannels);j=j+frame->nChannels); { if((data[j]<128)&&(data[j+1]<128)&&(data[j+2]>128)) {data[j]=0;data[j+1]=0;data[j+2]=255;} else {data[j]=128;data[j+1]=128;data[j+2]=128;} } data+=step; } Name_Tmp.Format(m_File_Name+" red"); cvNamedWindow(Name_Tmp, CV_WINDOW_AUTOSIZE); cvShowImage(Name_Tmp, frame); //Libérer lespace des images cvReleaseImage( &frame );
Donc, jai bien mes images pas de soucis... en revanche la partie pour chercher la couleur ne marche pas... une idée ??
Jai du mal a comprendre la facon de recherché les composantes de couleurs dans un pixel..
merci beaucoup
Partager