IplImage 구조체 구조

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;


width   - 영상 가로 픽셀 크기

height  - 영상 세로 픽셀 크기

nChannels
 - 색상 평면의 개수. 그레이스케일 = 1, 트루컬러 = 3

depth
 -픽셀을 표현하는 자료형에 대한 정보. depth 멤버의 값이 IPL_DEPTH_8U으로 설정되어 있으면, 이는 8비트 부호 없는 자료형, 즉 unsigned char 형을 사용한다는 것을 의미한다.

imageData - 픽셀 데이터

widthStep - 한 행을 표현하기 위해 필요한 바이트 수

origin - 0이면 영상이 정상적인 순서로 저장되어 있음을, 1이면 BMP 파일의픽셀 데이터처럼 상하가 반전되어 있음을 의미