728x90
목표
- 변환, 회전, 아핀 변환 등과 같은 다양한 기하학적 변환을 이미지에 적용한다.
- cv.getPerspectiveTransform 기능 배우기
스케일
import numpy as np
import cv2 as cv
img = cv.imread('im.jpeg')
# res = cv.resize(img, None, fx=2, fy=2, interpolation=cv.INTER_CUBIC)
height, width = img.shape[:2]
res = cv.resize(img, (2*width, 2*height), interpolation=cv.INTER_CUBIC)
cv.imshow("res", res)
cv.waitKey(0)
cv.destroyAllWindows()
cv.INTER_AREA는 축소할때, 확대/축소인 경우는 .cv.INTER_CUBIC(느림), cv.INTER_LINEAR이다
이동
이 매트릭스를 이용하여서 이동할수 있다.
import numpy as np
import cv2 as cv
img = cv.imread('im.jpeg')
rows, cols = img.shape[:2]
M = np.float32([[1, 0, 100], [0, 1, 50]])
dst = cv.warpAffine(img, M, (cols, rows))
cv.imshow('img', dst)
cv.waitKey(0)
cv.destroyAllWindows()
위의 매트릭스를 이용하여 x 100, y 50 만큼 이동시킨방법이다.
회전
처음에 왜 저렇게 되나 싶었는데 OpenCV에서 좌표는 좌,상측이 (0,0)이라서 그렇구나 생각했다.
'언어 > OpenCV(Python)' 카테고리의 다른 글
[OpenCV]이미지 Thresholding (0) | 2022.03.27 |
---|---|
[OpenCV]이미지의 기하학적 변환(2) (0) | 2022.03.25 |
[OpenCV]색공간 변경 (0) | 2022.03.23 |
[OpenCV]이미지 연산 (0) | 2022.03.22 |
[OpenCV]이미지의 기본연산 (0) | 2022.03.21 |