더북(TheBook)

OpenCV에서는 영상의 비트 단위 논리 연산을 수행하는 bitwise_and(), bitwise_or(), bitwise_xor(), bitwise_not() 함수를 제공합니다. 각 함수의 이름에서 쉽게 알 수 있듯이, bitwise_and() 함수는 비트 단위 논리곱, bitwise_or() 함수는 비트 단위 논리합, bitwise_xor() 함수는 비트 단위 배타적 논리합, bitwise_not() 함수는 비트 단위 부정 연산을 수행합니다. 각 함수의 인자 구성은 다음과 같습니다.

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());

src1

첫 번째 입력 행렬 또는 스칼라

src2

두 번째 입력 행렬 또는 스칼라. src1과 크기와 타입이 같아야 합니다.

dst

출력 행렬. src1과 같은 크기, 같은 타입으로 생성됩니다. dst 행렬 원소 값은 논리 연산 종류에 의해 각각 다르게 결정됩니다.

mask

마스크 영상

 

앞서 나열된 네 개의 비트 단위 논리 연산 함수들 중에서 bitwise_and(), bitwise_or(), bitwise_xor() 함수는 두 개의 영상을 입력으로 받고, bitwise_not() 함수는 하나의 영상을 입력으로 받습니다. 각각의 함수들은 모두 mask 인자를 가지고 있어서, mask 영상의 픽셀 값이 0이 아닌 위치에서만 논리 연산을 수행하도록 설정할 수 있습니다. 만약 mask 인자를 따로 지정하지 않거나, noArray() 또는 Mat()mask 인자로 설정하면 영상 전체에 대해 논리 연산을 수행합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.