CvMat

– 행렬

 

1) 행렬

 

CvMat *cvCreateMat(int rows, int cols, int type)

행과 열의 크기를 주고 행렬요소의 자료형을 인수로 주면행렬의 헤더를 생성하고행렬 요소를 저장하기 위한 메모리를 할당하여 포인터를 반환한다.

 

cvSetReal2D(CvArr* arr, int idx, int idx1, double value);

2차원 행렬 또는 영상 포인터의 arr의 idx행과 idx1열의 요소 값에 value의 값을 저장한다.

 

CvMat* cvCreatMatHeader(int rows, int cols, int type);

행과 열의 크기를 주고자료형을 인수로 주면행렬의 헤더를 생성하여 포인터를 반환한다이 EO 행렬 요소를 저장하기 위한 메모리를 할당하지 않는다.

 

void cvCreateData(CvArr *arr);

행렬 또는 영상 포인터의 arr의 헤더에 맞게 또는 영상을 위한 메모리를 할당한다.

 

CvMat* cvInitMatHeader(CvMat* mat, int rows, int cols, int type, void* data = NULL, int step=CV_AUTOSTEP);

인수 row, cols, type, step을 이용하여 CvMat포인터 인수인 mat를 초기화한다. data는 행렬의 자료형, data는 행렬의 요소 값을 갖고 있는 포인터이고 step은 행렬의 행의바이트 크기이다.

 

2) 파일에서 영상 읽기 및 화면에 출력하기

 

IpIImage* cvLoadImage(const char* filename, int iscolos=CV_LOAD_IMAGE_COLOR);

filename 파일에서 영상을 읽어오는 매우 중요한 함수인수 iscolor는 영상의 컬러를 지정하는 인수이다.

 

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

영상을 파일에 저장한다영상 포맷은 파일의 확장자에 의해 정해진다.

 

int cvWaitkey(int delay = 0)

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

 

int cvNamedWindow(const char* name, int flags)

name을 윈도우 캡션으로 사용하는 윈도우를 생성한다. name은 윈도를 식별하는 ID로 사용된다윈도우의 크기를 영상의 크기에 맞게 자동 조절하는 flags = CV_WINDOW_AUTOSIZE만을 지원한다.

 

void cvDestroyWindow(const char* name)

생성된 윈도우를 파괴한다생성된 윈도우가 하나 이상일 때 cvDestroyAllWindows(void) 함수에 의해 모든 윈도우를 한 번에 파괴할 수도 있다.

 

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

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

 

IpIImage* cvCreateImage(CvSize size, int depth, int channels)

size, width, height, depth, channels를 이용하여 영상의 IpIImage헤더를 생성하고영상 데이터를 위한 메모리를 할당한다. cvCreateImage 함수는 cvCreateImageHeader함수를 호출하고, cvCreateData 함수를 호출한 것과 같다. cvCreate 함수는 입력영상에 대한 중간결과 또는 최종결과 영상을 위한 메모리 할당에 주로 사용한다.

 

IpIImage* cvCreateImageHeader(CvSize size, int depth, int channels)

영상의 IpIImage헤더는 생성하지만영상 데이터를 위한 메모리는 할당하지 않는다.


'Programming > OpenCV' 카테고리의 다른 글

OpenCV Edge Detection  (0) 2013.12.26