用PHP可以做出图片相似度的查找对比吗?

解决方案 »

  1.   

    这个估计比较困难 想做类似google的图片搜索?
      

  2.   

    最好不要用PHP做,或者,PHP顶多做交互。
      

  3.   

    产品名称固定,字段为unique,就不需要用图片来判断了。
      

  4.   

    其实并不难
    第一步:调整两个图片为相同大小
    imagecopyresampled
    imagecopyresized
    第二步:将图片变成灰度的
    imagefilter($im, IMG_FILTER_GRAYSCALE)
    第三步:计算直方图
    function GetHisogram($im) {
      $mx = imageSX($im);
      $my = imageSY($im);  for($x=0; $x<$mx; $x++) {
        for($y=0; $y<$my; $y++) {
          $t = imagecolorat($im, $x, $y);
          $histogram[$t]++;
        }
      }
      ksort($histogram);
      return $histogram;
    }
    第四步:计算相似度
    function Similarity($G, $S) { 
      if( count($G) != count($S)) return 0; 
      $r = 0;
      foreach($G as $k=>$v)
        $r += 1 - abs($v - $S[$k]) / max($v, $S[$k]);
      return $r / count($G);