如何将IplImage转换为char数组
我想知道这是否可能,如果可能的话,如何在C(或C++)中将IplImage转换为字符数组。如何将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
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。或者更好,图像大小。