我刚开始学习OpenCV,学习的是"使用OpenCV库学习OpenCV计算机视觉"。
在演示如何显示图片的第一个例子中,它有一条线
IplImage* img = cvLoadImage("name.type")
尽管书中对此进行了解释,但我仍然不完全知道IplImage* img
到底是做什么的。
cvLoadImage是否将图像加载到IplImage所指向的img?有人能向我解释一下吗?感谢
-
img
是变量的名称,也可以是blahblahblah
; -
IplImage
是变量的类型,它只是一个struct
,它包含图像数据本身以及图像上的一些信息(大小、颜色深度等);typedef struct _IplImage { int nSize; int ID; int nChannels; int alphaChannel; int depth; char colorModel[4]; char channelSeq[4]; int dataOrder; int origin; int align; int width; int height; struct _IplROI* roi; struct _IplImage* maskROI; void* imageId; struct _IplTileInfo* tileInfo; int imageSize; char* imageData; int widthStep; int BorderMode[4]; int BorderConst[4]; char* imageDataOrigin; } IplImage;
有关IplImage
的更多信息:关于IplImage 的其他问题
cvLoadImage
提供了一个指向IplImage
的指针,这意味着它在加载它并返回它的位置时会创建一个IplImage
如果您不想内存泄漏,请不要忘记在完成cvReleaseImage(&img)
之后再执行它。