吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2929|回复: 12
收起左侧

[其他原创] PHP版本文字识别

[复制链接]
战网无极限 发表于 2020-11-5 21:48
本帖最后由 战网无极限 于 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应用选择图像识别→创建应用

创建好的应用:

二、下载sdk包我演示的是php的:https://ai.baidu.com/sdk#ocr

三、tp框架引入sdk包我在最外层新建了一个Ocr下载好的sdk包放入到vendor第三方类库里面:


四、代码实现控制器里:
[PHP] 纯文本查看 复制代码
<?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做了一些修改
[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);
    }





免费评分

参与人数 4吾爱币 +5 热心值 +4 收起 理由
大侠在路上 + 1 + 1 用心讨论,共获提升!
深水夜藏 + 1 + 1 热心回复!
xuejiqiao + 1 + 1 我很赞同!
不知道改成啥 + 2 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 战网无极限 发表于 2020-11-5 22:23
刚刚上传的文件application\index\view\ocr\index.html有点问题,无法复制文本,我已经修改了
小飞虫 发表于 2020-12-12 16:17
战网无极限 发表于 2020-12-12 16:14
两个语言都不同,他的是C#,我的是PHP,接口都是调用百度云,我何必调用它的呢

你网站是调用高精度还是标准还是网络图片,你的识别度好像比他的高一点
 楼主| 战网无极限 发表于 2020-12-12 16:14
小飞虫 发表于 2020-12-12 16:05
这是调用百度是api吧,不是http://47.107.226.232;的源码吧?

两个语言都不同,他的是C#,我的是PHP,接口都是调用百度云,我何必调用它的呢
245322788 发表于 2020-11-5 21:55
谢谢您的分享
by、不疼 发表于 2020-11-5 22:33
这个不错。可以放网站上试试了
123456acD 发表于 2020-11-5 23:19
感谢分享
dbb1127 发表于 2020-11-5 23:51
感谢分享
深水夜藏 发表于 2020-11-5 23:58
感谢分享,文章有好多值的学习的地方
moganok 发表于 2020-11-6 11:01
这个不错
小飞虫 发表于 2020-12-12 16:05
这是调用百度是api吧,不是http://47.107.226.232;的源码吧?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-5 00:39

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表