Python OpenCV - 이미지 연산

BANG·2020년 11월 28일
0

OpenCV

목록 보기
15/16

이미지 더하기

import cv2
import numpy as np
 
src1 = cv2.imread('./data/lena.jpg', cv2.IMREAD_GRAYSCALE)
src2 = np.zeros(shape=(512, 512), dtype=np.uint8) + 100
 
# 이미지가 밝아짐
dst1 = src1 + src2  # 숫자가 255보다 커지면 overflow발생으로 다시 숫자가 작아짐(어두워짐)
dst2 = cv2.add(src1, src2)	# overflow발생하지 않음. 숫자가 255보다 크면 255로 유지됨
 
cv2.imshow('src1',  src1)
cv2.imshow('src2',  src2)
 
cv2.imshow('dst1',  dst1)
cv2.imshow('dst2',  dst2)
cv2.waitKey()    
cv2.destroyAllWindows()

이미지 빼기

import cv2
import numpy as np
 
src1 = cv2.imread('./data/lena.jpg', cv2.IMREAD_GRAYSCALE)
src2 = np.zeros(shape=(512,512), dtype=np.uint8) + 255
 
dst1 = 255 - src1	# 어두워지게 하기, underflow발생하면 다시 밝아짐
dst2 = cv2.subtract(src2, src1) # 어두워지게 하기
 
# 비교(compare)
dst3 = cv2.compare(dst1, dst2, cv2.CMP_NE) # cv2.CMP_EQ
n = cv2.countNonZero(dst3)
print('n = ', n)
 
cv2.imshow('dst1',  dst1)
cv2.imshow('dst2',  dst2)
cv2.waitKey()    
cv2.destroyAllWindows()
profile
Record Everything!!

0개의 댓글