Python openCV 画像の回転、移動、拡大
画像の幾何変換こちらの例を動かしてみた。
import numpy as np
import cv2
#拡大
img = cv2.imread("logo.png")
res = cv2.resize(img,None,fx=3,fy=2,interpolation = cv2.INTER_CUBIC)
cv2.imshow('image',res)
cv2.waitKey(0)
cv2.destroyAllWindows()
#移動
#Warning cv2.warpAffine() 関数の第3引数には
#出力画像のサイズを (width, height) という形式で指定しなければいけません.
#widthは列の数,heightは行の数です
#
# Mはnp.float32の移動行列
#
# +- -+
# | 1 0 x |
# M = | |
# | 0 1 y |
# +- -+
#
img = cv2.imread("logo.png")
#print(img.shape)
rows,cols,ch = img.shape
M = np.float32([[1,0,100],[0,1,50]])
dst = cv2.warpAffine(img,M,(cols,rows))
cv2.imshow('image',dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
#回転
img = cv2.imread("logo.png")
rows,cols,ch = img.shape
M = cv2.getRotationMatrix2D((cols/2,rows/2),90,1)
dst = cv2.warpAffine(img,M,(cols,rows))
cv2.imshow('image',dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
コメント
コメントを投稿