如何访问 cv2 中的相机/变换参数。缝合机?

How do I access the camera/transform parameters in cv2.Stitcher?

提问人:Jan M. 提问时间:11/16/2023 最后编辑:Jan M. 更新时间:11/19/2023 访问量:65

问:

我正在尝试将一堆显微镜图像拼接在一起,但我需要跟踪每张图像的物理位置。在拼接之前,我知道每个单独图像的坐标,但是拼接后,Python 方法只返回拼接的图像和一些状态标志。

如何获得在 cv2 中自动估计的(仿射)变换。Stitcher.stitch()?

我知道完整的管道可以在 C++ 源代码中查看,并且有一个高级流程图,但如果我必须以这种方式获取这些参数,我基本上必须重新实现 cv2。我自己缝纫机...

python opencv 计算机视觉 图像 opencv-拼接

评论

0赞 Christoph Rackwitz 11/16/2023
stitcher.stitch() 看起来像一个方便的函数,可以透明地做很多事情。如果显式运行部件,您仍然可以使用拼接模块的管道。
0赞 Christoph Rackwitz 11/17/2023
idk,从这里开始,也打开“模块”下的所有内容 docs.opencv.org/4.x/d1/d46/group__stitching.html 看起来主要是 API 文档,所以这很令人失望。我自己从来没有搞砸过。这是一个庞大而复杂的模块。如果您发现缺少文档,请提交错误报告。那么有人可能会戳原作者,他应该有一些回忆,并且是最有资格改进它的人。有用于拼接的 C++ 示例,其中包括一个“详细”示例......你看到了吗?docs.opencv.org/4.x/d9/dd8/......

答:

1赞 Lukas Weber 11/19/2023 #1

OpenCV 拼接模块周围有一个 python 包装器:拼接

在此包中,您可以轻松地访问 Stitcher 类中方法中的 cameras 参数。另请参阅教程stitch

免责声明:我是这个软件包的维护者

评论

1赞 Jan M. 11/21/2023
亲爱的上帝,SE大奖!谢谢!如果 OpenCV 文档引用您的 Github,那就太好了。我一直在寻找,但从未遇到过这个。
1赞 Lukas Weber 11/21/2023
很高兴它有帮助!随意添加 PR 以更新 OpenCV Docs :)
0赞 Jan M. 11/21/2023
我会调查的!
0赞 Jan M. 11/21/2023
另外,我对你的工作表示赞赏。包装拼接功能在光线不佳(不均匀)的显微镜图像上开箱即用!
1赞 Lukas Weber 11/22/2023
谢谢!但我必须说,所有功能都来自 OpenCV,使用拼接包后,使用起来(要)方便得多。