And*_*rew 11 math geometry opencv translation rotation
我在OpenCV工作,但我认为没有这方面的功能.我可以找到一个查找仿射变换的函数,但是仿射变换包括缩放,我只想考虑旋转+平移.
想象一下,我在2D中有两组积分 - 让我们说每组都有50分.
例如,设置A = {x1,y1,x2,y2,...,x50,y50}
设置B = {x1',y1',x2',y2',...,x50',y50'}
我想找到最接近映射集A到集合B的旋转和平移组合.我想我将定义"最接近"作为最小化A中的点与BIe中的对应点之间的平均距离,最小化(x1之间的平均距离) ,y1)和(x1',y1')等
我想我可以使用蛮力测试所有可能的翻译和旋转,但这将是非常低效的.有谁知道更简单的方法?
谢谢!
就接近矩阵的奇异值分解(点对之间的距离)而言,该问题具有非常优雅的解决方案.这个名字就是正交普罗克拉斯特斯问题,这是希腊传说中一位为旅行者提供适合任何人的床铺的人.
解决方案来自于找到与给定(不一定是正交)矩阵最接近的正交矩阵.
| 归档时间: |
|
| 查看次数: |
2948 次 |
| 最近记录: |