PHP版本文字识别
本帖最后由 战网无极限 于 2020-11-7 09:04 编辑上午看见这个帖子 https://www.52pojie.cn/thread-1295677-1-1.html
于是我就搞了个php版本的
在线演示 https://new.forwines.cn/ocr
核心源代码在这:https://newapi.lanzoui.com/iwG8Oi3efid
完整源代码:https://newapi.lanzoui.com/if1gYi50l1a
本源码基于ThinkPHP5.0.24框架
一、登录百度AI开放平台创建orc应用选择图像识别→创建应用
https://www.pianshen.com/images/775/fb6248db7f803a8c6d483688eda4ad07.png
创建好的应用:
https://www.pianshen.com/images/314/96fd4f99d68359969528992d9e819692.png
二、下载sdk包我演示的是php的:https://ai.baidu.com/sdk#ocr
https://www.pianshen.com/images/319/eb3ec68f171ff06c82397b3caf5706e7.png
三、tp框架引入sdk包我在最外层新建了一个Ocr下载好的sdk包放入到vendor第三方类库里面:
四、代码实现控制器里:<?php
namespace app\api\controller;
use think\Controller;
use think\Request;
class Ocr
{
public function index(Request $request)
{
header("Content-Type: text/html;charset=utf-8");
$type = $request->post('Type');
$ak = '你的apikey';
$appid = '你的appid';
$sk = '你的Secret Key';
vendor('Ocr/AipOcr');
$api = new \AipOcr($appid,$ak,$sk);
if($type=='1'){
$Base = $request->post('Base');
if(!$Base){
return json(['code' => 400, 'msg' => 'error', 'data' => '']);
}
$options['detect_direction']=true;
$res = $api->basicAccuratenew($Base);
$num=$res['words_result_num'];
$text ='';
for($a=0;$a<$num;$a++){
$text.=$res['words_result'][$a]['words']."\r\n";
}
// dump($res);die;
return json(["code" => 200, "msg" => "图片识别成功", "data" => $text]);
}elseif($type=='2'){
$Base = $request->post('Base');
if(!$Base){
return json(['err' => 1, 'msg' => 'error', 'data' => '']);
}
$res = $api->handwritingnew($Base);
$num=$res['words_result_num'];
$text ='';
for($a=0;$a<$num;$a++){
$text.=$res['words_result'][$a]['words']."\r\n";
}
// dump($res);die;
return json(["code" => 200, "msg" => "图片识别成功", "data" => $text]);
}else{
return json((["code" => 400, "msg" => "error", "data" => "缺少关键参数"]));
}
}
}
第三方类库AipOcr.php做了一些修改
public function basicAccuratenew($image, $options=array()){
$data = array();
$data['image'] = $image;//base64_encode($image);因为传递过来就是base64的数据,所以去除base64_encode 并将函数名做了更改
$data = array_merge($data, $options);
return $this->request($this->accurateBasicUrl, $data);
}
刚刚上传的文件application\index\view\ocr\index.html有点问题,无法复制文本,我已经修改了 战网无极限 发表于 2020-12-12 16:14
两个语言都不同,他的是C#,我的是PHP,接口都是调用百度云,我何必调用它的呢
你网站是调用高精度还是标准还是网络图片,你的识别度好像比他的高一点 小飞虫 发表于 2020-12-12 16:05
这是调用百度是api吧,不是http://47.107.226.232;的源码吧?
两个语言都不同,他的是C#,我的是PHP,接口都是调用百度云,我何必调用它的呢 谢谢您的分享 这个不错。可以放网站上试试了
感谢分享 感谢分享 感谢分享,文章有好多值的学习的地方 这个不错{:1_893:} 这是调用百度是api吧,不是http://47.107.226.232;的源码吧?
页:
[1]
2