OpenCV 이미지를 사용하는 기본 작동 방법

10620 단어 OpenCV-Python
이미지를 x축 또는 y축으로 이동
■ 코드
translate.py
import cv2
import numpy as np

#read image
img = cv2.imread("gotg_rocket.jpg")

#shift image to left(negative value) or right(positive value)
tx = 100

#shift image to up(negative value) or down(positive value)
ty = 100

#transformation matrix(need to be float value)
M = np.float32([[1,0,tx],[0,1,ty]])

#width and height of image
h = img.shape[0]
w = img.shape[1]

#translate image
translated = cv2.warpAffine(img,M,(w,h))

#show image
cv2.imshow("Original",img)
cv2.imshow("Translated", translated)
cv2.waitKey(0)
■ 실행 결과
• 원본 이미지

• 변환된 이미지

이미지 회전
■ 코드
rotate.py
import cv2

#read image
img = cv2.imread("gotg_rocket.jpg")

#width and height of image
h = img.shape[0]
w = img.shape[1]

#get center of image
center = (w//2,h//2)

#rotation angle(in degree)
angle = 40

#scale rate(if don't want to change the size  of image, set to 1)
scale = 1.0

#transformation matrix
M = cv2.getRotationMatrix2D(center,angle,scale)

#rotate image
rotated = cv2.warpAffine(img,M,(w,h))

#show image
cv2.imshow("Original",img)
cv2.imshow("Rotated", rotated)
cv2.waitKey(0)
■ 실행 결과
• 원본 이미지

• 변환된 이미지

이미지 크기 조정
■ 코드
resize.py
import cv2

#read image
img = cv2.imread("gotg_rocket.jpg")

#resize width
w = 300

#resize height(keeping the scale rate)
h = int(300/img.shape[1]*img.shape[0])

#resize image
resized = cv2.resize(img,(w,h))

#show image
cv2.imshow("Original",img)
cv2.imshow("Resized", resized)
cv2.waitKey(0)
■ 실행 결과
• 원본 이미지

• 변환된 이미지

이미지 뒤집기
■ 코드
flip.py
import cv2

#read image
img = cv2.imread("gotg_rocket.jpg")

#flip image (-1:vertical & horizontal, 0: vertically, 1:horizontal)
flipped = cv2.flip(img,0)

#show image
cv2.imshow("Original",img)
cv2.imshow("Flipped", flipped)
cv2.waitKey(0)
■ 실행 결과
• 원본 이미지

• 변환된 이미지

좋은 웹페이지 즐겨찾기