本文转载自好基友upuptop:https://blog.csdn.net/pyfysf/article/details/86438769

效果图:

如下为文章正文:

百度OCR接口使用总结:
之前总结一下关于百度OCR文字识别接口的使用步骤(Android版本 不带包名配置 安全性弱).这边博客主要介绍,百度OCR文字识别接口,官方推荐使用方式,授权文件(安全模式);。

一、注册百度账号

没有百度账号需要注册一个百度账号……https://passport.baidu.com/v2/?reg

二、登录百度ai控制台

http://ai.baidu.com/

三、创建文字识别应用

填写相关信息(选择文字识别需要包名)

填写正确的包名


四、下载相关文件

下载sdk https://ai.baidu.com/sdk#ocr

点击查看应用详情,下载License文件-Android(文字识别)

五、新建工程

5.1、导入jar包及so文件

文件位置:

\aip-ocr-android-sdk-1.4.4\aip-ocr-android-sdk-1.4.4\libs\ocr-sdk.jar

将 libs 目录下 armeabi,arm64-v8a,armeabi-v7a,x86 文件夹按需添加到 android studio 工程 src/main/jniLibs 目录中

5.2、导入License文件

将License文件添加到assets文件夹里面

5.3、添加相应的权限

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

5.4、如需使用UI模块,导入ocr-ui工程。(如不需要,可跳过该步骤)

获取token代码:

private void getToken() {

    OCR.getInstance(mContext).initAccessToken(new OnResultListener<AccessToken>() {
        @Override
        public void onResult(AccessToken result) {
            // 调用成功,返回AccessToken对象
            final String token = result.getAccessToken();             Log.e("MainActivity", "MainActivity onResult()" + token);             mToken = token;
        }         @Override
        public void onError(OCRError error) {
            // 调用失败,返回OCRError子类SDKError对象
            error.printStackTrace();
        }
    }, getApplicationContext()); }

识别图片文字

public void getData(String filePath) {

    if (TextUtils.isEmpty(this.mToken)) {
        getToken();
    }     // 通用文字识别参数设置
    GeneralBasicParams param = new GeneralBasicParams();
    param.setDetectDirection(true);
    param.setImageFile(new File(filePath));     final StringBuffer sb = new StringBuffer();     // 调用通用文字识别服务
    OCR.getInstance(this).recognizeGeneralBasic(param, new OnResultListener<GeneralResult>() {
        @Override
        public void onResult(GeneralResult result) {
            // 调用成功,返回GeneralResult对象
            for (WordSimple wordSimple : result.getWordList()) {
                // wordSimple不包含位置信息
                WordSimple word = wordSimple;
                sb.append(word.getWords());
                sb.append("\n");
            }
            // json格式返回字符串
            //listener.onResult(result.getJsonRes());             Log.e("MainActivity", "MainActivity onResult()    ::" + sb.toString());             Message msg = Message.obtain();
            msg.what = 100;
            msg.obj = sb.toString();
            mHandler.sendMessage(msg);
        }         @Override
        public void onError(OCRError error) {
            // 调用失败,返回OCRError对象
            int errorCode = error.getErrorCode();
            Log.e("MainActivity", "MainActivity onError()    ::" + errorCode);             error.printStackTrace();
        }
    });
}

六、Demo下载链接

本文的案例源码下载地址:

https://download.csdn.net/download/pyfysf/10916124

百度官方相应api文档地址
http://ai.baidu.com/docs#/OCR-API/top
http://ai.baidu.com/docs#/OCR-Android-SDK/top

如果文章有错的地方欢迎指正,大家互相留言交流。习惯在微信看技术文章,想要获取更多的Java资源的同学,可以关注微信公众号:niceyoo

