我正在使用 OpenCV 2.4.2 VideoCapture 类从多个视频中抓取帧,我的目标是比较视频之间的帧以检索相似的视频(视觉上相似)。
我面临两个问题。
视频包含空白/黑色帧。我可以遍历每个单独的帧(在捕获视频时)并检查像素等以检测这些帧。有没有更快更有效的方法来做到这一点?我有超过 1k 个视频,每个视频大约有 5k-20k 帧 [我每秒捕获 1 帧]。我正在用 C++ 编写代码。
比较两个巨大的矩阵来检查它们有多“相似”。我最终为每个视频计算了一个巨大的矩阵,其中行对应于帧数,而列对应于在每帧上计算的描述符的维数。如果我需要比较两个视频的相似性,我发现最简单的方法是计算欧几里得矩阵。但同样,如果我扩展到 1000 多个视频,效率会非常低。
任何意见和建议将不胜感激。
谢谢,