我正在使用 opencv 编写视频稳定器。算法如下:
当视频中有更多帧时:
- 从视频中提取新帧
- 检测新帧中的关键点
- 为新的关键点计算描述符
- 匹配新帧和上一帧的描述符
- 过滤匹配以获得好的匹配
- 找到新帧和新帧之间的单应性
- 将单应性 (warpPerspective) 应用于新框架,从而创建“调整后的新框架”
- 将前一帧设置为等于“调整后的新帧”(描述符、关键点)
我有几个问题。我在正确的轨道上吗?如何进行实际稳定(使用高斯滤波器或其他)?
最佳答案
以下是可能的步骤顺序:
第 1 步。从电影文件中读取帧
第 2 步。从每一帧收集显着点
第 3 步。选择点之间的对应关系
第 4 步。根据噪声通信估计转换
第 5 步。变换近似和平滑
第 6 步。在完整视频上运行
您可以在此处找到有关每个步骤的更多详细信息:
http://www.mathworks.com/help/vision/examples/video-stabilization-using-point-feature-matching.html
我认为您可以在 OpenCV 中执行相同的步骤。
关于c++ - opencv视频稳定算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35132713/