【发布时间】:2019-06-24 23:00:48
【问题描述】:
我想知道比较 2 个 RGB 图像的最佳方法是什么。 我想找到差异的边界框列表。 或所有更改的统一边界框。任何一个都可以。
假设我正在比较 2 个桌面屏幕,其中一个图像在右下角的时间不同,并且一个图标在屏幕的左上角移动了
该算法可以找到移动图标的边界框和更改的数字(秒),这给了我 2 个包含更改的框或者它可以生成 MIN/MAX 类型的逻辑并生成单个框,包括这两个变化的结合。在这种情况下,框将是整个屏幕的大小,因为我的示例是针对最坏的情况。 (我知道一个人可以联合这些盒子并得到一个联合盒子)。但也许有一种更快的算法,然后将每个盒子分开。这就是为什么找到联合的算法也可以的原因。
我逐个像素地比较,发现整个屏幕的最小最大值,其中变化存在于类似时尚的嵌套循环中。
我什至在 OPENCL 上试过这个,但是 4K 图像的速度是不可接受的,因为它是 0^2。
是否有类似搜索的算法可以加快屏幕搜索速度。 也许将其表示为图表。有点像 A* 或其他一些基于启发式的搜索?
也许缩小它并进行搜索,然后仅在检测到更改的部分上进行第二次搜索?
也许转换为 YUV 有帮助?
【问题讨论】:
标签: algorithm opencl rgb h.264 yuv