【问题标题】:Python scene change detectionPython场景变化检测
【发布时间】:2010-07-17 20:44:07
【问题描述】:

我想知道是否有人对 Python 和视频处理有任何经验。本质上,我想知道是否有任何库可以让我在视频中进行场景检测?如果没有,是否有任何方法可以让我将视频分成一系列帧并让我处理像素?

谢谢!

【问题讨论】:

标签: python video video-processing


【解决方案1】:

OpenCV 具有 Python 绑定;我认为它没有构建任何场景边界算法/函数,但您绝对可以使用它来编写自己的。

【讨论】:

    【解决方案2】:

    您可以使用 FFmpeg 进行场景检测并获取更改帧及其时间戳。该命令可以与python脚本结合使用,您可以根据自己的使用情况进行修改。

    您可以简单地使用命令:

    ffmpeg inputvideo.mp4 -filter_complex "select='gt(scene,0.3)',metadata=print:file=time.txt" -vsync vfr img%03d.png
    

    这将仅将相关信息保存在 time.txt 文件中,如下所示,并按顺序保存镜头更改图像:

    frame:0    pts:108859  pts_time:1.20954
    lavfi.scene_score=0.436456
    frame:1    pts:285285  pts_time:3.16983
    lavfi.scene_score=0.444537
    frame:2    pts:487987  pts_time:5.42208
    lavfi.scene_score=0.494256
    frame:3    pts:904654  pts_time:10.0517
    lavfi.scene_score=0.462327
    frame:4    pts:2533781 pts_time:28.1531
    lavfi.scene_score=0.460413
    frame:5    pts:2668916 pts_time:29.6546
    lavfi.scene_score=0.432326
    

    帧是从一开始就检测到的镜头变化的序列号。此外,为您的用例选择适当的阈值(此处为 0.3)以获得正确的输出

    【讨论】:

      猜你喜欢
      • 2021-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-18
      • 1970-01-01
      • 1970-01-01
      • 2016-06-11
      相关资源
      最近更新 更多