컴퓨터 비전

OpenCV 영산의 산술

Jagbbum 2023. 10. 19. 11:56

 덧셈연산

-  두 영상의 같은 위치에 존재하는 픽셀 값을 더히여 결과 영상의 픽셀 값으로 설정

dst(x, y) = saturate(src1(x,y) + src2(x,y))

dst(x, y) = saturate(a*src1(x,y) + b*src2(x,y)) // 가중치 합 a+b=1이 되도록 설정

dst(x, y) = (1/2)*saturate(src1(x,y) + src2(x,y)) // 평균연산

 

 뺄셈연산

-  두 영상의 같은 위치에 존재하는 픽셀 값을 뺄셈히여 결과 영상의 픽셀 값으로 설정

 

차이 연산

- 두 영상에 뺄셈 연산 수행 후 절댓값을 이용하여 결과 영상을 생성하는 연산

 

void add(InputArray src1, InputArray src2, OutputArray dst,
         InputArray mask = noArray(), int dtype = -1); // 덧셈
         
void subtract(InputArray src1, InputArray src2, OutputArray dst,
             InputArray mask = noArray(), int dtype = -1); // 뺄셈
             
void addWeighted(InputArray src1, double alpha, InputArray src2,
                 double beta, double gamma, OutputArray dst, int dtype = -1); // 가중합

void absdiff(InputArray src1, InputArray src2, OutputArray dst); // 차이 연산

 

행렬의 논리연산

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 src, OutputArray dst,
                              InputArray mask = noArray());