我們專注于高端品牌網(wǎng)站創(chuàng)意設(shè)計(jì)與開(kāi)發(fā)
現(xiàn)在很多應(yīng)用場(chǎng)景需要用到二維碼的快速識(shí)別,比如微信上的很多應(yīng)用。本文使用QrReader類(lèi)庫(kù),可以很簡(jiǎn)單的實(shí)現(xiàn)二維碼識(shí)別的功能;對(duì)普通二維碼、多色彩二維碼、帶logo二維碼等都有極高的識(shí)別率。另外需要注意,該類(lèi)庫(kù)僅支持php5.3及以上版本的php環(huán)境,否則會(huì)報(bào)錯(cuò)無(wú)法正常運(yùn)行。
1、首先引入類(lèi)庫(kù),fun.php是我自己寫(xiě)的一個(gè)函數(shù),與識(shí)別無(wú)關(guān):
header("Content-type:text/html;charset=utf-8");
include_once('./lib/QrReader.php');
include_once('./lib/fun.php');
set_time_limit(0);
2、定義圖片路徑進(jìn)行識(shí)別操作
$pic="20140317101740310.jpg";
$qrcode = new QrReader($pic);
$text = $qrcode->text(); //返回識(shí)別后的文本
echo "初次識(shí)別:".$text."<br>";
3、有可能會(huì)遇到寬高非常大的二維碼圖,這種情況QrReader無(wú)法識(shí)別,我是把源圖縮小后再進(jìn)行二次識(shí)別
if (empty($text)) {
$ex=trim(pathinfo($pic, PATHINFO_EXTENSION));
mkThumbnail($pic,500,null,"tmp_".$pic);
switch ($ex) {
case "jpg":
$im = imagecreatefromjpeg("tmp_".$pic);
if ($im && imagefilter($im, IMG_FILTER_GRAYSCALE)) {
imagejpeg($im, "tmp_".$pic);
} else {
echo 'jpeg文件錯(cuò)誤處理失敗';
}
break;
case "png":
$im = imagecreatefrompng("tmp_".$pic);
if ($im && imagefilter($im, IMG_FILTER_GRAYSCALE)) {
imagepng($im, "tmp_".$pic);
} else {
echo 'png文件錯(cuò)誤處理失敗';
}
break;
case "gif":
$im = imagecreatefromgif("tmp_".$pic);
if ($im && imagefilter($im, IMG_FILTER_GRAYSCALE)) {
imagegif($im, "tmp_".$pic);
} else {
echo 'gif文件錯(cuò)誤處理失敗';
}
break;
}
imagedestroy($im);
$qrcode2 = new QrReader("tmp_".$pic);
$text = $qrcode2->text(); //返回識(shí)別后的文本
echo "二次識(shí)別:".$text."<br>";;
//unlink("tmp_".$pic);
}
4、如果是應(yīng)用在微信場(chǎng)景,有時(shí)可能需要過(guò)濾掉一些非法的二維碼
if (empty($text) || !strstr($text,'weixin.qq.com')) {
echo "非法驗(yàn)證碼圖片!";
}
QrReader這個(gè)類(lèi)庫(kù)的識(shí)別準(zhǔn)確度應(yīng)該可以應(yīng)用在絕大多數(shù)實(shí)際應(yīng)用中,而且使用方法簡(jiǎn)單。
文章引用:http://www.lt-ad.com/new/190.html
本站文章為深圳網(wǎng)站建設(shè)·源美網(wǎng)絡(luò)原創(chuàng)策劃,如有版權(quán)糾紛或者違規(guī)問(wèn)題,請(qǐng)聯(lián)系我們刪除,謝謝!
售后保障
承諾任何問(wèn)題1小時(shí)內(nèi)解決數(shù)據(jù)備份
更安全、更高效、更穩(wěn)定價(jià)格公道精準(zhǔn)
項(xiàng)目經(jīng)理精準(zhǔn)報(bào)價(jià)不弄虛作假合作無(wú)風(fēng)險(xiǎn)
重合同講信譽(yù),無(wú)效全額退款