본문 바로가기

카테고리 없음

OpenCV(오버로드된 연산자)

반응형



  • 오버로드된 영상 연산자

 - 대부분 산술 함수는 해당 연산자를 오버로드 하기 때문에 cv::addWeighted를 호출하려면 다음 코드와 쓸 수 있다.
 - result = 0.7*image1 + 0.9*image2; (가중 합을 쓰는 두 가지 방법은 동일)
 - cv::saturate_cast 함수를 양쪽 경우에도 여전히 호출한다.

 - C++ 연산자 오버로드 : 비트 연산자 &, |, ^, ~, min, max, abs 함수. 비교 연산자 <, <=, ==, !=, >=
 - 행렬 곱 m1*m2 (m1과 m2 모두 cv:Mat 인스턴스), 역행렬 m1.inv(), 전치행렬 m1.t(), 행렬식 m1.determinant(), 벡터 놈 v1.norm(), 외적 v1.aross(v2), 내적 v1.dot(v2)

 - 영상 화소를 조회하는 반복문을 사용한 컬러 감축 함수를 여기서 입력 영상에 대한 산술 연산을 사용해 함수를 간단히 다시 쓸 수 있다.
 - image = (image&cv::Scalar(mask, mask, mask)) + cv::Scalar(div/2, div/2, div/2);

 - cv::Scalar는 컬러 영상을 다루기 때문에 사용.
 - And와 스칼라 합(영상 반복문 내부 전체 작업을 수행하는 대신)을 호출함으로 써 코드가 매우 단순해진다.


출처: http://hongkwan.blogspot.kr/search/label/OpenCV%20%232

반응형