Bonjour, j'aurais besoin d'aide pour mon projet. Je fais de la restauration d'image, je l'ai réalisé sous matlab et maintenant je cherche a le faire en C mais je n'arrive pas à récupérer les 3 composantes d'un pixel. J'ai essayé plusieurs techniques décrites dans le forum mais rien a fonctionné. Peut être que je ne m'y prend pas comme il faut. Voici le début de mon code



Code : 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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <stdio.h>
#include <stdlib.h>
#include <cv.h>
#include <cvaux.h>
#include <highgui.h>
 
 
int main(int argc, char *argv[])
{
 
IplImage *im, *r, *g, *b;
int i=0,j=0,l,c;
 
/* 1 => 3 canaux (0 => 1 seul, -1 => automatique) */
im = cvLoadImage("rome1.png", 1);
 
l = im[0].width;
c = im[0].height;
 
r = cvCreateImage(cvSize(l,c), im[0].depth, 1);
g = cvCreateImage(cvSize(l,c), im[0].depth, 1);
b = cvCreateImage(cvSize(l,c), im[0].depth, 1);
 
for(i=0;i<l;++i)
{
   for(j=0;j<c;++j)
   {
      r->imageData[j,i]= im->imageData[i*im->widthStep+j*im->nChannels];
      g->imageData[j,i]= im->imageData[i*im->widthStep+j*im->nChannels+1];
      b->imageData[j,i]= im->imageData[i*im->widthStep+j*im->nChannels+2]; 
   }                
} 
 
cvReleaseImage(&im);
cvReleaseImage(&r);
cvReleaseImage(&g);
cvReleaseImage(&b);
 
  system("PAUSE");	
  return 0;
}

merci d'avance pour vos réponses