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 ); |