Computer vision 可以从对应关系计算投影变换吗?
我试图计算以下对象中每个平面的投影变换 目标是将此参照对象映射到目标平面。 因此,每个平面可以生成9个对应。我成功地生成了最小二乘SVD解决方案,但该映射不适合几何体。Computer vision 可以从对应关系计算投影变换吗?,computer-vision,linear-algebra,Computer Vision,Linear Algebra,我试图计算以下对象中每个平面的投影变换 目标是将此参照对象映射到目标平面。 因此,每个平面可以生成9个对应。我成功地生成了最小二乘SVD解决方案,但该映射不适合几何体。 我想知道是否有可能从这些信息计算投影变换?是的,是的。实际上,只需要4点对应。我不能完全确定,因为您没有提供代码,但您是否有可能只假设了一个仿射变换(最后一行是[0,0,1]的3x3矩阵)。这还不够 请仔细查看,为您的问题找到一个好的逐步解决方案。谢谢。事实上,结果在代数上是正确的。我没有修好最后一排。只是SVD解在几何上
我想知道是否有可能从这些信息计算投影变换?是的,是的。实际上,只需要4点对应。我不能完全确定,因为您没有提供代码,但您是否有可能只假设了一个仿射变换(最后一行是[0,0,1]的3x3矩阵)。这还不够
请仔细查看,为您的问题找到一个好的逐步解决方案。谢谢。事实上,结果在代数上是正确的。我没有修好最后一排。只是SVD解在几何上没有意义。我花了一段时间才明白这件事不能用线性系统来解决,因为强迫解的范数| h |为1并最小化Ah不是真正几何映射的目标函数。需要使用非线性优化(可能基于重投影误差)来修正初始解。我会在以后有时间的时候更新我的解决方案。首先,为什么你要自己计算呢?有几十种复杂的解决方案(见上面的链接)。我不确定我是否理解正确,但这是可以用线性系统解决的。例如,看,我明白了。我只是好奇这到底是怎么做到的。你给出的链接是一个在课堂上教授的通用实现,但这不起作用。通过强制| x |=1,同时最小化点(Ax,Ax)不是最小化重投影误差的目标函数。您可以比较OpenCV中findHomography生成的结果和使用SVD生成的结果。