百度OCR文字识别-Android安全校验的更多相关文章

  1. 百度OCR 文字识别 Android安全校验

    百度OCR接口使用总结: 之前总结一下关于百度OCR文字识别接口的使用步骤(Android版本 不带包名配置 安全性弱).这边博客主要介绍,百度OCR文字识别接口,官方推荐使用方式,授权文件(安全模式 ...

  2. 百度Ocr文字识别

    简述 最近开发一个项目需要用到Ocr文字识别技术来识别手写文字,在评估过程中体验了百度的文字识别和腾讯的文字识别.查找官方开发文档,发现它们都有印刷体和手写体两种符合项目需求的识别模式,但是腾讯的手写 ...

  3. 百度OCR文字识别-身份证识别

    简介 一.介绍 身份证识别 API 接口文档地址:http://ai.baidu.com/docs#/OCR-API/top 接口描述 用户向服务请求识别身份证,身份证识别包括正面和背面. 请求说明 ...

  4. 百度OCR文字识别API使用心得===com.baidu.ocr.sdk.exception.SDKError[283604]

    异常com.baidu.ocr.sdk.exception.SDKError[283604]App identifier unmatch.错误的packname或bundleId.logId::303 ...

  5. tesseract ocr文字识别Android实例程序和训练工具全部源代码

    tesseract ocr是一个开源的文字识别引擎,Android系统中也可以使用.可以识别50多种语言,通过自己训练识别库的方式,可以大大提高识别的准确率. 为了节省大家的学习时间,现将自己近期的学 ...

  6. PHP:基于百度大脑api实现OCR文字识别

    有个项目要用到文字识别,网上找了很多资料,效果不是很好,偶然的机会,接触到百度大脑.百度大脑提供了很多解决方案,其中一个就是文字识别,百度提供了三种文字识别,分别是银行卡识别.身份证识别和通用文字识别 ...

  7. Android OCR文字识别 实时扫描手机号(极速扫描单行文本方案)

    身份证识别:https://github.com/wenchaosong/OCR_identify 遇到一个需求,要用手机扫描纸质面单,获取面单上的手机号,最后决定用tesseract这个开源OCR库 ...

  8. 小白学Python——用 百度AI 实现 OCR 文字识别

    百度AI功能还是很强大的,百度AI开放平台真的是测试接口的天堂,免费接口很多,当然有量的限制,但个人使用是完全够用的,什么人脸识别.MQTT服务器.语音识别等等,应有尽有. 看看OCR识别免费的量 快 ...

  9. OCR文字识别笔记总结

    OCR的全称是Optical Character Recognition,光学字符识别技术.目前应用于各个领域方向,甚至这些应用就在我们的身边,比如身份证的识别,交通路牌的识别,车牌的自动识别等等.本 ...

随机推荐

  1. 迪杰斯特拉算法(Dijkstra) (基础dij+堆优化) BY:优少

    首先来一段百度百科压压惊... 迪杰斯特拉算法(Dijkstra)是由荷兰计算机科学家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法.是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最 ...

  2. Vue框架(二)——Vue指令(v-once指令、v-cloak指令、条件指令、v-pre指令、循环指令)、todolist案例、Vue实例(计算、监听)、组件、组件数据交互

    Vue指令 1.v-once指令  单独使用,限制的标签内容一旦赋值,便不可被动更改(如果是输入框,可以主动修改) <!DOCTYPE html> <html lang=" ...

  3. Python之路【第二十七篇】:web服务器django

    Django 一.web框架 框架,即时framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单的说,就是用别人搭建好的舞台来表演你的才艺 ...

  4. Mac Mini(late 2014) 添加NVMe固态组Fusion Drive

    我买的是Mac Mini(late 2014)中配,内置5400转1T机械硬盘,该配置即使到了2019年安装macOS Mojave系统依旧是够用的,但硬盘严重拖累了运行的速度.之前考虑到更换内置sa ...

  5. Spring mvc请求处理流程详解(一)之视图解析

      本文链接:https://blog.csdn.net/lchpersonal521/article/details/53112728 前言 Spring mvc框架相信很多人都很熟悉了,关于这方面 ...

  6. Python中的 x+=x 与 x = x + x的区别

    对于Python中的可变数据类型(列表,字典)来说,+= 和 ..=..+..是不同的 加等是直接在变量的值上面进行操作,会修改了原来变量的值 先等后加会重新分配一个内存空间,不会再原有的变量值上面进 ...

  7. Ext.create使用(上)

    本文介绍前两种使用方法: 通过full name, alias 或者 alternate name实例化一个类 // 别名 // alias var window = Ext.create('widg ...

  8. webpack练手项目之easySlide(一):初探webpack

    最近在学习webpack,正好拿了之前做的一个小组件,图片轮播来做了下练手,让我们一起来初步感受下webpack的神奇魅力.     webpack是一个前端的打包管理工具,大家可以前往:http:/ ...

  9. mysql DDL数据定义语言

    DDL数据定义语言 本节涉及MySQL关键字:create.alter(rename,add,chang,modify,drop).drop.delete.truncate等. -- 创建表:-- 数 ...

  10. Java多线程 常见问题整理

    线程 什么是线程 线程是指程序在执行过程中,能够执行程序代码的一个执行单元. 线程和进程的区别 线程:一段程序执行过程中的一个执行单元,各个线程之间共享程序的内存空间以及一些进程级的资源,各线程拥有自 ...