问题标签 [image-stabilization]

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 投票
3 回答
5857 浏览

c++ - 使用opencv稳定视频

我正在尝试使用 opencv 进行视频稳定(没有 opencv 视频稳定类)。

我的算法的步骤如下->

  1. 冲浪点提取,

  2. 匹配,

  3. 单应矩阵,

  4. 翘曲透视

并且输出视频根本不稳定:(。它看起来就像原始视频。我找不到视频稳定的参考代码。我按照此处描述的程序进行操作。任何人都可以通过告诉我我要去哪里来帮助我错误或提供一些源代码链接来改进我的算法。

请帮忙。谢谢

0 投票
1 回答
991 浏览

c++ - 视频稳定

我正在研究视频稳定领域。我使用 OpenCV 实现了一个应用程序。

我的进步如:

冲浪点提取

匹配

估计刚性变换

变形仿射

但结果视频并不稳定。谁能帮我解决这个问题或提供一些源代码链接来改进?

示例视频:河马视频

这是我的代码[编辑]

0 投票
1 回答
155 浏览

alignment - 如何从一系列照片中计算出恒星旋转?

我有大量(约 1000 张)广角照片,是用中等质量的数码相机在 2 小时内拍摄的。我想自动计算出旋转速度和旋转中心(北极星),并使用该信息和照片的 EXIF 时间戳,将所有照片堆叠成一张模拟的长时间曝光照片,就像专业人士用他们花哨的机动所做的那样望远镜。

我试过StarStaX,但是虽然它可以很好地计算中位数并创建漂亮的星轨照片,但它并没有对齐。 Hugin 的 cpfind更擅长于真实世界的控制点检测,但在尝试精确定位恒星位置时会死机。

认为我可以很好地使用本地最亮点识别恒星,但我不记得足够的新生数学来获取在两个图像之间对齐恒星的约 500 个向量并将其归结为旋转中心和 theta .

有什么建议么?图像稳定代码?

0 投票
0 回答
735 浏览

c++ - 视频稳定中卡尔曼滤波器平滑点特征轨迹

现在,我正在研究视频稳定这个主题。我根据 Kanade-Lucas-Tomasi (KLT) 跟踪器作为点特征跟踪器选择了好的点特征 (PF) 进行跟踪。在从第一张图像中提取 N 个 PF 并跟踪下一张图像中的 PF 之后,通过将跟踪的 N 个 PF 连接到先前的 PFT 来更新点特征轨迹 (PFT)。并继续,

现在我有一组 PFT。我想平滑这组 PFT 以通过卡尔曼滤波器创建平滑的点特征轨迹 (SPFT)。但是这个 SPFT 看起来就像 PFT。我不知道如何调整卡尔曼滤波器参数。请帮我找出来。先感谢您。

0 投票
2 回答
3881 浏览

c++ - 视频稳定的最佳算法

我正在创建一个程序来稳定视频流。目前,我的程序基于相位相关算法工作。我正在计算两个图像之间的偏移量 - 基本图像和当前图像。接下来我根据新坐标校正当前图像。该程序有效,但结果并不令人满意。相关链接您可能会发现处理后的视频看起来不受欢迎,并且整个视频的抖动变得更糟。
Orininal video
Unshaked video
有我目前的实现:
计算图像之间的偏移量:

根据此坐标移动图像:

我正在查看文档作者稳定器 YouTube 和基于角点检测的算法似乎很有吸引力,但我并不完全清楚它是如何工作的。所以我的问题是如何有效地解决这个问题。条件之一 - 程序将在较慢的计算机上运行,​​因此可能不适合繁重的算法。
谢谢!
PS 对于文本中的任何错误,我深表歉意 - 这是自动翻译。

0 投票
1 回答
2650 浏览

c++ - opencv estimateRigidTransform:如何获得全球规模?

我正在使用openCV的estimateRigidTransform来稳定一系列视频帧,效果很好。

该函数返回一个 2x3 变换矩阵 M:

据我了解,b元素代表平移,a元素用于进行缩放和旋转。

我想做的是从 M 获取全局比例 - 一个代表相机缩放因子的值。如何从a值中正确计算?


为了澄清我想要得到的东西,这里有一个例子。假设 estimateRigidTransform 为下面的第二帧计算关于第一帧的变换矩阵 M:

在这种情况下,全局缩放因子应该在 2 左右。我的问题是如何从 M 中获取这个值?

0 投票
1 回答
1093 浏览

opencv - 在视频稳定中使用卡尔曼滤波器或粒子滤波器平滑运动

我有个问题。我读过很多关于视频稳定的论文。几乎有论文提到使用卡尔曼滤波器平滑运动,因此它很强大并且可以在实时应用程序中运行。但是还有另一种强过滤器,那就是粒子过滤器。但是为什么我们不在平滑运动中使用 Partilce 过滤器来创建稳定的视频呢?有些论文只使用粒子滤波器来估计帧之间的全局运动(运动估计部分)。很难理解他们。谁能帮我解释一下,好吗?非常感谢。

0 投票
1 回答
648 浏览

c++ - 平滑运动参数

几个星期以来,我一直致力于视频稳定。我遵循的算法基本上涉及 3 个步骤:-

1. FAST 特征检测和匹配
2. 从匹配的关键点计算仿射变换(缩放 + 旋转 + 平移 x + 平移 y )
3. 使用三次样条或 b 样条平滑运动参数.

我已经能够计算仿射变换。但我坚持平滑运动参数。我一直无法评估样条函数来平滑三个参数。

这是平滑数据点的图表

这是平滑点的图表

关于如何编码以获得所需结果的任何建议或帮助,如图所示?

0 投票
0 回答
3325 浏览

ios - 如何在 iPhone 6 上关闭图像稳定功能?

在我的应用程序中,我实时进行图像后期处理,并希望获得源图像,但没有此功能。

谁知道如何或对此有一些想法?

0 投票
0 回答
657 浏览

image - B样条平滑

我试图寻找一个现有的答案,但找不到一个让我满意的答案(或者我只是不明白)。

有人问了一个相似性问题。但我没有看到Smoothing motion parameters的答案,我无法评论这个话题。

几个星期以来,我一直致力于视频稳定。我遵循的算法基本上涉及 3 个步骤:

  1. 两个连续帧之间的 FAST 特征检测和匹配

  2. 从匹配的关键点计算仿射变换(缩放 + 旋转 + 平移 x + 平移 y )。

  3. 使用三次样条或 b 样条平滑运动参数。

我计算了仿射变换。但我坚持平滑运动参数。

我一直无法评估样条函数以在实时处理中平滑三个参数。

如何获得平滑运动参数。

例如:

我计算第 2 帧和第 3 帧之间的运动参数 T2(r2:旋转,x2,y2:水平和垂直平移),然后使用 B 样条平滑 3 个值。但我无法想象如何平滑它们并获得 3 个平滑值。(假设度数 p = 30)

请帮我。太感谢了

在此处输入图像描述