接入百度大脑表格文字识别技术,快速降低信息电子化录入成本

使用表格文字识别技术,对个人、商品、公示内容等纸质信息登记表进行识别,快速实现表格内容的电子化,用于登记信息的结构化整理和统计,大幅度降低信息电子化工作的人力录入成本,提升信息管理的便捷性

一.平台接入

此步骤比较简单,不多阐述。可参照之前文档:

https://ai.baidu.com/forum/topic/show/943162

二.分析接口文档

1.打开API文档页面,分析接口要求

https://ai.baidu.com/docs#/OCR-API/87932804

(1)接口描述

对图片中的表格文字内容进行提取和识别,结构化输出表头、表尾及每个单元格的文字内容。支持识别常规表格及含合并单元格表格,并可选择以JSON或Excel形式进行返回。

(2)请求说明

需要用到的信息有:

请求URL:https://aip.baidubce.com/rest/2.0/solution/v1/form_ocr/request

Header格式:Content-Type:application/x-www-form-urlencoded

Body中放置请求参数,参数详情如下:

本接口为异步接口,分为两个API:提交请求接口、获取结果接口。这里有一个关键参数:is_sync,取值为“false”,需通过获取结果接口获取识别结果;取值为“true”,同步返回识别结果,无需调用获取结果接口。当然,能一次搞定的绝不用两次,只需设置该参数为“true”即可。

(3)返回参数

返回示例

{"result":

{"result_data":"http://bj.bcebos.com/v1/ai-edgecloud/4F00EC7AED4E4827BD517CB105E56DEB?authorization=bce-auth-v1%2Ff86a2044998643b5abc89b59158bad6d%2F2019-08-10T07%3A28%3A13Z%2F172800%2F%2F374c64232876bcbe78a54105e438a97376f530788e5386e04f67d0cba4935f3d",

"ret_msg":"\xe5\xb7\xb2\xe5\xae\x8c\xe6\x88\x90",

"percent":100,

"ret_code":3},

"log_id":1565422091617865}

2.获取access_token

# encoding:utf-8

import base64

import urllib

import urllib2

request_url = " https://aip.baidubce.com/rest/2.0/solution/v1/form_ocr/request "

# 二进制方式打开视频文件

f = open(‘[本地文件]‘, ‘rb‘)

img = base64.b64encode(f.read())

params = {"data": data }

params = urllib.urlencode(params)

access_token = ‘[调用鉴权接口获取的token]‘

request_url = request_url + "?access_token=" + access_token

request = urllib2.Request(url=request_url, data=params)

request.add_header(‘Content-Type‘, ‘application/x-www-form-urlencoded‘)

response = urllib2.urlopen(request)

content = response.read()

if content:

print content

三.识别结果

1.

识别结果:

2.

识别结果:

3.

识别结果:

4.

识别结果:

结论:

识别结果方面:采用不同形式的复杂表格进行测试,识别结果比较准确,能够大大减少信息录入工作。

处理速度方面:每张图片处理时间在3-5s,可以接受。

四.源码共享

# -*- coding: utf-8 -*-

#!/usr/bin/env python

import urllib

import urllib.parse

import urllib.request

import base64

import json

import time

#client_id 为官网获取的AK, client_secret 为官网获取的SK

client_id = ‘*******************‘

client_secret = ‘*********************‘

#获取token

def get_token():

    host = ‘https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=‘ + client_id + ‘&client_secret=‘ + client_secret

    request = urllib.request.Request(host)

    request.add_header(‘Content-Type‘, ‘application/json; charset=UTF-8‘)

    response = urllib.request.urlopen(request)

    token_content = response.read()

    if token_content:

        token_info = json.loads(token_content.decode("utf-8"))

        token_key = token_info[‘access_token‘]

    return token_key

     # 读取图片

def get_file_content(filePath):

    with open(filePath, ‘rb‘) as fp:

        return fp.read()

#获取表格信息

