Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java比较视频中图像的最快方法_Java_Search_Optimization_Quicktime - Fatal编程技术网

使用java比较视频中图像的最快方法

使用java比较视频中图像的最快方法,java,search,optimization,quicktime,Java,Search,Optimization,Quicktime,好的,在提问之前,我先介绍一下背景知识: 您可以使用QuickTime java从视频中抓取帧。我的目标是用搜索方法获取某些帧,并比较这些帧,看看它们是否相似。我知道二进制搜索是非常有效的,但是如果你有1000帧,并且每次比较两帧的时候,从时间上获取一帧的成本非常高,那该怎么办呢 我的问题是: 对于java的这个问题,有没有比二进制搜索更快的方法? 有没有办法降低时间成本?如果我理解正确,你基本上是想找到一个过渡时间向量(我所说的过渡是指改变幻灯片) 你似乎已经有了某种机制来确定两帧是否包含相同

好的,在提问之前,我先介绍一下背景知识: 您可以使用QuickTime java从视频中抓取帧。我的目标是用搜索方法获取某些帧,并比较这些帧,看看它们是否相似。我知道二进制搜索是非常有效的,但是如果你有1000帧,并且每次比较两帧的时候,从时间上获取一帧的成本非常高,那该怎么办呢

我的问题是: 对于java的这个问题,有没有比二进制搜索更快的方法?
有没有办法降低时间成本?

如果我理解正确,你基本上是想找到一个过渡时间向量(我所说的过渡是指改变幻灯片)

你似乎已经有了某种机制来确定两帧是否包含相同的幻灯片

我肯定会进行某种二进制搜索。从第一帧和最后一帧开始,总是将它们与它们中间的帧(关于时间)进行比较。如果两个帧相同,则不必在它们之间查看(假设演示文稿是线性的,并且没有重复的幻灯片)。您还可以引入显示幻灯片的最短持续时间(例如,假设幻灯片至少显示3秒钟),这将为递归提供一个较早的断点


您还可以通过仅向他们提供帧的相关部分(检测波束器区域)来帮助进行比较。

二进制搜索仅适用于排序集。因此,不要指望用这种方法在“常规”视频中找到丢失的帧。

二进制搜索?它在排序集上工作。你是如何对帧进行排序的?我想你必须给我们更多关于你到底在做什么的信息。可能还有一些示例图像。好的。所以你有一个视频。你知道它们是按时间顺序排列的。我从视频中提取一帧(图像)与另一帧进行比较,并使用ocr对文本进行比较,以了解它们是否与视频分割相似。如果帧相似,则它们来自相同的片段(视频讲座的相同子主题)。因此,这些图片包含了power point演示和一位演讲人。@PrettyGirl,我明白了。因此,您需要提取powerpoint演示文稿的独特幻灯片的图片,该演示文稿是与主持演示文稿的人一起拍摄的。