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 26 27 28 29 30 31 32
| #include <cv.h>
#include <highgui.h>
#include <conio.h>
#include <iostream>
int i,j;
void main()
{
IplImage *img;
img = cvLoadImage("Obs.jpg");
cvShowImage("Photo prise camera", img);
printf("width = %d et height = %d",(*img).width,(*img).height);
CvScalar pixel,pixel2;
for (i=0;i<(*img).height-1;i++)
{
for (j=0;j<(*img).width-1;j++)
{
pixel=cvGet2D(img,i,j);
//Effacer le bleu
if ((pixel.val[0]==255)&&(pixel.val[1]==0)&&(pixel.val[2]==0))
if (i>0)
{pixel2=cvGet2D(img,i-1,j);//pixel qui se trouve au dessus du pixel selectioner
if ((pixel2.val[0]=0)&&(pixel2.val[1]=0)&&(pixel2.val[2]=255))
{pixel.val[0]=0;pixel.val[1]=0;pixel.val[2]=255;cvSet2D(img,i,j,pixel);}
//cvSet2D(img2,i-1,j,pixel2); j'ai des doute ici je croix que je doit liberer le pixel pour qu'il puisse restocker a nouveau
}
}
}
cvShowImage("Photo traiter", img);
cvWaitKey(0);
cvDestroyWindow("Photo");
cvReleaseImage(&img);
} |
Partager