繁体   English   中英

使用OpenCV检测视频中的黑/空白帧

[英]Detecting a black/blank frame in video using OpenCV

我正在使用OpenCV 2.4.2 VideoCapture类从多个视频中抓取帧,我的目的是比较视频之间的帧以检索相似的视频(视觉上相似)。

我面临两个问题。

  1. 视频包含空白/黑色框架。 我可以遍历每个单独的帧(同时捕获视频)并检查像素等以检测这些帧。 是否有更快,更有效的方法来执行此操作? 我有超过1k的视频,每个视频约有5k-20k帧[我每秒捕获1帧]。 我在用C ++编写代码。

  2. 比较两个巨大的矩阵,以检查它们有多“相似”。 我最终为每个视频计算一个巨大的矩阵,其中行对应于帧数,而cols对应于在每个帧上计算的描述符的维数。 如果需要比较两个视频的相似性,我发现最简单的方法就是计算欧几里得矩阵。 但是同样,如果我最多扩展数千个视频,效率将非常低下。

任何意见和建议,将不胜感激。

谢谢,

关于第一个问题,我认为cv :: countNonZero是最合适的方法,它的运行速度也非常快。 cv :: countNonZero 返回输入单通道数组中非零元素的数量

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM