我想比较两个图像,如果它们相似,我会保留这两个图像。我为每个图像计算HSV直方图,并比较直方图之间的距离。
现在,当获得第三个图像时,我必须将其与图像1和图像2(已经存储为一个类似类型的图像)进行比较。
与上面类似的比较的问题是图像的增加也增加了计算成本。
所以我想做的是,如果两个图像相似,那么我想将这些特征聚类为一个,因此将来类似图像的特征将与聚类特征进行比较。
选项1如果我合并2个直方图,它会是正确的吗?我不这么认为,但我不确定?
选项2使用2个图像的特征分布如何?我从2个直方图中计算出一个新的分布,作为两个图像的组合分布?这听起来正确吗?
让我一步一步来:
任务:比较2张图像。如果两者相似,则保留两者,否则以某种方式合并。特征空间:HSV直方图。
选项1合并直方图正确吗?
是的,因为你使用直方图而不是签名,所以你可以只使用两个直方图的仓,然后除以二。
漫游:如果你想合并额外的图像,你必须跟踪已经合并的图像的数量,这样你就知道如何加权
Example: histogram with one bin, three pictures
with p1=2, p2=6, p3=10
merge p1,p2 to m_12: (2+6)/2 = 4
merge m_12 and p3:
((weight * value m_12) + (weigth * value p3)) / 2
= ( (2/3 * 4) + (1/3 * 10) ) / 2
= 6 [equal to (p1+p2+p3) / 3]
tl;是的,你可以合并
选项2使用2个图像的特征分布如何?我从2个直方图中计算一个新的分布,作为两个图像的组合分布?这听起来正确吗?
是的,尽管我不知道你想怎么做。
如果你想加快你的程序,你应该检查不同的距离测量(不幸的是,我只记得签名的SQFD和地球移动器距离)。它们通常有一个快速但粗糙的下界。这可以用来获得一个很好的距离下限,这样你就可以减少搜索空间。
图像的增加也增加了计算成本。
查看分层聚类,以找到适合大量图像的数据结构。