반응형
이미지의 3포인트를 잡고 그 기준점을 옮김으로써 전체 이미지를 휘게 한다.
아래 3개의 라이브러리가 설치되어 있어야 하며, 이미지 jpg파일이 있어야 한다.
여기서는 'flippy.jpg' 이미지 사용
'''
라이브러리 설치
pip install opencv-python
pip install numpy
pip install matplotlib
'''
import cv2
import numpy as np
from matplotlib import pyplot as plt
# 이미지 불러오기, 이미지 모양 추출
img = cv2.imread('flippy.jpg') # 이미지 불러오기.
rows,cols,ch = img.shape # 이미지 가로 세로
print(rows, cols, ch)
# 세 좌표점에 점 찍기
cv2.circle(img, (50, 50), 5, (255, 0, 0), -1)
cv2.circle(img, (200, 50), 5, (255, 0, 0), -1)
cv2.circle(img, (50, 200), 5, (255, 0, 0), -1)
# 원본 이미지의 좌표점 3지점(pts1) -> 휘게하려는 지점(pts2)
pts1 = np.float32([[50, 50], [200, 50], [50, 200]])
pts2 = np.float32([[10, 100], [200, 50], [100, 250]])
# pts1와 pts2 좌표점을 이용해서 전체적으로 이미지 비틀기
M = cv2.getAffineTransform(pts1, pts2)
dst = cv2.warpAffine(img, M, (cols, rows))
# plot(좌표점을 쉽게 볼 수 있는 플랫폼 제공)을 불러와서 보기
plt.subplot(121), plt.imshow(img), plt.title('Input')
plt.subplot(122), plt.imshow(dst), plt.title('Output')
plt.show()
해당 코드를 실행시키면 아래와 같이 나오게 된다.
plot이라는 플랫폼을 이용하면 아래와 같이 이미지를 확대 축소 옮기기 등 기본 메뉴를 제공한다.
plot는 matplotlib 패키지를 설치해야 이용 가능하다.
반응형
반응형
'파이썬(python) > Python OpenCV' 카테고리의 다른 글
[Python OpenCV] 파이썬 큰 이미지 Downscale으로 비율 조정하기 (이미지 비율 축소) (0) | 2021.10.03 |
---|---|
[Python OpenCV] 파이참(Pycharm)에서 OpenCV 라이브러리 설치하기 (영상처리 라이브러리 설치) (0) | 2021.10.03 |
[Python OpenCV] 파이썬 이미지 외곽선 탐지 (Contour), 이미지 블록성(Convexity) 탐지, 이미지 최 외곽선 탐지 (0) | 2021.05.02 |
[Python OpenCV] 파이썬 이미지 회전하기, 확대 축소 하기 (0) | 2021.05.02 |
[Python OpenCV] 파이썬 두 이미지 합치기, 두 이미지 합성 시키기 (RGB값 더하기) (0) | 2021.05.02 |