如何将IplImage转换为char数组

如何将IplImage转换为char数组,c,arrays,opencv,char,iplimage,C,Arrays,Opencv,Char,Iplimage,我想知道这是否可能,如果可能的话,如何在C(或C++)中将IplImage转换为字符数组。 thks假设声明: IplImage *img = /* ... */ img->imageData将包含对齐的像素数据(按BGR顺序)这意味着我基本上可以做char-bla[sizeof(img)]=img->imageData?如果您想复制内容,那将是:char*bla;blah=malloc(img->width*img->height*img->nChannels*sizeof(char));m

我想知道这是否可能,如果可能的话,如何在C(或C++)中将IplImage转换为字符数组。
thks

假设声明:

IplImage *img = /* ... */

img->imageData
将包含对齐的像素数据(按BGR顺序)

这意味着我基本上可以做
char-bla[sizeof(img)]=img->imageData?如果您想复制内容,那将是:
char*bla;blah=malloc(img->width*img->height*img->nChannels*sizeof(char));memcpy(blah,img->imageData,img->width*img->height*img->nChannels*sizeof(char))sizeof(img)
将是您的体系结构的指针宽度,而这不是您想要的。您可能希望这样:
char*blah=malloc(img->imageSize);memcpy(blah,img->imageData,img->imageSize)哼。。。好吧,那我就试试这个。有结果后我会发回。thks的帮助:)@karlphillip:WidthHeightChannel通常不是图像的大小。您需要使用widthStep。或者更好,图像大小。