9

因此,我正在尝试拼接由微芯片显微镜拍摄的图像,但很难将所有特征对齐。我已经在两个相邻的图像之间有 50% 的重叠,但即便如此,它并不总是很合适。

我使用 SURF 和 OpenCV 来提取关键点并找到单应矩阵。但是,这远不是一个可以接受的结果。

我的目标是能够完美地拼接 2x2 图像,因此,我可以递归地重复该过程,直到获得最终图像。

你有什么建议吗?一个很好的算法来解决这个问题。或者也许是一种转换图像以便能够从中提取更好关键点的方法。使用阈值(较小的阈值可以获得更多的关键点,还是较大的阈值?)。

现在,我的方法是先拼接两个 2x1 图像,然后将这两个图像拼接在一起。它离我们想要的很近,但仍然不能接受。此外,问题可能是图像曾经是“源”(而第二张图像与矩阵变换以重叠该图像)可能不会有点错位,或者该图像上有一个小角度会影响整个结果.

任何帮助或建议表示赞赏。特别是任何允许使用 OpenCV 和 SURF 的解决方案(即使我并不完全反对其他库......只是大部分项目都是用它开发的)。

谢谢!

4

2 回答 2

6

我发现在图像配准开发过程中使用TurboReg是一个有用的比较工具。它是一个免费的ImageJ插件,并且有许多不同的拟合类型。

您是否看过新的 OpenCV 拼接示例:stitching.cppstitching_detailed.cpp

编辑:我忘记了这是最先进的 OpenCV,因为我在家里使用树干:) 要访问这些新示例,您需要像这样从 SVN 中检查 OpenCV 主干:

svn co https://code.ros.org/svn/opencv/trunk/opencv opencv-trunk

不幸的是,您需要重新编译它,但您应该能够使用新的拼接代码 :) 如果您之前没有从源代码构建 OpenCV,这里有一个很好的小教程可以帮助您入门。我会提到 OpenCV 有比教程中提到的更多的可以启用/禁用的选项,所以你可能想使用cmake-gui来查看所有选项。您可以使用以下命令轻松获取它:

> sudo apt-get install cmake-qt-gui

另外,如果您更关心质量,并且不介意性能降低;您可以考虑使用Lucas-Kanade 方法进行图像配准。是一个讲座,是一篇关于该主题的论文,可能对您有所帮助。

于 2012-01-27T15:31:10.123 回答
0

Fiji 的拼接插件通过2D 拼接处理这种对齐错误传播的情况。我们在日常使用中使用它进行显微缝合,我必须说它是完美的。

于 2012-04-21T07:31:52.183 回答