중도연재종료/OPENCV2013. 6. 9. 01:35

IplImage* ImageOpen()

{

    IplImage* image = 0;

    image = cvLoadImage("t9t9.jpg", 1);

 

    cvNamedWindow( "T9-viewer", 1);

    cvShowImage( "T9-viewer", image );

    cvWaitKey(0);

 

    cvDestroyWindow( "T9-viewer" );

return image;

}


1.IplImage

typedef struct _IplImage

{

int nSize;

int ID;

int nChannels;            //채널의 개수. 1~4

int alphaChannel;       

int depth;                    //화소의 비트표현 depth정보를 갖음(8비트 unsigned~64비트 배정도 실수)

char colorModel[4];

char channelSeq[4];

int dataOrder;             //채널 자료의 저장 순서{0:인터리브 컬러채널, 1:분리 컬러채널}

int origin;                    //영상의 원점{0:왼쪽 상단, 1:왼쪽 하단(비트맵 처럼). 기본 0}

int align;

int width;                    //가로방향 화소수

int height;

struct _IplROI *roi;        //Region Of Interest(ROI) 영상에서 관심영역.coi, xOffset,yOffset,width,height

struct _IplImage *maskROI;

void *imageld;

struct _IplTileInfo *tileInfo;

int imageSize;

char *imageData;

int widthStep;            //한 행의 바이트 개수

int BorderMode[4];

int BorderConst[4];

char *imageDataOrigin;

}


IplImage* cvLoadImage(const char* filename, int iscolor=CV_LOAD_IMAGE_COLOR);

:iscolor-> CV_LOAD_IMAGE_COLOR : 3채널 컬러 영상, CV_LOAD_IMAGE_GRAYSCALE : 1채널 그레이 스케일, CV_LOAD_IMAGE_UNCHANGED : 원본 영상 그대로


int cvSaveImage(const char* filename, const CvArr* image);

영상을 파일에 저장. 포맷은 파일 확장자에 의해 정해지며, 8비트 단일 채널과, 3채널 컬러영상으로 저장 가능


int cvWaitKey(int delay=0);

delay/1000초 만큼 지연 대기. delay=0이면 키를 누를 때 까지 무한히 대기


int cvNamedWindow(const char* name, int flags);

윈도우 생성. name은 식별 ID로 사용.

flag = CV_WINDOW_AUTOSIZE : 영상의 크기에 맞게 윈도우 크기 자동 조절


void cvShowImage(const char* name, const CvArr* image);

name 이름을 갖는 윈도우에 영상 image를 보여준다. 영상 크기에 맞게 윈도우의 크기가 스케일 된다.


void cvDestroyWindow(const char* name);

윈도우 파괴. cvDestroyAllWindows(void)로 모든 윈도우 파괴 가능

'중도연재종료 > OPENCV' 카테고리의 다른 글

cvMat  (0) 2013.06.09
CvMat 행렬 자료구조  (0) 2013.06.08
기초  (0) 2013.06.08
시작...  (0) 2013.06.08
Posted by 십자성군