OpenCV

homography_book

728x90
import cv2
import numpy as np

#사진 돌리기
#이미지 임포트
is_src = cv2.imread('data/images/book2.jpg')
#좌표를 하드코딩으로 설정해준다.
point_src = np.array( [141,131,480,159,493,630,64,601], dtype=float)
#행렬로 변경
point_src = point_src.reshape(4,2)
print(point_src)

#바꿔줄 이미지 사진
img_dst = cv2.imread('data/images/book1.jpg')
#바꿔줄 이미지 사진의 좌표값과 행렬처리
point_dst = np.array( [318,256,534,372,316,670,73,473], dtype=float )
point_dst = point_dst.reshape(4,2)

print(point_dst)

# h는 변환에 사용될 3*3 행렬이다.
h, status = cv2.findHomography(point_src, point_dst)

img_output = cv2.warpPerspective( is_src , h, (img_dst.shape[1], img_dst.shape[0] ) )

cv2.imshow('SRC', is_src)
cv2.imshow('DST', img_dst)
cv2.imshow('Warp', img_output)

cv2.waitKey(0)
cv2.destroyALLWindow()

728x90