Python/Pycharm OPEN-CV Blending 2

2023. 9. 29. 18:33파이썬/OpenCV

✔️ cv2.addWeighted 사용하기

cv2.addWeighted(첫번째 영상, 알파값, 두번째영상, 알파값, 감마값)
알파값: 첫번째 영상에 지정할 가중치
감마값: 연산결과에 가감할 상수 값(default : 0)

 

leopard.jpg
0.07MB
wolf.jpg
0.08MB

import cv2
import matplotlib.pyplot as plt
import numpy as np

src1 = cv2.imread('./leopard.jpg')
src2 = cv2.imread('./wolf.jpg')

src1 = cv2.resize(src1, (640, 359))

alpha = 0.2

dst1 = src1 * 0.7 + src2 * (1-alpha)
dst1 = dst1.astype(np.uint8)

dst2 = cv2.addWeighted(src1, alpha, src2, (1-alpha), 10)

cv2.imshow('dst1', dst1)
cv2.imshow('dst2', dst2)

cv2.waitKey()

 


 

✔️ 사진들의 픽셀 연산(산수)

 

# square.bmp
# 같은 크기의 이미지와 연산
# add, addweighted, substract, adsdiff
# matplotlib을 이용해 이미지 비교

import cv2
import matplotlib.pyplot as plt

src1 =cv2.imread('./leopard_256.jpg')
src2 =cv2.imread('./square.bmp')

dst1 =cv2.add(src1,src2)
dst2 = cv2.addWeighted(src1,0.7,src2,0.3,0)
dst3 = cv2.subtract(src1,src2)
dst4 = cv2.absdiff(src1,src2)

img = {'dst1':dst1,'dst2':dst2,
       'dst3':dst3,'dst4':dst4}

for i, (k, v) in enumerate(img.items()):
    plt.subplot(2, 2, i+1)
    plt.imshow(v[:, :, ::-1])
    plt.title(k)
plt.show()

cv2.waitKey()


cv2.absdiff(소스1,소스2)
픽셀간의 차의 절대값을 의미한다.

 


 

728x90