source points:
a1_left_top = [-2.220446049250313e-16, 0.0]
a1_left_bottom = [-2.220446049250313e-16, 2000.9083170876493]
a1_right_top = [391.21904915271233, 0.0]
a1_right_bottom = [391.21904915271233, 2000.9083170876493]
target points:
a1t_target_left_top = [551.33966, 304.61545]
a1t_target_right_top = [900.2324, 339.18124]
a1t_target_right_bottom = [923.9555, -1241.829]
a1t_target_left_bottom = [609.8668, -1212.3458]
我使用cv2.getPerspectiveTransform(src, tgt) 方法得到转换矩阵:
[[ 7.93695385e-01 5.13876433e-02 -1.08987233e-04]
[ 6.40061176e-02 -8.27226932e-01 5.69891978e-05]
[ 5.51339661e+02 3.04615448e+02 1.00000000e+00]]
以前同事计算(没有源码)出来的是:
[[0.712454259,0.0461276844,-9.783137e-05],
[0.0574545935,-0.7425535, 5.11559265e-05],
[494.905426,273.435516,0.897641659]]
两者相差了一个常数: 0.897641659, 但是我不知道这个常数是如何得到的?它的具体意义是什么。
以前的转换矩阵投影出来的结果是正确的,我算出来的投影有问题。
--
修改:toadstone FROM 221.218.211.*
FROM 221.218.211.*