具有fullAffine = False的cv2.estimateRigidTransform

时间:2018-11-10 14:52:16

标签: python opencv computer-vision affinetransform

根据documentation cv2.estimateRigidTransform具有参数fullAffine

  

fullAffine –如果为true,则该函数找到最佳仿射   没有其他限制(6个自由度)的变换。   否则,选择的转换类别仅限于   平移,旋转和均匀缩放(5度)的组合   自由)。

我不了解5个自由度的含义,因为我了解平移,旋转和均匀缩放可以使用4个变量完成(此处有更多信息,http://nghiaho.com/?p=2208

  1. 通过uniform scaling表示x和y比例将相同吗?

我尝试过

print('cv2.__version__', cv2.__version__)
m = cv2.estimateRigidTransform(_prev_pts, _curr_pts, fullAffine=False)
print('m.shape', m.shape)
print('m',m)

输出:

cv2.__version__ 3.4.3
m.shape (2, 3)
m [[ 1.00165841e+00 -2.10742695e-04  4.28874117e+00]
 [ 2.10742695e-04  1.00165841e+00  1.23242652e+00]]

输出看起来像文档中所述(4个唯一值):

enter image description here

  1. 另一个问题是如何将矩阵m分解为旋转,缩放和平移矩阵,即m = R*T*S

0 个答案:

没有答案