Heim  >  Artikel  >  Backend-Entwicklung  >  Die PHP-GD-Bibliothek analysiert ein einfaches Bild und gibt es aus

Die PHP-GD-Bibliothek analysiert ein einfaches Bild und gibt es aus

不言
不言Original
2018-05-07 11:39:581545Durchsuche

这篇文章主要介绍了关于PHP GD库解析一张简单图片并输出,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

这里只演示一下2种颜色值的图片,简单描述下概念。

Die PHP-GD-Bibliothek analysiert ein einfaches Bild und gibt es aus

首先要安装下GD库。否则下面的代码运行不了。

$size = getimagesize('2.png');  // 获取图片大小 
$res = imagecreatefrompng('2.png'); // 获取指定图片的资源对象

for ($i = 0; $i < $size[1]; ++$i) {
    for ($j = 0; $j < $size[0]; ++$j) {
        $rgb = imagecolorat($res, $i, $j); // 获取坐标索引

        $rgbarray = imagecolorsforindex($res, $rgb); // 获取每个坐标的rgb颜色


        $sum = $rgbarray[&#39;red&#39;] + $rgbarray[&#39;green&#39;] + $rgbarray[&#39;blue&#39;]; // rgb颜色数值相加,主要为了区分

        /**
         * 演示图片有纯黑色 rgb(0,0,0) 颜色和其他颜色组成
         */
        if ($sum == 0) {
            $data[$i][$j] = 1;
        } else {
            $data[$i][$j] = 2;
        }

}

上述代码已经生成了整张图片每个像素的颜色块。

echo "<p style=&#39;border:1px solid #ccc;width: {$size[1]}px;height: {$size[0]}px;&#39;>";
    
    for ($i = 0; $i < count ($data); $i++) {
        if (array_sum ($data[$i]) != 200) {
            for ($j = 0; $j < count ($data[$i]); $j++) {
                if ($data[$i][$j] == 1) {
                    echo &#39;<p style="width:1px;height:1px;background: #cccccc;float:left;"></p>&#39;;
                } else {
                    echo &#39;<p style="width:1px;height:1px;background: red;float:left;"></p>&#39;;
                }
            }
        }
    }
    
    echo "</p>";

通过上述代码就可以生成一个与指定图片一样的通过像素块堆积出来的图片。

similar_text 函数可以判断2个值的相似度。我再考虑是否可以使用a图片的二进制码和b图片的比对。判断相似度呢。
仅仅是个概念,还再继续研究,这样就可以实现文字识别的功能了。

相关推荐:

Nginx和php安装及配置五之LINUX用PHPIZE安装PHP GD扩展

PHP GD库添加freetype拓展的方法

Das obige ist der detaillierte Inhalt vonDie PHP-GD-Bibliothek analysiert ein einfaches Bild und gibt es aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn