본문 바로가기

Programming Tips/OpenCV

IplImage 구조체

OpenCV에서는 이미지를 다룰때 intel® Image Processing Library에 정의되어있는
IplImage구조체를 이용한다. 구조체는 다음과 같으며 자세한 사항은 OpenCV Library
를 설치한 후 생기는 Document를 참고하시기 바란다.

typedef struct _IplImage
{
    int  nSize;                            //구조체의 크기
    int  ID;                                 //이미지헤더의 버전
    int  nChannels;                    //채널의 개수 1~4까지 이용가능
    int  alphaChannel;                //알파채널의 개수 OpenCV에서는 무시 ㅡㅡ;
    int  depth;                            //픽셀을 표현하는 자료형 ex)IPL_DEPTH_8U
    char colorModel[4];            
    char channelSeq[4];            
    int  dataOrder;                              
    int  origin;                            //이미지의 방향
    int  align;        
    int  width;                            //이미지의 가로 크기
    int  height;                           //이미지의 세로 크기
    struct _IplROI *roi;                //ROI의 포인터
    struct _IplImage *maskROI;    //ROI마스크의 포인터
    void  *imageId;                    
    struct _IplTileInfo *tileInfo;
    int  imageSize;                     //이미지의 크기를 바이트로 나타낸 것.
    char *imageData;                 //이미지 픽셀 데이터의 포인터
    int  widthStep;                     //이미지의 한 행을 나타내기 위한 바이트의 수
    int  BorderMode[4];
    int  BorderConst[4];
    char *imageDataOrigin;         //정렬되지 않은 이미지 전체에 대한 포인터
}
IplImage;

자주 사용되는 것들만~