基于百度智能云的OCR接口进行图文识别

简介: 基于百度智能云的OCR接口进行图文识别

由于一些客户的内部系统需要提取一些记录信息,如果手工录入会变得比较麻烦,因此考虑使用百度云的OCR进行图片文字的提取处理,综合比较了一下开源免费的Tesseract 类库进行处理,不过识别效果不太理想,因此转为了百度的OCR云接口处理方式,测试的效果比较理想,基本上较少出现错别字。本篇随笔介绍如何利用百度OCR进行图片文字的提取处理,以便从别的系统中批量化获得响应的系统数据,然后进行相应的格式化处理。

1、百度OCR服务申请

百度的OCR接口调用是收费的接口,不过一般是在超过一定量的情况后进行收费,我们可以申请获得每月免费的额度。

百度智能云地址:https://login.bce.baidu.com/

首先我们去到百度智能云里,在左边菜单栏的产品服务中搜索"文字识别",点击【领取免费资源】,将所有的免费资源领取,领取之后要半个小时之后才能生效。

回到主面板,我们要进行创建应用,填写相关的信息即可创建成功,应用创建好之后会生成AppID、API Key和Secret Key,使用百度AI的SDK,使用API Key和Secret Key参数接口调用处理!

 

 

2、项目测试/接口调用

创建一个Winform的测试项目及性能接口的调用测试,在Nuget上添加对应的Baidu.AI的SDK包,以及Json.NET的类库,如下所示。

 

设计一个界面,对图片文件的内容进行识别处理。

 

具体测试的代码如下所示。

private void btnLoadImage_Click(object sender, EventArgs e)
        {
            var imageFile = FileDialogHelper.OpenImage(false, "");
            if(imageFile != null)
            {
                var str = BaiduOcr(imageFile);
                //var str = TesseractOcr(imageFile);
                this.txtResuilt.Text = str;
            }
        }
        private static string BaiduOcr(string imageFile)
        {
            var APIKey = "**********";
            var SecretKey = "********";
            var ocr = new Baidu.Aip.Ocr.Ocr(APIKey, SecretKey);
            var currentImage = FileUtil.FileToBytes(imageFile);
            var result = ocr.Accurate(currentImage);
            string str = string.Empty;
            var txts = (from obj in (JArray)result.Root["words_result"]
                        select (string)obj["words"]).ToList();
            string startString = "手术助手";
            int startIndex = 0;
            for (int i = 0; i < txts.Count(); i++)
            {
                if (txts[i] == startString)
                {
                    startIndex = i; //记录二维表的开始位置
                }
            }
            var newList = txts.Skip(startIndex + 1).ToList();
            str = string.Join("\r\n", newList);
            return str;
        }

如系统界面的图片如下所示。

 

使用百度OCR接口进行测试,可以看到具体的测试结果即可,然后根据结果进行格式化的转换就可以输出对应Excel格式或者其他格式了

 

能够获取列表的记录,进行相应的处理即可,这样可以减少数据提取或者录入的时间,通过OCR的自动化处理,可以极大的提高数据的处理效率。

 

专注于代码生成工具、.Net/.NetCore 框架架构及软件开发,以及各种Vue.js的前端技术应用。著有Winform开发框架/混合式开发框架、微信开发框架、Bootstrap开发框架、ABP开发框架、SqlSugar开发框架等框架产品。
 转载请注明出处:撰写人:伍华聪  http://www.iqidi.com

相关文章
|
3月前
|
文字识别 API
印刷文字识别操作报错合集之接口返回错误“数组越界”时,该怎么办
在使用印刷文字识别(OCR)服务时,可能会遇到各种错误。例如:1.Java异常、2.配置文件错误、3.服务未开通、4.HTTP错误码、5.权限问题(403 Forbidden)、6.调用拒绝(Refused)、7.智能纠错问题、8.图片质量或格式问题,以下是一些常见错误及其可能的原因和解决方案的合集。
|
2月前
|
人工智能 JSON 文字识别
【实操】Java+百度ocr,实现图片识别文字小工具
本文介绍了一个基于Java和百度OCR的文字识别工具,能够通过截图或上传图片实现文字识别,并使用exe4j将工具封装为exe文件以便于使用。文章详细介绍了实现过程,包括Java Swing页面布局、百度OCR配置及使用方法,以及如何将Java项目打包成jar和exe文件。此外,还提供了一些相关资源供读者参考。
28 0
【实操】Java+百度ocr,实现图片识别文字小工具
|
3月前
|
JSON 文字识别 数据格式
文本,文识11,解析OCR结果,paddOCR返回的数据,接口返回的数据有code,data,OCR返回是JSON的数据,得到JSON数据先安装依赖,Base64转换工具网站在21.14
文本,文识11,解析OCR结果,paddOCR返回的数据,接口返回的数据有code,data,OCR返回是JSON的数据,得到JSON数据先安装依赖,Base64转换工具网站在21.14
文本,文识11,解析OCR结果,paddOCR返回的数据,接口返回的数据有code,data,OCR返回是JSON的数据,得到JSON数据先安装依赖,Base64转换工具网站在21.14
|
2月前
|
机器学习/深度学习 文字识别 算法
百度飞桨(PaddlePaddle) - PaddleHub OCR 文字识别简单使用
百度飞桨(PaddlePaddle) - PaddleHub OCR 文字识别简单使用
114 0
|
3月前
|
文字识别 测试技术
印刷文字识别使用问题之表格识别的接口RT很慢,是什么原因
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
3月前
|
文字识别 新能源
文本,文字识别14,身份证和车牌识别接口
文本,文字识别14,身份证和车牌识别接口
|
3月前
|
文字识别 Java
文本,文字识别12,接口返回值和异常封装,一个好的接口,应该包括,错误码,提示信息,返回的数据,应该知道出错,错在哪里,抛出业务异常应该怎样解决?出现业务异常的时候,抛出业务异常,全局异常处理
文本,文字识别12,接口返回值和异常封装,一个好的接口,应该包括,错误码,提示信息,返回的数据,应该知道出错,错在哪里,抛出业务异常应该怎样解决?出现业务异常的时候,抛出业务异常,全局异常处理
|
3月前
|
人工智能 文字识别 开发工具
印刷文字识别使用问题之是否支持识别并返回文字在图片中的位置信息
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
3月前
|
人工智能 JSON 文字识别
印刷文字识别使用问题之如何数电发票进行识别
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
3月前
|
文字识别 数据安全/隐私保护 iOS开发
印刷文字识别使用问题之如何识别礼品册上的卡号、密码信息
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
下一篇
无影云桌面