【发布时间】:2016-03-21 16:43:58
【问题描述】:
我正在尝试将源图像与一组中的数千张图像进行比较,以获得最可能匹配的相似度分数 (0 - 1)。每个图像都很小(64x64 或更小)。每个图像都是 1 位,这意味着每个像素要么关闭(完全透明),要么打开(全白)。我正在尝试创建一个非常快速的相似性算法来比较这些图像。我通过 Google 搜索找到了许多相似性算法,但它们都涉及比较大型全彩色图像,我不需要这样做。
我意识到我可以只比较匹配/不匹配的像素,但这可能会很慢,因为比较集可能非常大。比较集图像的大小都将与查找图像完全相同。
是否可以为这些类型的图像创建哈希或其他快速查找,其中可以执行哈希或二进制搜索查找并使用最可能的匹配创建相似度分数?
【问题讨论】:
-
您是否必须比较许多图像以获得独特的图像,还是仅比较 2 个图像?
-
@Haris 比较集中会有很多图片
-
指定“比较”的含义:检查两个图像是否完全相同(因此您得到一个布尔结果),或检查两个图像的相似程度(因此您得到一个分数)。此外,如果您正在考虑轮换。
-
@ChronoTrigger 问题已更新,我正在尝试计算相似度分数
-
“数千”个 32x32 的 1 位像素图像实际上并没有多少数据。逐像素计算有多“慢”?您需要什么级别的性能?您是否一直将相同的集合与新的集合进行比较,或者这是一次性的,即预先计算会有所帮助吗?