opencv - 拼接微芯片的显微镜图像

标签 opencv surf image-stitching

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

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

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

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

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

如有任何帮助或建议,我们将不胜感激。特别是任何允许使用 OpenCV 和 SURF 的解决方案(即使我并不完全反对其他库......只是大部分项目都是用它开发的)。

谢谢!

最佳答案

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

您看过新的 OpenCV 拼接样本了吗:stitching.cppstitching_detailed.cpp

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

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

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

> sudo apt-get install cmake-qt-gui

此外,如果您更关心质量,并且不介意性能下降;你可以考虑使用 Lucas-Kanade method用于图像注册。 Here是一个讲座,here是一篇关于该主题的论文,可能对您有所帮助。

关于opencv - 拼接微芯片的显微镜图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9035188/

相关文章:

javascript - 如何使用 brython 使用 OpenCV python 库

c++ - 使用 opencv 进行视频稳定

c++ - OpenCV 3.0 中缺少非自由模块

visual-studio-2010 - 使用 SURF 时出现运行时错误 Visual Studio 和 OpenCV 错误

opencv - OpenCV findHomography和WarpPerspective效果不佳

python - 计算图片中蓝色像素的个数

python - 如何将内容保留在方形轮廓内,同时删除其他形状的轮廓?

python - 从图像 : Python 中检测非文本数据

alignment - 如何匹配不同时间拍摄的无人机图像?

image-processing - 用于图像拼接的相位相关 2D(ImageJ 中的 Stitch 2D)