| 12
 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
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 
 |  
/*Fonction qui affecte une couleur BW au pixel (i,j) de l'image img*/
 
void put_color_BW(IplImage** img, int i, int j, int C){
  CvPoint pt = {i,j};
  ((uchar*)((*img)->imageData + (*img)->widthStep*pt.y))[pt.x]=C;
}
 
/*Fonction qui recupere la couleur BW du pixel (i,j) de l'image img*/
void get_color_BW(IplImage* img, int i, int j, int *C){
  CvPoint pt = {i,j};
  *C=((uchar*)(img->imageData + img->widthStep*pt.y))[pt.x];
}
 
int main(){
  IplImage *img, *img_deux=0;
  int height,width,step,channels,depth, i,j,c;
  uchar *data, ;
 
  img = cvLoadImage ("fruits_gris.jpg",0);
 
  height    = img->height;
  width     = img->width;
  step      = img->widthStep;
  channels  = img->nChannels;
  depth     = img->depth;
  data      = (uchar *)img->imageData; 
 
 img_deux = cvCreateImage(cvSize(width,height),8,1);
 
 int seuil =60;
 
      for (i=0;i<=600;i++){
	for (j=0;j<=600;j++) {
             get_color_BW(img, i, j, &c);
             if (c>seuil){
                 put_color_BW(&img_deux, i, j,0);}
            else{
                  put_color_BW(&img_deux, i, j,1);}
	  }
}
  cvNamedWindow("Image seuil",1);
  cvShowImage("Image seuil",img_deux);
  //cvSaveImage("Seuil.jpg", img_deux);
  cvWaitKey(0);
  cvReleaseImage(&img);
  cvReleaseImage(&img_deux);
  return 0;                    
} | 
Partager