首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python从两组点获得变换矩阵

Python从两组点获得变换矩阵
EN

Stack Overflow用户
提问于 2017-03-22 14:02:01
回答 1查看 5.7K关注 0票数 4

我必须要有图像,一个模拟,一个真实的数据,有亮点。

模拟:

现实:

我能很好地探测到斑点并得到坐标。现在我需要计算两个坐标系之间的变换矩阵(尺度,旋转,平移,也许剪切)。如果需要的话,我可以手工挑选一些(5-10)个相应的点给算法。

我已经尝试了很多方法,包括:两个ICP:https://engineering.purdue.edu/kak/distICP/ICP-2.0.html#ICP的实现。

2d

实现仿射变换:https://math.stackexchange.com/questions/222113/given-3-points-of-a-rigid-body-in-space-how-do-i-find-the-corresponding-orienta/222170#222170

仿射变换的实现:Determining a homogeneous affine transformation matrix from six points in 3D using Python

how to perform coordinates affine transformation using python? part 2

他们中的大多数人都以这样的方式失败了:

红点是将仿真结果转化为现实坐标系的点.

到目前为止,最好的方法是产生以下结果的how to perform coordinates affine transformation using python? part 2

正如您所看到的,缩放和转换主要是有效的,但是图像仍然需要旋转/镜像。

对如何得到一个有效的算法有什么想法吗?如果需要的话,我可以提供我目前不工作的实现,但它们基本上是相互关联的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-23 10:53:28

我发现了错误。

我使用plt.imshow来显示模拟图像和真实图像,并从中选择计算转换的参考点。

结果,由于通常的数组到图像索引翻转-伏都教(或对我这边的转换不好),我需要从模拟图像中切换参考点的x和y指数。

有了这个,使用这个how to perform coordinates affine transformation using python? part 2一切都很好

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

https://stackoverflow.com/questions/42953880

复制
相关文章

相似问题

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