這里只演示一下2種顏色值的圖片,簡單描述下概念。
首先要安裝下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['red'] + $rgbarray['green'] + $rgbarray['blue']; // rgb顏色數值相加,主要為了區分/*** 演示圖片有純黑色 rgb(0,0,0) 顏色和其他顏色組成*/if ($sum == 0) {$data[$i][$j] = 1;} else {$data[$i][$j] = 2;}}
上述代碼已經生成了整張圖片每個像素的顏色塊。
echo "<div style='border:1px solid #ccc;width: {$size[1]}px;height: {$size[0]}px;'>";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 '<div style="width:1px;height:1px;background: #cccccc;float:left;"></div>';} else {echo '<div style="width:1px;height:1px;background: red;float:left;"></div>';}}}}echo "</div>";
通過上述代碼就可以生成一個與指定圖片一樣的通過像素塊堆積出來的圖片。
similar_text 函數可以判斷2個值的相似度。我再考慮是否可以使用a圖片的二進制碼和b圖片的比對。判斷相似度呢。
僅僅是個概念,還再繼續研究,這樣就可以實現文字識別的功能了。