6.2 영상의 논리 연산
영상의 논리 연산(logical operation)은 픽셀 값을 이진수로 표현하여 각 비트(bit) 단위 논리 연산을 수행하는 것을 의미합니다. OpenCV에서는 다양한 논리 연산 중에서 논리곱(AND), 논리합(OR), 배타적 논리합(XOR), 부정(NOT) 연산을 지원합니다. 비트 단위 논리곱은 두 개의 입력 비트가 모두 1인 경우에 결과가 1이 되는 연산입니다. 비트 단위 논리합은 두 개의 입력 비트 중 하나라도 1이 있으면 결과가 1이 됩니다. 비트 단위 배타적 논리합은 두 개의 입력 비트 중 오직 하나만 1인 경우에 결과가 1이 되고, 입력 비트가 모두 0이거나 모두 1이면 결과가 0이 됩니다. 비트 단위 부정은 하나의 입력 영상에 대해 동작하며 입력 비트가 0이면 결과가 1이 되고 입력 비트가 1이면 결과가 0이 됩니다. OpenCV에서 제공하는 논리 연산의 종류와 동작 방식을 하나의 진리표로 정리하여 표 6-1에 나타냈습니다.
▼ 표 6-1 OpenCV에서 제공하는 논리 연산 진리표
입력 비트 |
논리 연산 결과 |
||||
a |
b |
a AND b |
a OR b |
a XOR b |
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 |