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()
コメント
コメントを投稿