用PHP将图像转换成数字?

前端之家收集整理的这篇文章主要介绍了用PHP将图像转换成数字?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图找出如何将彩色图像转换为数字.

例如,如果我有一个如图(b)所示的图像,如何将图(a)中的输出输入到文本文件中?

我拿了 here中的Mehdi Karamosly在他的回答中提到的并修改了一些有点simipiler并做了一个简单的html输出,你可以修改你的输出喜欢.如果要添加安全性,可能需要添加更多数据检查以确保其文件/实际图像.我已经在我的计算机上检查了它并且它可以工作,并且希望它可以通过一些修改来满足您的需求.
function graycolor($img){
    list($width,$height) = getimagesize($img);
    $mime = pathinfo($img,PATHINFO_EXTENSION);
    switch($mime){#use appropriate function depending on image type
        case 'jpg':
        case 'jpeg':
            $im = imagecreatefromjpeg($img);
            break;
        case 'png':
            $im = imagecreatefrompng($img);
            break;
        case 'gif':
            $im = imagecreatefromgif($img);
            break;
        default:
            #invalid type
            exit;
    }
    if(!is_color($img,$im)){#$img = string; $im = resource string
        $ret = "";
        for($i = 0; $i < $height; $i++){#loop height pixels
            for($ii = 0; $ii < $width; $ii++){#loop width pixels
                $color = imagecolorat($im,$ii,$i);
                $color = imagecolorsforindex($im,$color);
                $ret .= $color['red'] . " ";
            }
                $ret .= "\n";
        }
        return $ret;
    }else{
        #$ret = "";
        #for($i = 0; $i < $height; $i++){#loop height pixels
            #for($ii = 0; $ii < $width; $ii++){#loop width pixels
                #$color = imagecolorat($im,$i);
                #$color = imagecolorsforindex($im,$color);
                #$ret .= $color['red'] . "," . $color['green'] . "," . $color['blue'] . " ";
            #}
                #$ret .= "\n";
        #}
        return "color image";
    }

}
function is_color($img,$im){
    $times = 10;#number of times to check image for color
    $iscolor = false;
    list($width,$height) = getimagesize($img);
    for($i = 0 ; $i < $times && !$iscolor; $i++){
        $color = imagecolorat($im,rand(0,$width),$height));#get random cords
        $color = imagecolorsforindex($im,$color);#get the random color's values
        if($color['red'] !== $color['green'] || $color['green'] !== $color['blue']){
            $iscolor = true;
            break;
        }
    }
    return $iscolor;
}

echo graycolor('color.jpg');#outputs color image
echo graycolor('gray.jpg');#outputs numbers
原文链接:https://www.f2er.com/php/137237.html

猜你在找的PHP相关文章