web-dev-qa-db-fra.com

Explication de IplImage * img

Je viens de commencer à apprendre OpenCV avec "Learning OpenCV Computer Vision with the OpenCV Library".

Dans le premier exemple qui montre comment afficher une image, il a une ligne

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

Bien que le livre l'explique, je ne sais toujours pas exactement ce que IplImage* img Est-ce que.

Est-ce que cvLoadImage charge l'image dans img vers laquelle pointe IplImage? Quelqu'un peut-il m'expliquer cela s'il vous plaît? Je vous remercie

17
decypher
  • img est le nom de la variable, pourrait aussi bien être blahblahblah;

  • IplImage est le type de la variable, c'est juste un struct qui contient les données de l'image elle-même plus quelques informations (taille, profondeur de couleur, etc.) sur l'image;

    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;
    

Pour plus d'informations sur IplImage: Autre question sur IplImage

  • cvLoadImage fournit un pointeur vers un IplImage, ce qui signifie qu'il crée un IplImage lorsqu'il le charge et vous renvoie son emplacement.

N'oubliez pas de faire cvReleaseImage(&img) lorsque vous en avez terminé, si vous ne voulez pas avoir de fuites de mémoire.

25
Smash