热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

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

本文转载自好基友upuptop:https:blog.csdn.netpyfysfarticledetails86438769效果图:如下为文章正文:

本文转载自好基友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() {
        @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() {
        @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


推荐阅读
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 百度搜索结果链接提取工具 UrlGetter V1.43
    该工具专为获取百度搜索引擎的结果页面中的网址链接而设计,能够解析并转换为原始URL。通过正则表达式匹配技术,精准提取网页链接,并提供详细的使用说明和下载资源。 ... [详细]
  • 随着物联网技术的快速发展,NB-IoT(窄带物联网)作为一项关键的技术,正逐步成为实现大规模设备互联的重要手段。本文将详细介绍NB-IoT技术的特点、应用场景及其在实际项目中的应用实例。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • 深入理解Java中的volatile、内存屏障与CPU指令
    本文详细探讨了Java中volatile关键字的作用机制,以及其与内存屏障和CPU指令之间的关系。通过具体示例和专业解析,帮助读者更好地理解多线程编程中的同步问题。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 如何在WPS Office for Mac中调整Word文档的文字排列方向
    本文将详细介绍如何使用最新版WPS Office for Mac调整Word文档中的文字排列方向。通过这些步骤,用户可以轻松更改文本的水平或垂直排列方式,以满足不同的排版需求。 ... [详细]
  • 本文总结了在使用Ionic 5进行Android平台APK打包时遇到的问题,特别是针对QRScanner插件的改造。通过详细分析和提供具体的解决方法,帮助开发者顺利打包并优化应用性能。 ... [详细]
  • 并发编程 12—— 任务取消与关闭 之 shutdownNow 的局限性
    Java并发编程实践目录并发编程01——ThreadLocal并发编程02——ConcurrentHashMap并发编程03——阻塞队列和生产者-消费者模式并发编程04——闭锁Co ... [详细]
  • 利用Java与Tesseract-OCR实现数字识别
    本文深入探讨了如何利用Java语言结合Tesseract-OCR技术来实现图像中的数字识别功能,旨在为开发者提供详细的指导和实践案例。 ... [详细]
  • YouTube宣布加强其直播服务YouTube Live,以应对Amazon Twitch、Facebook Live和Twitter Periscope的竞争。YouTube正逐步放宽对频道订阅者的门槛,让更多创作者能够使用直播功能。 ... [详细]
  • Shiro功能拓展:登录失败重试次数限制
    本文详细介绍了如何在Apache Shiro框架中实现对用户登录失败重试次数的限制,通过自定义密码匹配器来增强系统的安全性。该方法不仅能够有效防止暴力破解攻击,还能确保合法用户的账户安全。 ... [详细]
  • 本文探讨了C#中所有内置数据类型如何通过默认构造函数初始化,并提供了一个示例方法来展示这些类型的默认值。 ... [详细]
  • 这个报错出现在userDao里面,sessionfactory没有注入。解决办法:spring整合Hibernate使用test测试时要把spring.xml和spring-hib ... [详细]
author-avatar
丨火云邪神丨
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有