【发布时间】:2013-12-12 14:28:58
【问题描述】:
我遇到了与此处描述的相同的问题: how to perform coordinates affine transformation using python?
我试图使用描述的方法,但由于某种原因我会收到错误消息。 我对代码所做的更改是替换主系统和辅助系统点。我使用不同的原点创建了辅助坐标点。在我正在研究这个主题的实际案例中,测量坐标时会出现一些错误。
primary_system1 = (40.0, 1160.0, 0.0) primary_system2 = (40.0, 40.0, 0.0) primary_system3 = (260.0, 40.0, 0.0) primary_system4 = (260.0, 1160.0, 0.0) secondary_system1 = (610.0, 560.0, 0.0) secondary_system2 = (610.0,-560.0, 0.0) secondary_system3 = (390.0, -560.0, 0.0) secondary_system4 = (390.0, 560.0, 0.0)
执行时出现的错误如下。
*Traceback (most recent call last):
File "affine_try.py", line 57, in <module>
secondary_system3, secondary_system4 )
File "affine_try.py", line 22, in solve_affine
A2 = y * x.I
File "/usr/lib/python2.7/dist-packages/numpy/matrixlib/defmatrix.py", line 850, in getI
return asmatrix(func(self))
File "/usr/lib/python2.7/dist-packages/numpy/linalg/linalg.py", line 445, in inv
return wrap(solve(a, identity(a.shape[0], dtype=a.dtype)))
File "/usr/lib/python2.7/dist-packages/numpy/linalg/linalg.py", line 328, in solve
raise LinAlgError, 'Singular matrix'
numpy.linalg.linalg.LinAlgError: Singular matrix*
可能是什么问题?
【问题讨论】:
标签: numpy 3d transformation affinetransform