opencv学习笔记(1)

1.计算仿射矩阵

1)方程法:

  cv2.getAffineTransform(src, dst), src和dst分别代表原坐标和变换后的坐标,且均为3行2列的二维ndarray。

1 import cv2
2 import numpy as np
3 src = np.array([[0,0],[200,0],[0,200]],np.float32)
4 dst = np.array([[0,0],[100, 0], [0,100]], np.float32)
5 A = cv2.getAffineTransform(src, dst)
6 print(A)
7 #array([[0.5, 0. , 0. ],
8 #       [0. , 0.5, 0. ]])

2) 矩阵法:

  cv2.getRotationMatrix2D(center, angle, scale),center为变换中心点的坐标,scale是等比例缩放的系数,angle是逆时针旋转的角度(angle以角度为单位,非弧度)。

1 import numpy as np
2 import cv2
3 A = cv2.getRotationMatrix2D((40, 50), 30, 0.5)
4 print(A.dtype)
5 #dtype('float64')
6 print(A)
7 #[[ 0.4330127   0.25       10.17949192]
8 # [-0.25        0.4330127  38.34936491]]

猜你喜欢

转载自www.cnblogs.com/coodyz/p/11269836.html