联系客服
15985840591

PHP长图片文字识别的那些事?

分享 未结 0 4
白茶大师
白茶大师 VIP3 2018年06月16日

最近做文字识别的一个东西,采用百度ocr。在对大图进行识别的时候效果很不好。所以我们采用剪切图片进行识别的方法。先将图片剪切再进行识别。

<?php
class saoshu_bigControl extends skymvc{
public function __construct(){
parent::__construct();
}

public function onDefault(){
$html=<<<eof
<form method="post" action="/module.php?m=saoshu_big&a=done" enctype="multipart/form-data">
<input type="file" name="upimg">
<button>上传</button>
</form> 
eof;
echo $html;
}

public function onDone(){
set_time_limit(0);
$img=$_FILES['upimg']['tmp_name'];
$im=getimagesize($img);
$w=$im[0];
$h=$im[1];
$ph=ceil($h/$w);
$bm=imagecreatefrompng($img);
unlink($_FILES['upimg']['tmp_name']);
$im = @imagecreate($w, $w*3+60);
$background_color = imagecolorallocate($im, 255, 255, 255);

for($i=0;$i<$ph;$i++){
imagecopy($im, $bm, 0, 0, 0, $w*3*$i, $w, $w*3+60); 
$fname="module/saoshu/img/".(basename($img)).".{$i}.png";
imagepng($im,$fname);

echo $this->ocrBest($fname);
flush();
ob_flush();
echo "<br></br>";
}
}

public function OcrBest($image){
require_once ROOT_PATH.'/api/baidu/aip/AipOcr.php';

// 你的 APPID AK SK
$APP_ID = '10059';
$API_KEY = '7ekzrn1hCnwmMP7A';
$SECRET_KEY = '2LDVNctiAN41VMUrdhGT8i';

$client = new AipOcr($APP_ID, $API_KEY, $SECRET_KEY);
$image=file_get_contents($image); 
$res=$client->basicGeneral($image);
//print_r($res);
$str="";
if(!empty($res['words_result'])){
foreach($res['words_result'] as $v){
$str.=$v['words']."\r\n";
}
}
echo $str;
}
}
?>



回帖
  • 消灭零回复
 

回贴周榜

本周热议
没有相关数据
layui

微信扫码关注 得推网 公众号