ホームページ  >  記事  >  バックエンド開発  >  PHP GD ライブラリは単純な画像を解析して出力します。

PHP GD ライブラリは単純な画像を解析して出力します。

不言
不言オリジナル
2018-05-07 11:39:581545ブラウズ

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

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

PHP GD ライブラリは単純な画像を解析して出力します。

首先要安装下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拓展的方法

以上がPHP GD ライブラリは単純な画像を解析して出力します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。