메모리 스토리지
객체를 동적으로 생성하고자 할때 OpenCV에서 메모리를 할당하는 방법
메모리 블록들의 연결 리스트 이며, 연속된 메모리 블록들의 집합을 신속하게 할당 또는 해제 할수 있다.
CvMemStorage* cvCreateMemStorage(int block_size=0); |
메모리 스토리지를 생성하기 위해 사용된다. 이 함수는 저장공간 내 메모리 블록들의 크기를 알려주는 block_size를 인자로 갖는데 이 값이 0으로 설정되면 64KB의 기본 블록 크기가 사용된다. 메모리 스토리지가 생성된후 스토리지의 포인터값을 반환한다.
void cvReleaseMemStorage(CvMemStorage** storage); |
void cvClearMemStorage(CvMemStorage* storage); |
메모리 스토리지를 재사용할 수 있게 만드는 역할을 한다. cvReleaseMemeStoreage()함수와는 달리 메모리 공간을 해제 하지 않는다.
void* cvMemStorageAlloc(CvMemStorage* storage, size_t size); |
기존에 생성된 메모리 스토리지에 메모리 버퍼를 새로 할당하기 위해 사용된다. 이 함수는 malloc()함수가 힙(heap)영역에 메모리를 할당하는 것과 동일하게 연속적인 메모리 블록을 할당한다. 메모리 스토리지에 대한 포인터와 할당에 필요한 바이트 수를 인자로 받으며, void* 타입의 포인터를 반환한다.
'Developer > OpenCV' 카테고리의 다른 글
외곽선 검출하기 (2) | 2013.01.13 |
---|---|
시퀀스(Sequence) (1) | 2013.01.13 |
임계값(Threshold) (1) | 2013.01.10 |
피라미드 영상(이미지 피라미드, Image Pyramid) (0) | 2013.01.10 |
HighGUI (0) | 2013.01.09 |