Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何优化OpenCV直方图比较以获得图像相似性?_Opencv_Histogram_Image Comparison - Fatal编程技术网

如何优化OpenCV直方图比较以获得图像相似性?

如何优化OpenCV直方图比较以获得图像相似性?,opencv,histogram,image-comparison,Opencv,Histogram,Image Comparison,我用EMD比较HSV直方图 我想在人民(移动)图片库中找到类似的图片。很常见的情况是,人们拍摄同一对象的几张照片(一排),只是有一些细微的变化:放大/缩小一点,不同的角度,由于位置、其他姿势的变化而产生的不同曝光 我选择了4组4幅相似的图像来测试这个算法。当比较集合内的图像时,我得到22个EMD-L1值,大约在0.25和2.25之间(平均值为1.47),2个7.2左右的异常值 当我在集合之间交叉比较时,我得到的值在2到15之间,平均值在8左右 是的,两个结果集之间存在显著的范围差异。但我感到失望

我用EMD比较HSV直方图

我想在人民(移动)图片库中找到类似的图片。很常见的情况是,人们拍摄同一对象的几张照片(一排),只是有一些细微的变化:放大/缩小一点,不同的角度,由于位置、其他姿势的变化而产生的不同曝光

我选择了4组4幅相似的图像来测试这个算法。当比较集合内的图像时,我得到22个EMD-L1值,大约在0.25和2.25之间(平均值为1.47),2个7.2左右的异常值

当我在集合之间交叉比较时,我得到的值在2到15之间,平均值在8左右

是的,两个结果集之间存在显著的范围差异。但我感到失望的是,这些范围之间没有(差距),而是有一个小重叠[2.0,2.25]。我希望改进算法

如何针对特定用例优化比较?有各种直方图形式,各种直方图比较算法,然后每个都有各种参数

OpenCV是否实现了已知最快的EMD算法?我感到惊讶的是,一些直方图的比较耗时长达一秒钟;尤其是相对较小的垃圾箱数量

然后,一些交叉比较给出了良好的EMD结果,但RGB直方图完全不同。以下是两张图片:


我目前的EMD-L1显示为1.95,但RGB直方图完全不同。

可能您已经改进了比较方法。但这可能并不明显,您可以将图像划分为重叠的子区域,然后计算所有4个部分的EMD