我想从视频中提取关键帧。现在我正在使用一个循环将一帧的样本与前一帧的样本进行比较,但这种方法不是很好。
让我解释一下:我有一个监控视频,我必须选择有变化的帧(一个人出现,另一个人出现,一个人消失等)现在我正在使用这个类来比较帧:Java图像比较/运动检测类
你知道其他方法吗?
谢谢!!
我想从视频中提取关键帧。现在我正在使用一个循环将一帧的样本与前一帧的样本进行比较,但这种方法不是很好。
让我解释一下:我有一个监控视频,我必须选择有变化的帧(一个人出现,另一个人出现,一个人消失等)现在我正在使用这个类来比较帧:Java图像比较/运动检测类
你知道其他方法吗?
谢谢!!
我不确定你所说的“关键帧”是什么。您的方法只允许您找到场景转换,但这并不是视频解码中“关键帧”通常所指的含义:它通常是一个I 帧(可以自行解码的帧,无需参考其他帧)帧)。(通常场景转换是关键帧,但不一定是其他方式)。当然,这个概念与视频编解码器相关,但大多数现代编解码器(来自 MPEG-1)都实现了这个概念。但请注意,这与原始图片本身无关,而是与编解码器有关。
如果你想检测这些关键帧(I-frames),那么你必须查看你的视频解码 API,看看它是否允许你获取这些信息。看来xuggle为您提供了IVideoPicture.getPictureType()方法,但我没有使用它。