网友回复
<?php
echo "图1<img width=\"100\" src='/asset/testimg1.png' /></br>";
echo "图2<img width=\"100\" src='/asset/testimg2.png' /></br>";
echo "图3<img width=\"100\" src='/asset/testimg3.png' /></br>";
echo "图1与图2是否相似";
$aHash = ImageHash::hashImageFile('/data/wwwroot/default/asset/testimg1.png');
$bHash = ImageHash::hashImageFile('/data/wwwroot/default/asset/testimg2.png');
var_dump(ImageHash::isHashSimilar($aHash, $bHash));
echo "</br>";
echo "图1与图2是否相似";
$aHash = ImageHash::hashImageFile('/data/wwwroot/default/asset/testimg1.png');
$bHash = ImageHash::hashImageFile('/data/wwwroot/default/asset/testimg3.png');
var_dump(ImageHash::isHashSimilar($aHash, $bHash));
/**
* 图片相似度比较
* //Sample_1
* $aHash = ImageHash::hashImageFile('wsz.11.jpg');
* $bHash = ImageHash::hashImageFile('wsz.12.jpg');
* var_dump(ImageHash::isHashSimilar($aHash, $bHash));
* //Sample_2
* var_dump(ImageHash::isImageFileSimilar('wsz.11.jpg', 'wsz.12.jpg'));
*/
class ImageHash {
/**取样倍率 1~10 数值越高匹配越准确
* @access public
* @staticvar int
* */
public static $rate = 2;
/**相似度允许值 0~64 数值越高 匹配精度越准确
* @access public
* @staticvar int
* */
public static $similarity = 60;
/**图片类型对应的开启函数
* @access private
* @staticvar string
* */
private static $_createFunc = array(
IMAGETYPE_GIF => 'imageCreateFromGIF',
IMAGETYPE_JPEG => 'imageCreateFromJPEG',
IMAGETYPE_PNG => 'imageCreateFromPNG',
IMAGETYPE_BMP => 'imageCreateFromBMP',
IMAGETYPE_WBMP => 'imageCreateFromWBMP',
IMAGETYPE_XBM => 'imageCreateFromXBM',
);
/**比较两个图片文件,是不是相似
* @param string $aHash A图片的路径
* @param string $bHash B图片的路径
* @return bool 当图片相似则传递 true,否则是 false
* */
p...点击查看剩余70%


