文章《OpenCV里IplImage数据结构极易出错的问题》曾指出了一个IplImage中imageData指针容易出错的问题, 这篇文章接着之前的叙述,提出IplImage和单字节char*之间相互转换的正确、简洁的方法:
已知 IplImage* image,char* data和图像宽高width,height:
从 IplImage* 到 char*:
从 char* 到 IplImage*:
step指定IplImage图像每行占的字节数。需要注意是,在释放空间时不能直接使用cvReleaseImage,而需cvReleaseImageHeader,然再delete data,这也是OpenCV里边“自己管理内存”的思想。
附《Intel image processing library》文档中关IplImage的声明: