- 덧셈 연산
두 영상의 같은 위치에 존재하는 픽셀 값을 더하여 결과 영상의 픽셀 값으로 설정
덧셈 결과가 255보다 크면 픽셀 값을 255로 설정(포화 연산)
cv2.add(src1,src2,dst=None,mask=None,dtype=None) -> dst
• src1: ( 입력 ) 첫 번째 영상 또는 스칼라
• src2: ( 입력 ) 두 번째 영상 또는 스칼라
• dst ( 출력 ) 덧셈 연산의 결과 영상
• mask: 마스크 영상
• dtype 출력 영상 dst 의 타입 . (e.g.) cv2.CV_8U, cv2.CV_32F
- 가중치 합(weighted sum)
두 영상의 같은 위치에 존재하는 픽셀 값에 대하여 가중합을 계산하여 결과 영상의 픽셀 값으로 설정
보통 𝛼 + 𝛽 = 1 이 되도록 설정 ➔ 두 입력 영상의 평균 밝기를 유지
- 평균 연산
가중치를 𝛼 = 𝛽 = 0.5 로 설정한 가중치 합
cv2.addWeighted(src1,alpha,src2,beta,gamma,dst=None,dtype=None) -> dst
• src1: 첫 번째 영상
• alpha: 첫 번째 영상 가중치
• src2: 두 번째 영상 . src1 과 같은 크기 & 같은 타입
• beta: 두 번째 영상 가중치
• gamma: 결과 영상에 추가적으로 더할 값
• dst 가중치 합 결과 영상
• dtype 출력 영상 dst 의 타입
- 뺄셈 연산
• 두 영상의 같은 위치에 존재하는 픽셀 값에 대하여 뺄셈 연산을 수행하여 결과
영상의 픽셀 값으로 설정
• 뺄셈 결과가 0보다 작으면 픽셀 값을 0으로 설정 (포화 연산)
cv2.subtract(src1,stc2,dst=None,mask=None,dtype=None) ->dst
• src1: 첫 번째 영상 또는 스칼라
• src2: 두 번째 영상 또는 스칼라
• dst 뺄셈 연산 결과 영상
• mask: 마스크 영상
• dtype 출력 영상 dst 의 타입
- 차이 연산
• 두 영상의 같은 위치에 존재하는 픽셀 값에 대하여 뺄셈 연산을 수행한 후,
그 절댓값을 결과 영상의 픽셀 값으로 설정
• 뺄셈 연산과 달리 입력 영상의 순서에 영향을 받지 않음
cv2.absdiff(src1,src2,dst=None) -> dst
• src1: 첫 번째 영상 또는 스칼라
• src2: 두 번째 영상 또는 스칼라
• dst 차이 연산 결과 영상 차영상
import sys
import numpy as np
import cv2
from matplotlib import pyplot as plt
src1=cv2.imread('lenna256.bmp',cv2.IMREAD_GRAYSCALE)
src2=cv2.imread('square.bmp',cv2.IMREAD_GRAYSCALE)
if src1 is None or src2 is None:
print('Image load failed!')
sys.exit()
dst1=cv2.add(src1,src2,dtype=cv2.CV_8U)
dst2=cv2.addWeighted(src1,0.5,src2,0.5,0.0)
dst3=cv2.subtract(src1,src2)
dst4=cv2.absdiff(src1,src2)
plt.subplot(231),plt.axis('off'),plt.imshow(src1,'gray'),plt.title('src1')
plt.subplot(232),plt.axis('off'),plt.imshow(src2,'gray'),plt.title('src2')
plt.subplot(233),plt.axis('off'),plt.imshow(dst1,'gray'),plt.title('add')
plt.subplot(234),plt.axis('off'),plt.imshow(dst2,'gray'),plt.title('addweighted')
plt.subplot(235),plt.axis('off'),plt.imshow(dst3,'gray'),plt.title('subtract')
plt.subplot(236),plt.axis('off'),plt.imshow(dst4,'gray'),plt.title('absdiff')
plt.show()
- 영산의 논리 연산
'Computer Vision > opencv(python)' 카테고리의 다른 글
[15] 4) 히스토그램 분석 (0) | 2021.03.18 |
---|---|
[14] 3) 컬러 영상과 색 공간 (0) | 2021.03.18 |
[12] 기본적인 영상 처리 기법 1)영상의 밝기 조절 (0) | 2021.03.17 |
[11] 동영상 전환 이펙트 (2) | 2021.03.16 |
[10] 키보드, 마우스, 트랙바 이벤트 처리하기 (0) | 2021.03.16 |