Python 3.x 在Python中查找两个图像之间的仿射变换,无需特定的输入点

Python 3.x 在Python中查找两个图像之间的仿射变换,无需特定的输入点,python-3.x,numpy,computer-vision,transformation,affinetransform,Python 3.x,Numpy,Computer Vision,Transformation,Affinetransform,图1: 图2: 通过查看我的图像,我无法准确地判断变换是平移、旋转、拉伸、剪切还是其中的一小部分 据我所知,如果我可以在两个图像之间标记一些点,python中的getAffineTransformation函数可以得到转换矩阵 然而,我不想标记点,因为在这样的图像中这样做并不容易 是否有一个通用函数可以获取我的两个图像并给出变换矩阵? 如果没有,我怎么做呢?我知道有点晚了,但我一直在努力解决与您相同的问题,我想我找到了解决方案 opencv2库中的FindTransformeC方法可能就是您要查

图1:

图2:

通过查看我的图像,我无法准确地判断变换是平移、旋转、拉伸、剪切还是其中的一小部分

据我所知,如果我可以在两个图像之间标记一些点,python中的getAffineTransformation函数可以得到转换矩阵

然而,我不想标记点,因为在这样的图像中这样做并不容易

是否有一个通用函数可以获取我的两个图像并给出变换矩阵?
如果没有,我怎么做呢?

我知道有点晚了,但我一直在努力解决与您相同的问题,我想我找到了解决方案


opencv2库中的FindTransformeC方法可能就是您要查找的方法。它可以在两个图像之间找到运动,无需指定点。它支持不同类型的变换——仿射变换就是其中之一。有一篇关于图像对齐的好文章,其中有使用此方法的示例:

我认为这是不可能的,因为可以有多个变换矩阵,您必须提供一些点来确定特定矩阵。感谢您的评论Bruno!假设我只需要找到这两个图像之间的转换:你会想到哪三点?