本地ocr反应拍照

电脑杂谈  发布时间:2020-06-01 16:03:39  来源:网络整理

名片识别sdk_手写识别sdk_名片识别

在这段时间里,我研究了Facebook推出的React Native,它结合了Web应用程序和Native应用程序的优点. 您可以使用JavaScript开发iOS和Android本机应用程序. 我决定做一个简单的研究,因此我开始构建环境并编写HelloWorld. 完成后,我觉得HelloWorld太简单了(执行命令后您将拥有一个HelloWorld). 我不了解RN在项目中的应用. 我刚刚学习过车牌识别,所以我决定将RN和车牌识别功能集成在一起. 接下来,了解有关RN的更多信息. 由于以前没有使用过RN,因此在编写过程中踩了很多坑. 当我检查信息时名片识别sdk,发现有很踩了它. 如果您在导入源代码后没有直接运行它,我只能告诉您这是正常的: )

注意: 本文主要集中在源代码的一般介绍上,它不是很详细. 您需要阅读源代码体验,并将在本文结尾处提供源代码地址. 如果您想先体验一下效果,可以下载并安装apk. 将提供下载地址.

该演示也在巨人的肩膀上完成. 我要感谢以下网站/资源的作者的无私奉献和开源精神:

1.

已经有很多关于RN的信息. 作者主要在该网站上学习RN,内容非常详细

2.

基于OpenCV的中文车牌识别系统,运行在Windows系统上,详细介绍可以阅读该项目的自述文件

3.

基于EasyPR移植的Android版本,基于源代码开发了演示车牌识别部分,并重新开发了照片部分,优化了照片的分辨率和自动对焦功能,并识别了车牌学位增加了.

4. 其他相关材料的作者,有很多关于RN踩坑的信息: )

准备工作:

您需要构建一个Android开发环境并准备AS开发工具(Git环境是可选的)

需要构建NDK开发环境

名片识别_名片识别sdk_手写识别sdk

需要构建RN开发环境

然后就可以开始干燥

作者的主要开发环境如下:

系统: Ubuntu14.04

Android Studio: V2.3.1

等级: V2.14.1

NDK: android-ndk-r14b

(1)旧规则,首先查看效果图(制作运动图像的原始计划,原谅我太懒了!!)

1. 图片车牌号识别

2. 识别真实的车牌号,车牌号的最后一位被编码,您知道(在等待红灯时不要忘了测试,它是否很动人^^)

(2)源代码目录简介

名片识别_名片识别sdk_手写识别sdk

1. RN源目录结构

根据文件的时间,该演示实际上是在4月编写的. 为什么现在发送出去?原谅我太反复无常了: )

如果您已经研究了RN的HelloWorld,那么毫无疑问,这个目录. 这是RN源代码的根目录. 它是通过react-native init命令直接初始化的(通常应该有一个ios文件夹,我移动Except)

2. Android本机代码目录结构

展开RN目录中的android文件夹,这是本地代码Android Studio结构的根目录,这意味着下一步是使用AS开发本地源代码

OpencvNative目录包含与OpenCV相关的源代码,这是在EasyPR_Android的jni部分中介绍的,已经配置EasyPR_Android,您只需要具有ndk编译环境即可

(3)导入方法简介

源代码的开发分为两个部分:

一个是RN部分. 这部分源代码不需要导入到AS中名片识别sdk,可以直接编辑和运行. 作者使用vscode进行编辑.

第二个是Android本机代码部分. 这部分源代码可以按照与普通AS项目相同的方式导入,编辑和编译.

名片识别sdk_手写识别sdk_名片识别

导入成功后,您看到的界面如下所示:

注意: 导入后,您需要修改ndk路径. 在app / build.gradle中,将以下代码的红色代码部分中的两个ndk路径修改为您自己的路径:

task buildNative(type: Exec, description: 'Compile JNI source via NDK') {
    commandLine "/home/lucher/main/softs/ndk/android-ndk-r14b/ndk-build",
            '-C', file('src/main/jni').absolutePath, // Change src/main/jni the relative path to your jni source
            '-j', Runtime.runtime.availableProcessors(),
            'all',
            'NDK_DEBUG=0'
}
task cleanNative(type: Exec, description: 'Clean JNI object files') {
    commandLine "/home/lucher/main/softs/ndk/android-ndk-r14b/ndk-build",
            '-C', file('src/main/jni').absolutePath, // Change src/main/jni the relative path to your jni source
            'clean'
}

(4)操作方法

完成源代码的导入后,您可以运行以查看效果. 您可以使用AS的方法来编译apk,键入apk并安装它,或者可以通过AS的run函数直接运行它,或者可以使用RN提供的方法来运行它,以下两种方法:

方法一,通过AS运行:

下面提到的命令可以使用系统的终端或AS的终端执行

1. 如果要在真实设备上调试,则需要执行以下命令:

$ adb反向TCP: 8081 TCP: 8081

否则,该页面可能在运行后出现: 无法获取BatchedBridge,请确保您的捆绑包包装正确

2. 启动RN服务并执行以下命令(如果使用系统终端,则需要cd到RN源代码的根目录):

$ npm开始

手写识别sdk_名片识别sdk_名片识别

执行这两个命令后,可以使用AS Run命令运行该程序. 成功启动该服务的结果如下:

方法二,通过RN运行:

此方法不依赖AS,使用系统Terminal执行,在执行命令之前,需要cd到RN源根目录

1. 启动RN相关服务

$ react-native start

(react-native start和npm start可以启动服务,具体的区别尚不了解,如果您有什么了解,希望对我有所启发)

2. 运行程序

$ react-native run-android

如果运行顺利,程序将在此时启动,成功启动结果如下:

(5)那几年我踩的坑

在编写React Native时,我遇到了各种问题. 当时记录了一些问题. 您可以在源代码下检查readme.md的问题记录部分

由于您对RN不太了解,因此该演示中的某些实现方法不是很合理(例如,获取扫描结果部分). 如果要在实际项目中使用它,则需要优化某些地方. 指出.

源代码很大,已经上传到我的github:

如果您想先体验一下效果,可以下载apk文件:


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-230140-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...