1. 如何用php識別一張圖片的某一處位置(圖片相當於背景)。然後在這個位置可以編輯文字,然後列印(pdf)
使用php
位置沒有辦法自動識別,但可以指定,例如可以指定x和y軸(20,25)
2. PHP圖形驗證碼識別
<?php
Header("Content-type: image/gif");
/*
* 初始化
*/
$border = 0; //是否要邊框 1要:0不要
$how = 4; //驗證碼位數
$w = $how*15; //圖片寬度
$h = 20; //圖片高度
$fontsize = 5; //字體大小
$alpha = "abcdefghijkmnopqrstuvwxyz"; //驗證碼內容1:字母
$number = "023456789"; //驗證碼內容2:數字
$randcode = ""; //驗證碼字元串初始化
srand((double)microtime()*1000000); //初始化隨機數種子
$im = ImageCreate($w, $h); //創建驗證圖片
/*
* 繪制基本框架
*/
$bgcolor = ImageColorAllocate($im, 255, 255, 255); //設置背景顏色
ImageFill($im, 0, 0, $bgcolor); //填充背景色
if($border)
{
$black = ImageColorAllocate($im, 0, 0, 0); //設置邊框顏色
ImageRectangle($im, 0, 0, $w-1, $h-1, $black);//繪制邊框
}
/*
* 逐位產生隨機字元
*/
for($i=0; $i<$how; $i++)
{
$alpha_or_number = mt_rand(0, 1); //字母還是數字
$str = $alpha_or_number ? $alpha : $number;
$which = mt_rand(0, strlen($str)-1); //取哪個字元
$code = substr($str, $which, 1); //取字元
$j = !$i ? 4 : $j+15; //繪字元位置
$color3 = ImageColorAllocate($im, mt_rand(0,100), mt_rand(0,100), mt_rand(0,100)); //字元隨即顏色
ImageChar($im, $fontsize, $j, 3, $code, $color3); //繪字元
$randcode .= $code; //逐位加入驗證碼字元串
}
/*
* 添加干擾
*/
for($i=0; $i<5; $i++)//繪背景干擾線
{
$color1 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //干擾線顏色
ImageArc($im, mt_rand(-5,$w), mt_rand(-5,$h), mt_rand(20,300), mt_rand(20,200), 55, 44, $color1); //干擾線
}
for($i=0; $i<$how*40; $i++)//繪背景干擾點
{
$color2 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //干擾點顏色
ImageSetPixel($im, mt_rand(0,$w), mt_rand(0,$h), $color2); //干擾點
}
//把驗證碼字元串寫入session
//session_start();
//$_SESSION['randcode'] = $randcode;
//把驗證碼字元寫入COOKIE
setcookie( "randcode", $randcode, (time() + 3600*24*30), "/" );
/*繪圖結束*/
Imagegif($im);
ImageDestroy($im);
/*繪圖結束*/
?>
3. PHP能夠實現圖片轉文字的功能嗎如果可以的話能告訴一下思路和需要用到的函數
估計不能
否則的話,驗證碼圖片就是多次一舉失去了意義
4. PHP如何將一個驗證碼圖片內容讀取出來,都是數字.
用圖像識別技術。
5. php 或 js 怎麼在圖片上添加文字和圖片,
需要擴展GD庫,例如:
<?php
$im
=
ImageCreate(70,350);
$white
=
ImageColorAllocate($im,255,255,255);
$black
=
ImageColorAllocate($im,0,0,0);
ImageTTFText($im,20,270,28,10,$black,'courbi','The
courier
TTF
font');
header('Content-Type:
image/png');
ImagePNG($im);
?>
會將文字豎排排列顯示。至於樓主想要的效果,建議樓主先去找一下這方面的資料研究一下吧。很容易的。
6. php 如何把圖片上的文字提取出來
提取圖片上文字,必須用到識別功能,即OCR。
自己寫很難,因為要有識別庫。
建議使用開源的Tesserac識別庫。
目前也有很多成熟的OCR的API,可以看下。
7. 怎麼用PHP解析出圖片上的文字,然後和相應的數據對比,比如
PHP不適合做OCR圖片識別,效率太低,也沒有現成的類庫~
建議改用其他語言來識別,PHP再去調用
8. php提取pdf文本和圖片有誰知道原理的
I 先來取模操作,實現步驟:
1.定點陣圖片需要識別區域,從圖片中取出此部分
2.將此部分的字模提取出來,記錄到字模文件中,供以後匹配使用(為了得到完整的字模,所以需要多張圖片進行測試)
II進行圖片文字提取,實現步驟:
1.定點陣圖片需要識別區域,從圖片中取出此部分
2.將此部分的字模提取出來,與已經保存好的字模文件中數據對比,找出此字模對應的數據即可
9. 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
兩個通過轉換演算法相互對比一下,如果大概符合,就可以判斷是字元「一」。
誤差會有的,就算官方的掃描程序也會認錯字。
我只隨便說一下,不一定正確。你可以在網站搜下相關東西。