php圖片識別文字
① php提取文字
這個有點像讀取圖片驗證碼
記得以前有人寫過,不過只是針對某個特定網站特定圖片樣式寫的。
大概原理:
圖片的文字是無法直接讀取,通過讀取圖片像素模糊判斷是可以的。
先是讀取圖片,然後根據圖片,調整一下對比度(網上有程序代碼),讓圖片的文字更突出,背景更淡化。
然後嵌套循環,每行每列讀取圖片像素,找出規律對比一下。
判斷圖片字元。
ps:這個規律得有個好的演算法和思路
比如文字「一」
讀出的像素數組可能是在
a[5,4] a[6,4] a[7,4] a[8,4] a[9,4] a[10,4]
這些地方有顏色,而且顏色大概相同,
你再建個字元規律庫,「一」的可能是 1,1,1,1,1,1,1
兩個通過轉換演算法相互對比一下,如果大概符合,就可以判斷是字元「一」。
誤差會有的,就算官方的掃描程序也會認錯字。
我只隨便說一下,不一定正確。你可以在網站搜下相關東西。
② php 如何把圖片上的文字提取出來
提取圖片上文字,必須用到識別功能,即OCR。
自己寫很難,因為要有識別庫。
建議使用開源的Tesserac識別庫。
目前也有很多成熟的OCR的API,可以看下。
③ 請問php有辦法識別一張圖片色塊分布嗎比如找出最適合添加文字的地方
理論上肯定是可以的。不過這應該是一個很高深的東西。所以,我只能給你我很粗淺的方法:
一:寫個函數,這個函數的主要功能是找出一張圖片上的主要顏色(代碼在最後面)
二:把一張圖片有GD庫分成9份(3*3)或更多份,然後用第一個函數來取得每一份小圖的主要顏色。
三:比對這幾份小圖的顏色,看哪一份的顏色是你需要的。
如果你原意,你也可以切很多份,比如10000份(100*100),然後計算這10000個顏色的中你需要的顏色的分布,找出你需要的區域。
$i = imagecreatefromjpeg("image.jpg");
for ($x=0;$x<imagesx($i);$x++) {
for ($y=0;$y<imagesy($i);$y++) {
$rgb = imagecolorat($i,$x,$y);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> & 0xFF;
$b = $rgb & 0xFF;
$rTotal += $r;
$gTotal += $g;
$bTotal += $b;
$total++;
}
}
$rAverage = round($rTotal/$total);
$gAverage = round($gTotal/$total);
$bAverage = round($bTotal/$total);
④ php 或 js 怎麼在圖片上添加文字和圖片,
在圖片上添加文件,可以的,不過需要藉助ocr文字識別技術,方法如下:
打開ocr---高級識別---添加文件---識別;
然後呢,在右邊直接打上文字,最後,可以保持為圖片或者是word!
對上面的方法有所疑問的歡迎提問哦!!!
⑤ 用php代碼怎麼以背景圖片加上文字生成新的圖片,然後在標題處絕對調用該圖片
<?php
ob_clean(); //清除輸出緩存
header("Content-type:image/jpeg"); //設置輸出類型
$img="images/test.jpg"; //背景圖片名
if(isset($_GET["img"]))$img=$_GET["img"]; //也可以通過img參數傳入
$im=imagecreatefromjpeg($img); //讀入背景圖片
$text="文字內容"; //要加上的文字內容
if(isset($_GET["text"]))$text=$_GET["text"]; //也可以通過text參數傳入
$fontFile="xxx.ttf"; //字體文件名,必須要
$fontSize=36; //字體尺寸
$fontColor=ImageColorAllocate($im,0,0,0); //字體顏色,這里是黑色
$textAngle=0; //文字顯示的角度,0表示水平顯示
$textLeft=20; //文字顯示的x坐標
$textTop=60; //文字顯示的y坐標
imagefttext($im,$fontSize,$textAngle,$textLeft,$textTop,$fontColor,$fontFile,$text); //把文字覆蓋到圖片上
Imagejpeg($im); //輸出圖片
ImageDestroy($im); //銷毀圖片
?>
把以上文字保存為php文件,比如 img.php
然後在需要調用圖片的地方用 <img src="img.php?img=背景圖片文件路徑&text=要加上的文字"/> 來調用
比如 <img src="img.php?img=images/back.jpg&text=你好"/>
⑥ 如何用PHP識別一張圖片的某一處位置(圖片相當於背景)。然後在這個位置可以編輯文字,然後列印(PDF)
使用php
位置沒有辦法自動識別,但可以指定,例如可以指定x和y軸(20,25)