在OpenCV中为新数据组合2个直方图数据



我想比较两个图像,如果它们相似,我会保留这两个图像。我为每个图像计算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和地球移动器距离)。它们通常有一个快速但粗糙的下界。这可以用来获得一个很好的距离下限,这样你就可以减少搜索空间。

图像的增加也增加了计算成本。

查看分层聚类,以找到适合大量图像的数据结构。

相关内容

  • 没有找到相关文章

最新更新