【问题标题】:How to detect artifacts in video?如何检测视频中的伪影?
【发布时间】:2016-02-04 10:46:49
【问题描述】:

我正在使用 OpenCV 处理 mp4 格式的视频。下图是从视频中随机抽取的一帧,可以看到毛衣上有明显的变形。

我们如何检测到这样的artifacts?或者我们可以通过提取附近的关键帧来避免这种伪影吗?

【问题讨论】:

  • 我不使用 OpenCV,但作为一个图形专家,我可以告诉你,它看起来更像 video interlacing。您需要在该工具中找到“去隔行”选项。它不是通过提取附近的关键帧来解决的,它不是压缩“神器”
  • @VC.One 你知道任何用于对 mp4 格式的视频进行去隔行扫描的工具吗?我只找到了 avi 的解决方案。
  • 很棒的文章链接。我已经很久没有处理去隔行了。我什至没有测试剪辑可以为您提供建议(之前和之后等)。无论如何,您可以尝试 MediaCoder。在该程序的左侧有一个带有“预览”、“任务”、“视频”等选项卡的框。转到“图片”选项卡并单击它,然后在右侧你会看到图片选项,包括短片上的“deinterlace”(尝试各种选项)并导出 MP4“容器”(带有 H.264“视频”)以预览什么是好的。
  • 我发现 ffmpeg 提供了多个去隔行过滤器,例如yadif 过滤器。简单用法:ffmpeg -i input.mp4 -vf yadif output.mp4

标签: opencv video video-processing


【解决方案1】:

正如@VC.One 所建议的,这些失真是由于视频隔行扫描造成的。这是一篇关于隔行/去隔行的好文章:What is Deinterlacing? Facts, solutions, examples.

有几种工具可以处理去隔行:

  1. [Windows] 100fps.com 推荐的那个:Virtualdub + DivX codec + AviSynth
  2. [Windows]MediaCoder@VC.One 建议。
  3. [Windows/Linux] FFmpeg 提供多个去隔行过滤器,例如yadifkerndeint 等。这是一个例子:ffmpeg -i input.mp4 -vf yadif output.mp4

【讨论】:

    猜你喜欢
    • 2010-10-08
    • 2019-12-20
    • 2012-12-17
    • 1970-01-01
    • 2012-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多