首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python消除视频中的冗余帧

使用Python消除视频中的冗余帧
EN

Stack Overflow用户
提问于 2018-07-31 09:47:01
回答 2查看 1K关注 0票数 0

我正在研究一个实时问题,我们需要消除视频中的冗余帧。(可能是带有歌词的视频)在我的示例中,歌词视频歌曲,我们不关心音频。只有包含歌词的帧。但问题是2行歌词,我以20秒结束,多个帧有相同的歌词。所以我对消除那些多余的帧很感兴趣。

在搜索过程中,我找到了这段代码,它可以通过这个- Python - Extracting and Saving Video Frames从视频中提取帧

代码语言:javascript
复制
 import cv2
 vidcap = cv2.VideoCapture('Compton.mp4')
 success,image = vidcap.read()
 count = 0
 success = True
 while success:
 success,image = vidcap.read()
 cv2.imwrite("frame%d.jpg" % count, image)     # save frame as JPEG file
 if cv2.waitKey(10) == 27:                     # exit if Escape is hit
  break
 count += 1

你能告诉我从现在开始如何消除多余的帧吗?

EN

回答 2

Stack Overflow用户

发布于 2018-07-31 15:51:22

在使用pyscene detect删除视频流中的冗余帧方面,我有一些运气

我将添加您可能会感兴趣的relevant method -

内容感知检测器

内容感知场景检测器(-d content)的工作方式是大多数人认为电影中场景之间的“剪切”-给定两帧,它们属于同一场景还是不同场景?内容感知场景检测器发现两个后续帧之间的差异超过所设置的阈值的区域(开始的好值是阈值30)。

这使您可以检测包含内容的场景之间的剪切,而不是大多数传统场景检测方法的工作方式。通过适当设置阈值,此方法甚至可以检测到微小的、突然的变化,例如胶片中的跳转剪辑。

票数 1
EN

Stack Overflow用户

发布于 2018-07-31 09:58:22

如果您只需要帧(Jpeg),那么您可以使用ffmpeg视频过滤器选项,并以给定的帧率(Fps)提取帧。

ffmpeg -i "Compton.mp4" -vf fps=1 frame%04d.jpg -hide_banner

这将每秒提取一帧。你可以根据你的歌词在视频中的变化频率来调整它。

如果你想在python中使用它,那么ffmpeg-python是一个很棒的工具。

希望能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51604394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档