17

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

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

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

虽然这本书解释了它,但我仍然不完全知道究竟是什么IplImage* img

cvLoadImage 是否将图像加载到 IplImage 指向的 img 中?谁能给我解释一下?谢谢

4

1 回答 1

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关于 IplImage 的其他问题

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

cvReleaseImage(&img)如果您不想发生内存泄漏,请不要忘记在完成后执行此操作。

于 2013-06-25T21:07:18.900 回答