OpenCV中IplImage与BYTE格式定义如下:
IplImage* img
BYTE* da ta
BYTE* da
1. 由IplImage*得到BYTE*图像数据:
da ta
= img->imageDataOrigin; //未对齐的原始图像数据
或者
da ta
= img->imageData; //已对齐的图像数据
或者
da
2. 由BYTE*得到IplImage*图像数据
img = cvCreateImageHeader(cvSize(width,height),depth,channels);
cvSetData(img,da ta,step);
首先由cvCreateImageHeader()创建IplImage图像头,制定图像的尺寸,深度和通道数;然后由cvSetData()根据BYTE*图像数据指针设置IplImage图像头的数据数据,其中step指定该IplImage图像每行占的字节数,对于1通道的IPL_DEPTH_8U图像,step可以等于width;对于3通道的IPL_DEPTH_8U图像,step可以等于width*3。
cvSetData(img,da
首先由cvCreateImageHeader()创建IplImage图像头,制定图像的尺寸,深度和通道数;然后由cvSetData()根据BYTE*图像数据指针设置IplImage图像头的数据数据,其中step指定该IplImage图像每行占的字节数,对于1通道的IPL_DEPTH_8U图像,step可以等于width;对于3通道的IPL_DEPTH_8U图像,step可以等于width*3。