1. 이미지 처리 기초
- 이미지 위에 도형 그리기

cv2.rectangle(img, pt1=(x1, y1), pt2=(x2, y2),
color=(B, G, R),
thickness=2)
cv2.circle(img, center=(x, y),
radius=100,
color=(B, G, R),
thickness=2)
cv2.imshow('result', img)
cropped_img(변수명)=img[y1:y2,x1:x2]
cv2.imshow('cropped', cropped_img)

img_resized1 = cv2.resize(img, (500, 250))
cv2.imshow('resize1', img_resized1)
img_resized2 = cv2.resize(img, dsize=(500, int(h / w * 500)))
cv2.imshow('resize2', img_resized2)

rgb = cv2.cvtColor(img, cv2.COLOR_BRG2RGB)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
2. 오버레이
- 오버레이 이미지는 png파일, 배경은 투명한 이미지가 좋다.
import cv2
img = cv2.imread('img.jpg')
overlay_img = cv2.imread('overlay.png', cv2.IMREAD_UNCHANGED)
overlay_img = cv2.resize(overlay_img, dsize=(150, 150))
overlay_alpha = overlay_img[:, :, 3:] / 255.0
background_alpha = 1.0 - overlay_alpha
x1 = 100
y1 = 100
x2 = x1 + 150
y2 = y1 + 150
img[y1:y2, x1:x2] = overlay_alpha * overlay_img[:, :, :3] + background_alpha * img[y1:y2, x1:x2]
cv2.imshow('result', img)
cv2.waitKey(0)