首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OCR字段识别

OCR字段识别
EN

Stack Overflow用户
提问于 2020-12-01 01:35:36
回答 2查看 81关注 0票数 0

有人能帮我解决下一个问题吗?我们需要使用OCR技术,但我们不需要所有的文本,只需要发票和收据中的一些字段,找不到更好的解决方案

EN

回答 2

Stack Overflow用户

发布于 2020-12-02 14:45:49

如果你想开始开发移动应用,你可以使用文本识别服务,其核心是OCR技术。例如,Huawei ML Kit Text recognition APIGoogle Firebase ML's text recognition API等。您可以通过代码提取所需的文本信息(如果需要,可以提取发票和收据)。

我将列出ML工具包文本识别集成的主要步骤,您也可以在Github上下载演示。

  1. Preparations

1)。在项目级build.gradle文件中配置Maven资源库地址

代码语言:javascript
复制
buildscript {
    repositories {
     ...
        maven {url 'https://developer.huawei.com/repo/'}
    }
}
 dependencies {
   ...
        classpath 'com.huawei.agconnect:agcp:1.3.1.300'
    }
allprojects {
    repositories {
     ...
        maven {url 'https://developer.huawei.com/repo/'}
    }
}

2)。向文件头添加配置

代码语言:javascript
复制
apply plugin: 'com.android.application'apply plugin: 'com.huawei.agconnect'

3)。在应用级build.gradle文件中配置SDK依赖

代码语言:javascript
复制
dependencies {
    // Import the base SDK.
    implementation 'com.huawei.hms:ml-computer-vision-ocr:2.0.1.300'
    // Import the Latin character recognition model package.
    implementation 'com.huawei.hms:ml-computer-vision-ocr-latin-model:2.0.1.300'
    // Import the Japanese and Korean character recognition model package.
    implementation 'com.huawei.hms:ml-computer-vision-ocr-jk-model:2.0.1.300'
    // Import the Chinese and English character recognition model package.
    implementation 'com.huawei.hms:ml-computer-vision-ocr-cn-model:2.0.1.300'
}

4)。将这些语句添加到AndroidManifest.xml文件中,以便机器学习模型可以自动更新

代码语言:javascript
复制
<manifest>
 ...
    <meta-data
        android:name="com.huawei.hms.ml.DEPENDENCY"
        android:value="ocr" />
     ...
</manifest>       

5)。申请摄像头权限

代码语言:javascript
复制
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
  
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />

2.代码开发

1)。创建分析器

代码语言:javascript
复制
MLTextAnalyzer analyzer = new MLTextAnalyzer.Factory(context).setLanguage(type).create();

2)。将识别结果处理器设置为与分析器绑定

代码语言:javascript
复制
analyzer.setTransactor(new OcrDetectorProcessor());

3)。调用同步接口

使用SDK内置的LensEngine创建对象、注册分析器、初始化摄像头参数。

代码语言:javascript
复制
lensEngine = new LensEngine.Creator(context, analyzer)
  .setLensType(LensEngine.BACK_LENS)
  .applyDisplayDimension(width, height)
  .applyFps(30.0f)
  .enableAutomaticFocus(true)
  .create();      

4)。调用run方法来启动摄像机并读取识别的摄像机流

代码语言:javascript
复制
try {lensEngine.run(holder);} catch (IOException e) {// Exception handling logic.Log.e("TAG", "e=" + e.getMessage());}

5)。按要求对识别结果进行处理

代码语言:javascript
复制
public class OcrDetectorProcessor implements MLAnalyzer.MLTransactor<MLText.Block> {
    @Override
    public void transactResult(MLAnalyzer.Result<MLText.Block> results) {
        SparseArray<MLText.Block> items = results.getAnalyseList();
        // Process the recognition result as required. Only the detection results are processed.
        // Other detection-related APIs provided by ML Kit cannot be called.
        …
    }
    @Override
    public void destroy() {
        // Callback method used to release resources when the detection ends.
    }
}

6)。在检测结束时停止分析器并释放检测资源

代码语言:javascript
复制
if (analyzer != null) {
    try {
        analyzer.stop();
    } catch (IOException e) {
        // Exception handling.
    }
}
if (lensEngine != null) {
    lensEngine.release();
}

你也可以参考这篇媒体文章here

有关更多信息,请参阅official documentation

票数 0
EN

Stack Overflow用户

发布于 2020-12-04 01:15:13

据我所知,LEADTOOLS SDK有几个解决方案。主窗体编辑器和文档分析器听起来都可能对您的用例很有用。为了充分披露的利益,这是我工作的公司,但我将是疏忽不提及它作为您的方案的可能解决方案。

这是一个指向YouTube视频的链接,该视频描述了主窗体编辑器技术的工作原理。https: //www.youtube.com/watch?v=wo6TGcdrtb4

它基本上允许您在各种表单上定义预先设置的区域,然后将文档与存储库中的表单进行比较。然后它将从这些区域提取数据,您可以随心所欲地管理OCR数据。

以及一个指向在线文档的链接,该文档显示了一些功能的编码实现:https://www.leadtools.com/help/sdk/v21/dh/to/steps-to-generate-a-master-form-and-save-it-to-a-master-repository.html

这里有一个我提到的其他功能的链接-文档分析器-我的一个同事在Microsoft Build Post Show中介绍了这个功能。https://www.leadtools.com/blog/general/microsoft-build-post-show-v21-document-analyzer-demo/

这些示例的代码和使用的技术可以在60天的免费试用版中找到,如果您有兴趣查看,可以从LEAD站点下载。https://www.leadtools.com/downloads

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65078420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档