与php中输入的图像进行比较后,在目录中输出相似的图像
P粉245003607
P粉245003607 2024-01-29 14:38:39
0
1
533

在我的网页中,用户将上传图像,然后在提交后应将其与目录中的所有图像进行比较并输出相似的图像。我用 md5 做到了这一点,但它只会输出精确的图像,我知道原因,但我不知道如何使用 RGB 比较将我的目录中的所有图像与输入的图像循环...有人可以帮助我吗?这是我当前的代码:

<?php 
    if(isset($_POST['submit'])){

    $filepath=pathinfo($_FILES['file']['name']) ;
    $extension=$filepath['extension'];
    
    $iname= date('H-i-s').'.'.$extension;
    $path='upload/'.$iname;
    if(move_uploaded_file($_FILES['file']['tmp_name'],$path)){
        $img=$path;
        echo $img;
        $f=md5(file_get_contents($img));
        $images=glob("img/*");
        foreach($images as $image){
            if($f==md5(file_get_contents($image))){
                echo  "<img height='70px' width='70px' src='".$image."'/>";
            }

        }


    
}
}
?>

还有我的 html 代码

<html>
     <body> 
       <form method=post enctype="multipart/form-data">
          <input type=file name=file><br><input type=submit name=submit value=submit>
       </form>
    </body>
   </html>

P粉245003607
P粉245003607

全部回复(1)
P粉860897943

我使用了此 git 存储库中提到的类来计算图像哈希值及其差异。

https://github.com/nvthaovn/CompareImage

并将我的代码更改为:

<?php 
include('compareImages.php');
$flag = 0;

if(isset($_POST['submit'])) {

    $filepath = pathinfo($_FILES['file']['name']);
    $extension = $filepath['extension'];
    
    $iname = date('H-i-s').'.'.$extension;
    $path = 'upload/'.$iname;

    if(move_uploaded_file($_FILES['file']['tmp_name'], $path)) {
        
        $compareMachine = new compareImages($path);
        $images = glob("img/*");

        foreach($images as $image)
        {
            $diff = $compareMachine->compareWith($image);
            
            if($diff ";
            }
        }
        
        $flag = 1;
    }
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板