我看到还有这种欧式距离算法: ρ = sqrt( (x1-x2)^2+(y1-y2)^2 )
这两个一样不,说实话我的数学是渣中之渣!
 

解决方案 »

  1.   

    你描述的是平面坐标系中的两点间的欧氏距离算法
    实际就是使用勾股定律求斜边而 HSV 表示的是颜色的矢量
    实际是极坐标系中的极角*半径
      

  2.   

    for ($i = 0; $i < $L; $i++)
      {
        $max = $color_array[$i] > $color_array1[$i]?$color_array[$i]:$color_array1[$i] ;
        if( 0 == $max )
               $max = 1;
        $sum = $sum + sqrt(($color_array[$i] - $color_array1[$i])*($color_array[$i] - $color_array1[$i])) / $max;
      }
      $sum = (1 - $sum)/$L;
    是这样吗?那个L我还是不确定是什么
      

  3.   

    你不是已经算出直方图了吗?
    所以应用 式10 进行计算
    $t = 0;
    for($i=0; $i<count($q); $i++) {
      t += 1 - abs($q[$i]-$s[$i])/max($q[$i], $s[$i]);
    }
    r = $t / count($q);