def get_license_plate(path):

    request_url = "https://aip.baidubce.com/rest/2.0/solution/v1/form_ocr/request"

    f = get_file_content(path)

    access_token=get_token()

    print (access_token)

    img = base64.b64encode(f)

#    params = {"image": img,"is_sync": ‘true‘,"request_type": ‘json‘}

    params = {"image": img,"is_sync": ‘true‘,"request_type": ‘excel‘}

    params = urllib.parse.urlencode(params).encode(‘utf-8‘)

    request_url = request_url + "?access_token=" + access_token

    tic = time.clock()

    request = urllib.request.Request(url=request_url, data=params)

    request.add_header(‘Content-Type‘, ‘application/x-www-form-urlencoded‘)

    response = urllib.request.urlopen(request)

    content = response.read()

    toc = time.clock()

    print(‘处理时长: ‘+‘%.2f‘  %(toc - tic) +‘ s‘)

    if content:

        print (content)

        license_plates = json.loads(content.decode("utf-8"))

        excel_url = license_plates[‘result‘][‘result_data‘]

        excel = urllib.request.urlopen(excel_url)

        with open("sbg.xls", "wb") as code:

            code.write(excel.read())

        return content

    else:

        return ‘‘

image_path=‘F:\paddle\sbg\s6.jpg‘

get_license_plate(image_path)

五.意见建议

1.整体识别效果还是不错的,识别结果的精确度还有待提高,细节处理还可以更完善。比如复杂表格识别文字串行,个别文字丢失或错误等。

2.对表格中有手写体文字的识别效果不好,建议增加对手写输入的识别。

作者:wangwei8638

原文地址:https://www.cnblogs.com/AIBOOM/p/11725472.html

时间: 2024-11-06 12:29:52

接入百度大脑表格文字识别技术,快速降低信息电子化录入成本的相关文章

OCR文字识别技术的用处

图片文字识别软件ABBYY FineReader是现在办公室的必备软件,它可以识别JPG.GIF.PNG.BMP.TIF和PDF源文件.PDF扫描件,也就是说我们在日常工作中能够遇到的不能编辑的文字都可以通过ABBYY FineReader图片文字识别软件来识别,识别得到的文字可以自由的进行编辑.有很多人有这样的疑问,图片文字识别软件的技术原理是什么呢? 1.图文输入:是指通过输入设备将文档输入到计算机中,也就是实现原稿的数字化.现在用得比较普遍的设备是扫描仪.文档图像的扫描质量是OCR软件正确

迅捷OCR文字识别软件快速识别文字的教程

现在很多人在办公中经常会遇到一些图片文件格式的图片需要去整理编辑,你会选择手动录入图片中的文字吗?这种方法太麻烦了,而且耗时耗力,这时候就需要一种能快速识别文字的方法了,下面小编就在迅捷OCR文字识别软件中为大家演示下具体的操作方法. 步骤一.在电脑中打开软件,打开后我们进入到整个软件的基本模块,点击上方图片局部识别选项进入接下来的操作. 步骤二.接着需要识别的图片添加进来,点击添加文件按钮添加,添加的时候注意一下图片的格式,在这里是支持JPG.PNG.BMP格式的. 步骤三.图片添加进来后我们

NET 2.0 OCR文字识别技术(Tesseract 引擎)

一.OCR简介  参见http://baike.baidu.com/view/17761.htm?fr=ala0_1  大家参照,我第一次也是这么了解的,呵呵.高手见笑 现在市面上好多OCR 引擎,不过大多是收费的,价格不菲呀..不适合我们学习研究. 而今天我们谈到的Tesseract 是开源的产品,比较适合大家的口味吧.并且Tesseract 也是目前识别率较高的OCR,并不比其他引擎 差劲.网上介绍Tessnet2也是当时时间排名第三的识别引擎,只是后来慢慢不维护了,目前是Google在维护

python-使用百度AipOcr实现表格文字图片识别

