LE type IplImage peut être comparé à un tableau 1D pour le stockage des valeurs de pixels.
En effet tout les pixels sont stockés les uns à l asuite des autres.
(uchar*)(src->imageData+src->widthStep*(line_count))[n_pixel]
LE code ci dessus représente l'accès au pixel (n_pixel) placé sur la ligne (line_count) de l'image src.
donc, pour remplir une ipl image à partir de ton tableau dont tu connait la taille "2D" tu fais de la façon suivante :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
IplImage * src;
int k = 0;
int width = //sizeoftablewidth
int height = //sizeoftableheight
//creation de l'image de bonne taille, 8 depth, N/b
src = cvCreateImage(cvSize(width,height),8,1)
//remplissage du tableau
for(int i = 0 ; i < width ; i++)
for(int j = 0 ; j < height ; j++)
{
(uchar*)(src->imageData+src->widthStep*(j))[i]= tableau[k]
k++;
} |
voila en gros c'est quelque chose comme ça qu'il faut faire, e ne garantie pas le 0 erreur , un peu dans le paté ce matin moi =_x
Partager