더북(TheBook)

OpenCV에서 두 영상의 가중치 합을 구하려면 addWeighted() 함수를 사용합니다. addWeighted() 함수 원형은 다음과 같습니다.

void addWeighted(InputArray src1, double alpha, InputArray src2,
                 double beta, double gamma, OutputArray dst, int dtype = -1);

src1

첫 번째 입력 행렬

alpha

src1 행렬의 가중치

src2

두 번째 입력 행렬. src1과 크기와 채널 수가 같아야 합니다.

beta

src2 행렬의 가중치

gamma

가중합 결과에 추가적으로 더할 값

dst

출력 행렬. 입력 행렬과 같은 크기, 같은 채널 수의 행렬이 생성됩니다.

dtype

출력 행렬의 깊이. src1src2의 깊이가 같은 경우에는 dtype에 -1을 지정할 수 있고, 이 경우 dst의 깊이는 src1, src2와 같은 깊이로 설정됩니다. src1src2의 깊이가 서로 다른 경우에는 dtype을 반드시 지정해야 합니다.

 

addWeighted() 함수는 gamma 인자를 통해 가중치의 합에 추가적인 덧셈을 한꺼번에 수행할 수 있습니다. 그러므로 addWeighted() 함수에 의해 생성되는 dst는 다음과 같이 나타낼 수 있습니다.

addWeighted() 함수를 이용하여 두 입력 영상의 평균 영상을 생성하려면 다음과 같이 코드를 작성합니다.

Mat src1 = imread("aero2.bmp", IMREAD_GRAYSCALE);
Mat src2 = imread("camera.bmp", IMREAD_GRAYSCALE);
 
Mat dst;
addWeighted(src1, 0.5, src2, 0.5, 0, dst);
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.