728x90
import cv2
import numpy as np
from utils import get_four_points
img_src = cv2.imread("data/images/first-image.jpg", 1)
img_dst = cv2.imread("data/images/times-square.jpg", 1)
dst_size = img_dst.shape # 가져올 사이즈는 img_dst 이미지 크기로 할거다.
# img_dst = np.zeros(dst_size, np.uint8)
# 월본 이미지로부터 4개의 점 바로 가져올 수 있다.
cv2.imshow("Image", img_src)
points_src = np.array([0,0, img_src.shape[1],0, img_src.shape[1],img_src.shape[0], 0,img_src.shape[0]])
points_src = points_src.reshape(4,2)
# 좌표를 우리가 바로 못구하니까, 마우스로 찍어서 구한다.
cv2.imshow("src image", img_src)
points_dst = get_four_points(img_dst)
h, status = cv2.findHomography(points_src, points_dst)
img_temp = cv2.warpPerspective(img_src, h, (dst_size[1], dst_size[0]))
cv2.imshow("Img dst", img_temp)
#타임스퀘어의 전광판 안쪽 영역을 0으로 바꿔준다.
# 좌표값이 float이기에 int로 변환해줘야함
cv2.fillConvexPoly(img_dst, points_dst.astype(int),0)
cv2.imshow('img to 0', img_dst)
img_result = img_dst + img_temp
cv2.imshow('result', img_result)
cv2.waitKey(0)
cv2.destroyAllWindows()
728x90
'OpenCV' 카테고리의 다른 글
desaturation (0) | 2021.04.20 |
---|---|
hueHistogram (0) | 2021.04.20 |
perspective Correction(클릭해서 이미지 추출) (0) | 2021.04.20 |
homography_book (0) | 2021.04.20 |
rotate / warpAffine/ getAffine 이미지 돌리기 (0) | 2021.04.20 |