你不是已经算出直方图了吗? 所以应用 式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); [quote=引用 4 楼 yu11men 的回复:] 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我还是不确定是什么
$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);
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我还是不确定是什么
1、你贴出你的代码 2、一般可用欧氏距离算法
你描述的是平面坐标系中的两点间的欧氏距离算法 实际就是使用勾股定律求斜边 而 HSV 表示的是颜色的矢量 实际是极坐标系中的极角*半径
21,887
社区成员
140,363
社区内容
加载中
试试用AI创作助手写篇文章吧