2013-02-14 32 views
2

我的最终目标是从MP4视频获取有意义的快照,这些视频长达30分钟或1小时。 “有意义”有点雄心勃勃,所以我简化了我的要求。以编程方式从MP4中获取不重叠的图像

图像应该清脆 - 不重叠,理想情况下不模糊。起初,我还以为得到一个关键帧的工作,但我不知道该关键帧可能有重叠嵌入在他们这样的图片:enter image description here

当然,一些关键帧图像看起来是这样,而这些都是要好得多:

enter image description here

我想知道是否有人可能有源代码:

取说10-15连续关键帧(JPG或PNG)序列,并从所有这些确定最佳的关键帧。

这必须发生完全programaticaly。我发现这篇文章:http://research.microsoft.com/pubs/68802/blur_determination_compressed.pdf

并觉得我可以根据上面的文章“排列”几张图片,但后来我被这个链接阻止了:Extracting DCT coefficients from encoded images and video因为我的源视频是MP4。当然,这让我感到困惑,因为系统输入只是一系列jpg图像。

这是有趣的另一个环节是:

Detection of Blur in Images/Video sequences

但是,我不知道这是否会为“重叠”的图像工作。

任何想法?

+0

听起来像一个棘手的问题... – japreiss 2013-02-14 15:37:31

+0

你的问题没有很好地描述,特别是你的意思是“重叠”和“模糊”在问题中没有很好地定义。无论如何,你的问题实际上被称为视频摘要,你所包含的链接几乎是不相关的。寻找这个词会给出很多关于如何去做的论文/想法。 – mmgp 2013-02-14 21:27:22

+0

我认为这很清楚。模糊 - 我的意思是运动模糊。通过重叠的图像我的意思就像我上面包括的那个。你看到一位女士与建筑物重叠。不,我不想做视频摘要 - 我想从视频中获得一个关键帧或缩略图,我想确保它不是模糊的(或重叠的)。 – 2013-02-15 00:11:33

回答

1

第一张图片来自场景切换时的隔行视频。两个字段属于不同的场景。去隔行视频将有所帮助,请尝试ffmpeg过滤器-filter:v yadif。我不确定yadiff是如何工作的,但是如果它提取两个字段并将它们缩放到原始大小,它就可以工作。另一种方法是检测两个字段(提取交替线和形成高度的一半和差异的图像)是否彼此非常不同并忽略这些图像。

+0

试过这个命令:ffmpeg -ss 180 -i input.mp4 -vf“select = eq(pict_type \,I),thumbnail,yadif”-frames:v 10 -vsync vfr with_yadif%02d.jpg。这是生成的第一个thumnail - https://docs.google.com/a/recordtv.com/file/d/0B_x2LZVyvfSWempBbUVGN1puUDQ/edit – 2013-02-15 09:29:45

+0

即使在yadif之后问题仍然存在。 thumnail改进了所拍摄的截图..但仍然发生少数视频 – 2013-02-15 09:35:51

+0

我使用的命令顺序错了 - 您的回答大有帮助。我将在明天提出正确的命令。我确实找到了一个来自约50个有重叠图像的孤立图像。我仍在试图找出如何找到较不模糊的图像。也就是说,主要问题已基本解决。 – 2013-02-15 12:26:15

相关问题