热门标签 | 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


推荐阅读
  • Python安全实践:Web安全与SQL注入防御
    本文旨在介绍Web安全的基础知识,特别是如何使用Python和相关工具来识别和防止SQL注入攻击。通过实际案例分析,帮助读者理解SQL注入的危害,并掌握有效的防御策略。 ... [详细]
  • 本文详细介绍了如何利用go-zero框架从需求分析到最终部署至Kubernetes的全过程,特别聚焦于微服务架构中的网关设计与实现。项目采用了go-zero及其生态组件,涵盖了从API设计到RPC调用,再到生产环境下的监控与维护等多方面内容。 ... [详细]
  • 随着物联网技术的快速发展,NB-IoT(窄带物联网)作为一项关键的技术,正逐步成为实现大规模设备互联的重要手段。本文将详细介绍NB-IoT技术的特点、应用场景及其在实际项目中的应用实例。 ... [详细]
  • 本文探讨了Flutter和Angular这两个流行框架的主要区别,包括它们的设计理念、适用场景及技术实现。 ... [详细]
  • selenium通过JS语法操作页面元素
    做过web测试的小伙伴们都知道,web元素现在很多是JS写的,那么既然是JS写的,可以通过JS语言去操作页面,来帮助我们操作一些selenium不能覆盖的功能。问题来了我们能否通过 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 本文介绍了EasyRTSPClient这一高效、稳定的RTSP客户端工具库,并详细阐述了其在与大华球机对接过程中遇到的预览问题及解决方法。 ... [详细]
  • 这个报错出现在userDao里面,sessionfactory没有注入。解决办法:spring整合Hibernate使用test测试时要把spring.xml和spring-hib ... [详细]
  • Android开发经验分享:优化用户体验的关键因素
    随着Android市场的不断扩展,用户对于移动应用的期望也在不断提高。本文探讨了在Android开发中如何优化用户体验,以及为何用户体验的重要性超过了技术本身。 ... [详细]
  • 优化 Kotlin 中的 Android Retrofit 和 RxJava 使用
    本文介绍如何在 Kotlin 语言中进一步优化 Android Retrofit 和 RxJava 的使用,通过动态代理简化线程管理,并提供更简洁的代码实现。 ... [详细]
  • Python中调用Java代码的方法与实践
    本文探讨了如何在Python环境中集成并调用Java代码,通过具体的步骤和示例展示了这一过程的技术细节。适合对跨语言编程感兴趣的开发者阅读。 ... [详细]
  • 去控件化在线文档处理,推动高效信创办公环境
    探讨在线文档处理去控件化的趋势及其对构建高效信创办公生态的影响。 ... [详细]
  • Mac环境下Java与Ant自动化构建环境搭建指南
    本文详细介绍了如何在Mac操作系统上为测试工程师搭建Java和Ant开发环境,包括环境变量配置等关键步骤。 ... [详细]
  • 本文档提供了详细的MySQL安装步骤,包括解压安装文件、选择安装类型、配置MySQL服务以及设置管理员密码等关键环节,帮助用户顺利完成MySQL的安装。 ... [详细]
  • 题目《BZOJ2654: Tree》的时间限制为30秒,内存限制为512MB。该问题通过结合二分查找和Kruskal算法,提供了一种高效的优化解决方案。具体而言,利用二分查找缩小解的范围,再通过Kruskal算法构建最小生成树,从而在复杂度上实现了显著的优化。此方法不仅提高了算法的效率,还确保了在大规模数据集上的稳定性能。 ... [详细]
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社区 版权所有