Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Computer vision 可以从对应关系计算投影变换吗?_Computer Vision_Linear Algebra - Fatal编程技术网

Computer vision 可以从对应关系计算投影变换吗?

Computer vision 可以从对应关系计算投影变换吗?,computer-vision,linear-algebra,Computer Vision,Linear Algebra,我试图计算以下对象中每个平面的投影变换 目标是将此参照对象映射到目标平面。 因此,每个平面可以生成9个对应。我成功地生成了最小二乘SVD解决方案,但该映射不适合几何体。 我想知道是否有可能从这些信息计算投影变换?是的,是的。实际上,只需要4点对应。我不能完全确定,因为您没有提供代码,但您是否有可能只假设了一个仿射变换(最后一行是[0,0,1]的3x3矩阵)。这还不够 请仔细查看,为您的问题找到一个好的逐步解决方案。谢谢。事实上,结果在代数上是正确的。我没有修好最后一排。只是SVD解在几何上

我试图计算以下对象中每个平面的投影变换

目标是将此参照对象映射到目标平面。

因此,每个平面可以生成9个对应。我成功地生成了最小二乘SVD解决方案,但该映射不适合几何体。


我想知道是否有可能从这些信息计算投影变换?

是的,是的。实际上,只需要4点对应。我不能完全确定,因为您没有提供代码,但您是否有可能只假设了一个仿射变换(最后一行是[0,0,1]的3x3矩阵)。这还不够


请仔细查看,为您的问题找到一个好的逐步解决方案。

谢谢。事实上,结果在代数上是正确的。我没有修好最后一排。只是SVD解在几何上没有意义。我花了一段时间才明白这件事不能用线性系统来解决,因为强迫解的范数| h |为1并最小化Ah不是真正几何映射的目标函数。需要使用非线性优化(可能基于重投影误差)来修正初始解。我会在以后有时间的时候更新我的解决方案。首先,为什么你要自己计算呢?有几十种复杂的解决方案(见上面的链接)。我不确定我是否理解正确,但这是可以用线性系统解决的。例如,看,我明白了。我只是好奇这到底是怎么做到的。你给出的链接是一个在课堂上教授的通用实现,但这不起作用。通过强制| x |=1,同时最小化点(Ax,Ax)不是最小化重投影误差的目标函数。您可以比较OpenCV中findHomography生成的结果和使用SVD生成的结果。