OpenCV에서 지원하는 연산은 논리곱, 논리합, 배타적 논리합, 부정으로 총 네가지 연산을 지원
입력비트 | 논리연산결과 | ||||
a | b | AND | OR | XOR | NOT a |
0 | 0 | 0 | 0 | 0 | 1 |
0 | 1 | 0 | 1 | 1 | 1 |
1 | 0 | 0 | 1 | 1 | 0 |
1 | 1 | 1 | 1 | 0 | 0 |
영상의 논리 연산은 각 픽셀 값에 대해 비트 단위로 이뤄짐.
- 우선 십진수를 이진수로 표시한다.
- 두 이진수를 비트단위로 논리곱, 논리합, 배타적 논리합, 부정 연산을 수행하여 계산한다.
// 비트 단위 논리 연산을 수행하는 함수 네가지
void bitwise_and(InputArray src1, InputArray src2,
OutputArray dst, InputArray mask = noArray());
void bitwise_or(InputArray src1, InputArray src2,
OutputArray dst, InputArray mask = noArray());
void bitwise_xor(InputArray src1, InputArray src2,
OutputArray dst, InputArray mask = noArray());
void bitwise_not(InputArray src1, OutputArray dst, InputArray mask = noArray());
- 모두 마스크 인자를 가지고 있어서 마스크 영상의 픽셀 값이 0이 아닌 위치에서만 논리 연산을 수행하도록 설정 가능.
- If 마스크 인자를 따로 정하지 않거나 noArray() 혹은 Mat()을 마스크 인자로 설정하면 영상 전체에 대해 논리 연산을 수행.
- 비트 단위 논리 연산 또한 OpenCV에서 연산자 재정의를 지원함.
- &, |, ^, ~
'Computer Vision' 카테고리의 다른 글
영상의 산술 및 논리 연산 - 1. 영상의 산술 연산 (0) | 2020.02.26 |
---|---|
영상의 밝기와 명암비 조절 - 3. 히스토그램 분석 (0) | 2020.02.21 |
영상의 밝기와 명암비 조절 - 2. 영상의 명암비 조절 (0) | 2020.02.18 |
영상의 밝기와 명암비 조절 - 1. 영상의 밝기 조절 (0) | 2020.02.15 |
OpenCV 주요 기능 - 5. 유용한 OpenCV 기능 (0) | 2020.02.14 |
댓글