openCV상에서 메모리 관리 방법은 두 가지가 있다.
1. shallow copy
- Mat은 header와 data 부분으로 구성되는데 shallow copy의 경우는 header에 포함되어 있는 데이터의 주소값만이 copy된다.
- ‘=’이라는 등호를 사용하여 copy
- copyTo라는 함수 사용 가능하다. (입력 매트릭스와 결과 매트릭스의 데이터 타입과 크기가 같으면 주소값만이 복사가 이루어지고 아니면 deep copy)
2. deep copy
- Clone() 함수를 사용하여 copy
- 데이터 변경 시 shallow copy와 다르게 deep copy를 수행하면 변경되지 않는다.
픽셀 접근 방법은 4가지가 있다.
1. by using at operator
Image.at<DATA_TYPE> (WANT_ROW,WANT_COL)
안정한 방식이긴 하지만 느리다는 단점이 있다.
2. by using pointer
At operator 보다 빠르다는 장점이 있다.
3. by using data member function
4. by using matiterator -> 가장 빠름
출처 - 컴퓨터 비전 한동대학교 황성수
'openCV' 카테고리의 다른 글
[openCV] 히스토그램 평활화 (0) | 2020.01.18 |
---|---|
[openCV] 밝기 값 변환 (1) | 2020.01.18 |
[openCV] Drawing함수 (0) | 2020.01.11 |
[openCV] Mat연산자 (0) | 2020.01.11 |
[openCV] openCV기초 (0) | 2020.01.07 |
댓글