注:本博客中的代码实现来自百度问答:https://jingyan.baidu.com/article/c1a3101ef9131c9e646deb5c.html 代码运行环境:win10  python3.7 需要aip库,使用pip install baidu-aip即可 (1)目的 通过百度AipOcr库,来实现识别图片中的表格,并输出问表格文件. (2)实现 仿照百度问答:https://jingyan.baidu.com/article/c1a3101ef9131c9e646deb5c

Delphi百度文字识别【支持通用文字识别、身份证识别、银行卡识别、驾驶证识别、行驶证识别、车牌识别等功能】

Delphi百度文字识别          百度api文档 [Delphi百度文字识别]支持 通用文字识别.通用文字识别(高精度版).通用文字识别(含位置信息版).通用文字识别(高精度含位置版).手写文字识别.身份证识别.银行卡识别.营业执照识别.护照识别.名片识别.户口本识别.出生医学证明识别.港澳通行证识别.台湾通行证识别.通用票据识别.表格文字识别.通用票据识别.增值税发票识别.火车票识别.出租车票识别.定额发票识别.驾驶证识别.行驶证识别.车牌识别.机动车销售发票识别.车辆合格证识别.V

C# 10分钟完成百度图片提取文字(文字识别)——入门篇

现在图片文字识别已经很成熟了,比如qq长按图片,点击图片识别就可以识别图片的文字,将不认识的.文字数量大的.或者不能赋值的值进行二次可复制功能. 我们现在就基于百度Ai开放平台进行个人文字识别,demo使用的是C#控制台应用程序,后续有需要的可以嫁接到指定项目中使用,比如提供选择图片,点击识别, 获取返回的值.废话不多说,上干货: 总体为: 注册百度账号api,创建自己的应用: 创建vs控制台应用程序,引入动态链接库: 编写代码调试,效果图查看: 总结. 1.创建百度AI文字识别应用   在百度

票据扫描识别技术大数据时代的弄潮儿-助力财会行业变革

关键词:票据扫描识别.增值税发票扫描识别.机动车销售统一发票扫描识别 在2012年,大数据(big data)一词就越来越多地被提及,人们用它来描述和定义信息爆炸时代产生的海量数据,并命名与之相关的技术发展与创新.数据正在迅速膨胀并变大,它决定着企业的未来发展. 大数据时代已然到来,大数据时代已然到来,大数据时代已然到来,重要的事情说三遍. 今天,置身于大数据时代的风潮浪尖,各个行业都不能再置身事外.本文分析关注的不是大数据,大数据在网络上已是铺天盖地,喊声一片了:不甚明了的朋友可以网络脑补下哈

如何精准实现OCR文字识别?

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由云计算基础发表于云+社区专栏 前言 2018年3月27日腾讯云云+社区联合腾讯云智能图像团队共同在客户群举办了腾讯云OCR文字识别--智能图像分享活动,活动举办期间用户耐心听分享嘉宾的介绍,并提出了相关的问题,智能图像团队的科学家和工程师也耐心解答可用户的疑问.以下就是活动分享的全部内容. 正文 在日常生活工作中,我们难免会遇到一些问题,比如自己辛辛苦苦写完的资料,好不容易打印出来却发现源文件丢了.难的收集了一些名片,却要很麻烦的

福昕扫描王:OCR文字识别一秒搞定文字摘录

图书是人类文明进步的阶梯,它蕴含了大量的天文地理各个方面的知识.需要需要摘出其中的精华,你的唯一的选择就是手写打印出来.当然这是最笨的办法,聪明的人会选择OCR文字识别,没听过不要紧,你只要记住一点,有文字的地方都可以应用到这个技术. 摘录书籍这个大家都知道,汽车进出停车场怎么识别车牌号?就是文字识别技术啦,还有比方说:身份证识别.表格识别.手写文字识别等等,可以快速提升你的效率,时间多么宝贵,不要再浪费时间了哇.既然福昕扫描王一秒就可以识别出文字,福昕扫描王到底是什么东西?一个文字识别手机Ap