IplImage的解释* img

时间:2013-06-25 21:00:35

标签: opencv iplimage

我刚刚开始学习OpenCV“使用OpenCV库学习OpenCV计算机视觉”。

在演示如何显示图片的第一个示例中,它有一行

IplImage* img = cvLoadImage("name.type")

虽然这本书解释了这一点,但我仍然不完全清楚IplImage* img究竟是什么。

cvLoadImage是否将图像加载到IplImage指向的img?有人能解释一下吗?谢谢

1 个答案:

答案 0 :(得分:25)

  • 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的更多信息:Other question about IplImage

  • cvLoadImage提供了一个指向IplImage的指针,这意味着它在加载它时会创建一个IplImage并返回它的位置。

如果您不希望内存泄漏,请不要忘记在完成后cvReleaseImage(&img)