【问题标题】:opencv video stabilization algorithmopencv视频稳定算法
【发布时间】:2016-05-10 00:47:24
【问题描述】:

我正在使用 opencv 编写视频稳定器。算法如下:

虽然视频中有更多帧:

  1. 从视频中获取新帧
  2. 检测新帧中的关键点
  3. 计算新关键点的描述符
  4. 匹配新帧和前一帧的描述符
  5. 过滤匹配以获得好的匹配
  6. 查找前一帧和新帧之间的单应性
  7. 将单应性 (warpPerspective) 应用于新框架,从而创建“调整后的新框架”
  8. 将前一帧设置为等于“调整后的新帧”(描述符、关键点)

我有几个问题。我在正确的轨道上吗?如何进行实际的稳定(使用高斯滤波器或其他方法)?

【问题讨论】:

  • 你知道OpenCV已经实现了Video Stabilization吗?
  • 出于学习目的,我必须自己实现它
  • 处理时间有什么限制吗?那么你需要实时算法还是可以考虑一个耗时的算法?
  • 感谢您的回复。第二种选择,处理时间没有限制
  • 如果您使用的是 Surf,我认为您不会遇到实时问题。

标签: c++ opencv video


【解决方案1】:

如果您使用的是 Python 代码,那么您可以使用我强大的线程化 VidGear 视频处理 Python 库,该库现在提供实时视频稳定功能,延迟时间极短,而且 @ 几乎不需要额外的计算能力。 987654322@。为方便起见,这里有一个基本用法示例:

# import libraries
from vidgear.gears import VideoGear
from vidgear.gears import WriteGear
import cv2

stream = VideoGear(source=0, stabilize = True).start() # To open any valid video stream(for e.g device at 0 index)

# infinite loop
while True:

    frame = stream.read()
    # read stabilized frames

    # check if frame is None
    if frame is None:
        #if True break the infinite loop
        break

    # do something with stabilized frame here

    cv2.imshow("Stabilized Frame", frame)
    # Show output window

    key = cv2.waitKey(1) & 0xFF
    # check for 'q' key-press
    if key == ord("q"):
        #if 'q' key-pressed break out
        break

cv2.destroyAllWindows()
# close output window

stream.stop()
# safely close video stream

更高级的用法可以在这里找到:https://github.com/abhiTronix/vidgear/wiki/Real-time-Video-Stabilization#real-time-video-stabilization-with-vidgear

【讨论】:

    【解决方案2】:

    以下是可能的步骤顺序:

    步骤 1. 从电影文件中读取帧

    步骤 2. 从每一帧中收集显着点

    步骤 3. 选择点之间的对应关系

    第 4 步。根据噪声对应估计变换

    步骤 5. 变换逼近和平滑

    第 6 步。在完整视频上运行

    您可以在此处找到有关每个步骤的更多详细信息:

    http://www.mathworks.com/help/vision/examples/video-stabilization-using-point-feature-matching.html

    我认为您可以在 OpenCV 中遵循相同的步骤。

    【讨论】:

    • 请在答案中添加相关部分,否则这看起来太像仅链接的答案
    • 谢谢,我试试
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-26
    • 2021-11-07
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    相关资源
    最近更新 更多