首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何应用超过4对点的透视变换?

如何应用超过4对点的透视变换?
EN

Stack Overflow用户
提问于 2014-03-16 21:54:15
回答 1查看 4.5K关注 0票数 3

我拍了一些照片,我试图在谷歌地图上映射/转换成卫星图像。通常,我只需要4对点就可以有效地应用透视变换。然而,这在我的情况下是没有用的,因为有两个原因:

  1. 主要是,谷歌的卫星图像分辨率很差(至少对我的应用程序来说是如此),这使得我很难准确地找到与我照片上的图像相符的点。
  2. 我认为谷歌的卫星图像被拼接在一起有点不完美,这意味着即使选择了完美的一对点,我也可能会有点偏离,因为谷歌图像上的点本身就稍微偏离了一点。

因此,我想用4个以上的点对透视变换进行最小二乘估计,这样我就能得到更好的拟合。不过,我不知道怎样做。

为此,我使用Python和/或OpenCV,因此使用这些库的解决方案将是有帮助的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-17 05:25:10

单形比仿射强一点(它不保留平行线)。它需要4个点或更多(findHomography使用RANSAC并使用线性解选择其最佳的一组inliers;然后在最小二乘意义上对距离残差进行非线性优化)。您必须提供尽可能多的匹配(>=4),但尽量避免太多不准确的匹配。

最小二乘的原始统计模型是ML (极大似然),它在存在噪声的情况下找到最优解。RANSAC对异常值的存在进行补偿。但是,算法中没有任何东西可以补偿系统偏差。如果它们不能被建模为噪声或离群点,那么解决方案就不能很好地定义。如果异常值的数目(在拒绝异常值之后)小于4,则将找不到解决方案。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22443568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档