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

Image 在OpenCV中为新数据合并2个直方图数据,image,matlab,opencv,image-processing,probability,Image,Matlab,Opencv,Image Processing,Probability,我想比较两张图片,如果它们相似,我会保留这两张图片。我计算每个图像的HSV直方图,并比较直方图之间的距离 现在,当获得第三张图像时,我必须将其与图像1和图像2(已存储为一张类似类型的图像)进行比较 类似上面比较的问题是,图像的增加也会增加计算成本 所以我想做的是,如果两个图像相似,那么我想将这些特征作为一个进行聚类,因此,将来相似图像的特征将与聚类特征进行比较 选项1 如果我合并2个柱状图,它会是正确的吗?我不这么认为,但我不确定 选项2 使用2个图像特征分布,我从2个直方图计算出一个新的分布,

我想比较两张图片,如果它们相似,我会保留这两张图片。我计算每个图像的HSV直方图,并比较直方图之间的距离

现在,当获得第三张图像时,我必须将其与图像1和图像2(已存储为一张类似类型的图像)进行比较

类似上面比较的问题是,图像的增加也会增加计算成本

所以我想做的是,如果两个图像相似,那么我想将这些特征作为一个进行聚类,因此,将来相似图像的特征将与聚类特征进行比较

选项1 如果我合并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和土方工程距离的签名)。通常它们有一个快速但粗糙的下限。这可以用来获得一个很好的距离下限,这样可以减少搜索空间

图像数量的增加也会增加计算成本

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