3

我有 2 张图片。一个是参考图像,另一个是参考图像的旋转版本。我想找出第二张图像相对于第一张图像旋转的角度是多少。我想自动执行此操作。

4

5 回答 5

4

蛮力的!编写一个函数来比较旋转图像的交集(每个点之间的差异之和或差异平方和),然后遍历旋转角度以找到与最小差异对应的那个。

虽然知道 matlab 可能有一个函数只是告诉你旋转,但它被称为奇怪的东西。

于 2010-12-21T19:44:31.793 回答
4

这样做的一般方法是:

  • 使用诸如SIFT之类的算法来获取兴趣点描述符列表。这些描述符提供兴趣点的比例、方向和几何形状。几何信息是比例和旋转不变的。

  • 使用最近邻算法通过比较几何图形来匹配每张图片中的兴趣点。

  • 对于每对匹配的兴趣点,比较它们的规模和旋转。

理想情况下,所有匹配的兴趣点都将具有相同的相对比例和旋转。然而,照片拍摄方式的可变性和前一阶段的不准确性将引入可变比例和旋转,因此:

  • 使用诸如RANSAC之类的算法来确定最合适的比例和旋转。

量子点

于 2010-12-21T20:56:41.623 回答
2

注意:由于该问题最初并未要求自动化解决方案,因此我发布了此解决方案,该解决方案需要用户为每个图像选择一组控制点。虽然问题中的要求已经更新,但我认为这个答案对于任何想要在 MATLAB 中进行图像注册的人来说仍然有用,所以我把它留在这里......

非自动化方法:

您要询问的是图像配准,您可以选择使用图像处理工具箱中的功能CP2TFORM

事实上,该函数的文档中有一个非常好的示例,看起来它可以解决您要解决的相同问题。

于 2010-12-21T19:50:38.517 回答
0

以下是如何使用计算机视觉系统工具箱中的本地特征和 RANSAC 恢复两个图像之间的转换的示例。

于 2013-11-14T01:44:12.780 回答
0

这是代码。

http://www.mathworks.com/matlabcentral/fileexchange/1713-three-dimensional-reconstruction-from-planar-slices

该算法使用两个对象是圆形的先验知识。YMMV

于 2010-12-22T17:02:30.890 回答