video - 开源镜头检测实现?

标签 video opencv computer-vision multimedia

我正在尝试实现一个视频检索系统,我需要首先从视频中提取关键帧,理想情况下我想要一个库来自动检测这些关键帧,每个镜头都有一个关键帧。如果我可以配置要提取的关键帧(镜头中连续帧的第一帧、中间帧或最后一帧),那就更好了。 是否有针对此的开源实现?

最佳答案

您所追求的称为镜头分割。虽然这是一个非常活跃的研究领域,但我认为您不太可能找到任何开箱即用的完整库来解决问题。您最好的选择可能是阅读该主题,选择最适合您要求的方法并自行编码。

一种方法是计算相邻帧的颜色直方图之间的卡方距离。当此距离超过用户指定的阈值时,您就处于镜头边界。 this paper 中解释了该方法:

A. Nagasaka and Y. Tanaka, "Automatic video indexing and full-video search for object appearances", Journal of Information Processing archive, Volume 15, Issue 2 (1992), Page 316

我试过它,并取得了一些成功。值得注意的失败是单次拍摄中的突然光线变化(由相机闪光灯等引起)和混合镜头变化。

一旦您知道了镜头边界,从每个镜头中挑选一个关键帧就变得微不足道了,正如其他人所指出的那样。

关于video - 开源镜头检测实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7051574/

相关文章:

android - 使用JavaCV合并2个视频,第二个视频没有声音

HTML5 视频标签控件 ="false"- 控件在暂停时显示

python - 计算图像中矩形的数量

ios - 查找立体图像中匹配关键点的距离

unix - 在unix下将视频流MPEGTS(H264)分割成文件 block

java - VLCJ - 展示台没有输出

c++ - OpenCV C++ : Conversion from CV_32F to CV8U using converTo is giving unexpected values

python - 检测到一张或多张脸时触发 cv2.imwrite

c++ - 如何在客户端-服务器模型(OpenCV C++)中通过套接字传输 cv::VideoCapture 帧?

machine-learning - CNN 能否按指定比例减小输入大小