Python openCV 画像の回転、移動、拡大

画像の幾何変換こちらの例を動かしてみた。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
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カメラでバーコードリーダー

VB.net Dictionaryクラスの初期化