앎을 경계하기

DAFIT/907 - OpenCV 다루기 첫걸음

<DAFIT> 07 OpenCV 다루기 첫걸음 - 07 영상 어파인 변환

양갱맨 2019. 11. 26. 02:47

 

import cv2
from google.colab.patches import cv2_imshow
import numpy as np

img_path = '/content/drive/My Drive/다핏문제/907/lena.jpg'

 

세 개의 꼭지점을 정해주면 getAffineTransform을 통해 이미지 변환을 할 수 있다.

img = cv2.imread(img_path,1)
height, width = img.shape[:2]
controls = []
controls.append((0,0))
controls.append((0,height))
controls.append((width,0))
controls.append((width, height))
src = np.float32([list(controls[0]),list(controls[1]),list(controls[2])])
dst = np.float32([list(controls[0]),list(controls[1]),list(controls[2])])

dst[1][1] -= 50	# 오른쪽 상단 모서리 기준 y로 -50 내리기
dst[2][1] += 50 # 왼쪽 하단 모서리 기준 y로 50 올리기
M = cv2.getAffineTransform(src, dst)
img_result = cv2.warpAffine(img, M, (height, width))

cv2_imshow(img_result)