→ 곱셈, 나눗셈은 거의 사용 X
add(src1, src2, dst, mask = noArray(), dtype = -1)
dtype : 출력행렬의 깊이
→ src1 깊이 = src2 깊이 : dtype = -1
→ src1 깊이 ≠ src2 깊이 : dtype 지정 필수 !
영상/행렬 or 정수/실수 자료형 전달
→ broadcasting 적용
자동으로 포화연산 수행
두 입력 영상의 윤관 조금씩 포함
전반적으로 밝게 포화
addWeighted(src1, alpha, src2, beta, gamma, dst, dtype = -1)
gamma : 가중합 결과에 추가적으로 더할 값
가중치 부여한 덧셈
보통 a+b = 1이 되도록
→ 포화상태가 되지 않도록
a + b > 1 : 포화 현상 발생, 훨씬 밝아지게 됨
a + b < 1 : 평균 밝기보다 어두운 결과 영상
Mat src1 = imread("a.bmp", IMREAD_GRAYSCALE);
Mat src2 = imread("b.bmp", IMREAD_GRAYSCALE);
Mat dst;
addWeighted(src1, 0.5, src2, 0.5, 0, dst);
평균 밝기 그대로 유지
subtract(src1, src2, dst, mask = noArray(), dtype = -1)
absdiff(src1, src2, dst)
뺄셈순서에 상관없이 픽셀 값 차이가 큰 영역 두드러지게 하고 싶을 때
결과영상 : 차영상(difference image)
두 개의 영상에 변화있는 영역 찾기
→ 현실에 적용 어려움 : 태양의 밝기 등 외부요소
수행하는 경우 거의 X
같은 위치에 있는 픽셀값끼리 연산
multiply(src1, src2, dst, scale = 1, dtype = -1)
divide(src1, src2, dst, scale = 1, dtype = -1)
+) pyplot
from matplotlib import pyplot as plt
plt.subplot(231), plt.axis('off'), plt.imshow(src1, 'gray'), plt.title('src1')
...
plt.show()