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()


コメント

このブログの人気の投稿

Python OpenCVとWebカメラでバーコードリーダー

OpenCV 画像の足し算

OpenCV3とPython3で形状のある物体の輪郭と方向を認識する(主成分分析:PCA、固有ベクトル)