问题标签 [opencv-stitching]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
807 浏览

c++ - OpenCV逐帧视频拼接

我正在尝试拼接来自两个不同角度的不同相机的输入。我应该怎么做才能将相机的输出(一帧一帧)合并到一个帧中?

当我将输入作为先前录制的视频(“InputVideo1.mp4”和“InputVideo2.mp4”,如下所述)时,从视频输入生成的帧会缝合。但是,当我启用相机作为输入时,OpenCV Stitcher 返回枚举“ERR_NEED_MORE_IMGS = 1”。

Stitcher::Status 状态应该返回 0 但它返回 1。

0 投票
0 回答
454 浏览

python - 使用open cv在python中拼接航拍图像

我正在尝试使用 Open CV 拼接无人机图像,我将下面的代码放在一起,为图像添加填充以避免剪裁边缘。未填充的图像应该覆盖在填充的图像上,但我对拼接代码的理解不够好,无法实现这一点。我试过摆弄没有运气的东西。

我本人和我们正在调查的贻贝将不胜感激任何帮助!

结果

代码

0 投票
2 回答
485 浏览

opencv - openCV图像拼接广角160度

我正在尝试将图像广角拼接 160.5 度,但结果并不好

我正在使用 OpenCV 4 和 ffmpeg 从视频中获取帧

ffmpeg 命令每秒获取 15 帧:

OpenCV 拼接代码

实际结果 :

在此处输入图像描述

预期结果 :

在此处输入图像描述

0 投票
0 回答
384 浏览

python - 是否可以在 OpenCV 缝合器 python 中选择混合类型

open-cv==3.4.2用于在 python 中拼接图像。

在来自 opencv 源代码的文件混合器中,我看到混合类型FeatherMulti Band. 但是没有选项可以从stitch方法中选择它。拼接图像时是否可以选择混合类型?如果是,如何?如果没有,你能告诉我默认使用哪种方法吗?

0 投票
0 回答
36 浏览

python - OpenCV Stitcher 类中的特征查找技术

我正在从事图像拼接项目,想知道 OpenCV 的 Stitcher 类使用了哪些特征查找和特征匹配技术,如本页OpenCV 文档中所述。

0 投票
2 回答
1067 浏览

opencv - OpenCV 拼接 RGB 和深度(英特尔实感)

我有一个同时使用 realsense2 和 opencv2 库的 C++ 应用程序。我正在从两个 D415 相机中提取深度和 RGB 帧。我可以毫无问题地拼接 RGB 帧;但是,经过大量研究,我找不到任何有关如何将步骤从 RGB 帧缝合复制到深度帧的示例。有谁知道如何将缝合步骤从一个拼接作业(在我的情况下为 RGB)复制到另一个拼接工作(在我的情况下为深度)?

我在这里查看了 Stitcher 类参考文档:https ://docs.opencv.org/master/d2/d8d/classcv_1_1Stitcher.html

如果有人以前这样做过并且可以提供一些指导,那就太好了。

这是我用来缝合(缩短)的工作代码:

谢谢!

0 投票
1 回答
711 浏览

python - google colab 上的 Python 图像处理

我想拍两张相同的照片并使用库来指示或突出差异所在(显示差异)。我使用了下面的代码,但是在看到输出时出现错误。两张照片完全相同,唯一的区别是一张含有癌细胞。换句话说,代码带有突出显示的癌细胞。在此处输入图像描述(如附图所示)但如果有其他方法我可以去,请告诉我!

这是代码:

这是我收到的错误输出

0 投票
0 回答
170 浏览

opencv - 将turtle和opencv视频窗口拼接在一起

我有一个程序可以同时打开海龟窗口和 opencv 视频窗口。我想一起调整 2 个窗口,或者将它们水平缝合。我怎样才能做到这一点?

我希望海龟窗口和 opencv 窗口一起显示在 1 个窗口中,而不是手动调整 2 个窗口以位于屏幕中心。

0 投票
1 回答
668 浏览

camera-calibration - 实时 360° 全景图像拼接实现

我正计划实现一个具有 6 个相同型号相机的实时 360° 全景拼接器。

我遇到了来自 OpenCV 的stitching_detailed.cpp 实现。问题是使用我想要的参数将 2 张图像拼接在一起大约需要 1 秒,这相当慢。

因为我的应用程序应该实时运行。我需要能够在大约 100 毫秒内将 6 张图像拼接在一起才能“可接受”。输出分辨率应在 0.2 兆像素左右。因此,我开始在 C++ 中进行自己的实现,几乎基于在stitchig_detailed 上所做的工作。我的目标是在 OpenCV 上尽可能多地使用 CUDA 函数(其中一些甚至没有实现stitching_detailed)。

我一直在仔细研究之前算法所基于的拼接管道,如OpenCV 的图像拼接和论文Automatic Panoramic Image Stitching using Invariant Features中所述。

由于拼接管道过于笼统,为了简化它并加快它的速度,我做了几个假设,我想得到一些反馈以了解它们是否有效:

  • 我将提供给算法的所有图像肯定是全景图像的一部分。所以我不必对此进行额外检查。

  • 6 个摄像头将固定在位置和方向上。因此,我事先知道相机需要拼接到全景照片中的顺序。因此,我可以避免尝试匹配来自不连续的相机的图像。

  • 因为相机将保持静止。执行注册步骤以仅获取一次相机方向矩阵 R 是有效的(作为一种初始化)。之后,我只能为后续帧执行合成块。(再次假设相机保持完全静止)。

我也有以下问题...

  • 我确实可以在我的应用程序之前校准相机并获得每个内在相机参数矩阵 K 及其各自的失真参数。我可以将 K 插入拼接管道,从而避免注册步骤中的 K 计算吗?

  • 相机校准还能带来什么其他东西(如果有的话)?失真校正?

  • 如果我之前关于只执行合成块的假设是正确的......我还能取出它的某些部分吗?我的猜测是,也许接缝查找器应该只运行一次(在算法的初始化中)。

  • 我的申请案例是否需要曝光补偿?(因为相机实际上是相同的)。

任何线索将不胜感激,谢谢!

0 投票
0 回答
655 浏览

c# - 使用 opencvsharp 进行图像拼接

我想用 openCvSharp 进行图像拼接,但出了点问题。由于我没有得到拼接在一起的 2 个图像的正确输出。

我正在使用 python链接中的教程并将其转换为 C# 代码。

这里有 2 张照片示例

在此处输入图像描述 在此处输入图像描述

应该缝合图像的输出我得到错误的结果。它看起来与图 2 相同。 在此处输入图像描述

我猜在排队或排队之后的某个地方出了点问题

这是完整的代码。