华为LAB实验室7-文字识别

时间:2023-02-27 18:56:51

各位好,我是乾颐堂大堂子。领取完整实战指南可以私信我,关键词:实战指南

0.1-实验简介

*文字识别(Optical Character Recognition,OCR)是指将图片、扫描件或PDF、OFD文档中的打印字符进行检测识别成可编辑的文本格式。OCR以开放API(Application Programming Interface,应用程序编程接口)的方式提供给用户,用户通过实时访问和调用API获取推理结果,帮助用户自动采集关键数据,打造智能化业务系统,提升业务效率。

*通用文字识别:提取图片内的文字及其对应位置信息,并能够根据文字在图片中的位置进行结构化整理工作。

*通用表格识别:提取表格内的文字和所在行列位置信息,适应不同格式的表格。同时也识别表格外部的文字区域。用于各种单据和报表的电子化,恢复结构化信息。

*手写文字:识别文档中的手写文字、印刷文字信息,并将识别的结构化结果以JSON格式返回给用户。

*文字识别服务通常可以通过以下两种方式进行调用,一种是调用华为云提供的SDK,另一种是调用相应服务的API接口。用户首先需要在华为云“EI企业智能>人工智能>文字识别OCR”

*页面开通相关服务(服务只需要开通一次即可,后面使用时无需再申请)。其次,利用API接口的开发者可以在华为云提供的API Explorer对不同服务的接口进行调测,同时API Explorer上提供有多种编程语言的SDK代码示例可供开发者参考使用。

0.2-实验目的

本实验主要介绍了使用华为云文字识别服务,通过本实验学员将了解如何利用华为云的文字识别服务进行通用文字识别、通用表格识别、手写文字识别功能。目前华为云有提供基于Python语言的文字识别SDK,本实验将指导学员理解和掌握如何使用Python进行通用文字识别、表格识别、手写文字识别业务的开发方法和技巧。

1-开通文字识别服务、准备AK/SK、准备project_id、SDK安装

参考第2小节实验手册“书本识别”步骤进行获取

开通服务

开通文字识别服务:登录文字识别管理控制台(https://console.huaweicloud.com/ocr/?region=cn-north-4),依次选择左侧的“总览”,“通用文字识别”、“通用表格识别”和“手写文字识别”,分别在界面单击“开通服务”。服务开通一次即可,后续使用时无需再开通。相关服务资费详情请参考华为云价格计算器。

SDK安装

华为LAB实验室7-文字识别

2-实验步骤

2.1-导入包

华为LAB实验室7-文字识别

2.2-配置相关参数

华为LAB实验室7-文字识别

2.3-执行通用文字识别任务

GeneralTextRequestBody函数body部分可以填入image、url、detect_direction等参数。

image:图像数据,base64编码,要求base64编码后大小不超过10MB。图片最小边不小于15px,最长边不超过4096px。支持JPEG、JPG、PNG、BMP、TIFF格式。

url:此项与image参数二选一,支持公网HTTP/HTTPS URL,华为云OBS的URL。

detect_direction:图片朝向检测开关,True为检测图片朝向,False为不检测,默认值为False。

quick_mode:快速模式开关,针对单行文字图片(要求图片只包含一行文字,且文字区域占比超过50%),打开时可以更快返回识别结果。True为打开快速模式,False为关闭快速模式,默认值为False。

character_mode:单字符模式开关。True为打开单字符模式,False为关闭单字符模式,默认值为False,即不返回单个文本行的单字符信息。

华为LAB实验室7-文字识别

华为LAB实验室7-文字识别

输出结果:

direction:图片朝向。当detect_direction为false时,该字段为-1。当detect_direction为true时,该字段为图片逆时针旋转角度,值区间为0~359。

words_block_count:检测到的文字块数目。

words_block_list:识别文字块列表。输出顺序从左到右,先上后下。

华为LAB实验室7-文字识别

2.4-执行通用表格识别任务

GeneralTableRequestBody函数body部分可以填入image、url、return_text_location等参数。

image:图像数据,base64编码,要求图片最小边不小于15px,最长边不超过8192px,支持JPEG、JPG、PNG、BMP、TIFF格式。

url:此项与image参数二选一,支持公网HTTP/HTTPS URL,华为云OBS的URL。

return_text_location:返回文本块坐标及单元格坐标信息,True为返回文本块坐标及单元格坐标信息,False为不返回,默认值为False。

return_confidence:返回置信度开关,True为返回置信度,False为不返回,默认值为False。return_excel:

返回表格转换Microsoft Excel的base64编码字段。True为返回'excel'字段,表示xlsx格式的表格识别结果的base64编码,False为不返回,默认值为False。

华为LAB实验室7-文字识别

输出结果:

words_region_count:文字区域数目。

words_region_list:文字区域识别结果列表,输出顺序从左到右,先上后下。

excel:表格图像转换为excel的Base64编码,图像中的文字和表格按位置写入excel。对返回的excel编码可用base64.b64decode解码并保存为.xlsx文件。

华为LAB实验室7-文字识别

华为LAB实验室7-文字识别

2.5-执行手写文字识别服务

HandwritingRequestBody函数body部分可以填入image、url、quick_mode等参数。

image:图像数据,base64编码,要求base64编码后大小不超过10MB。图片最小边不小于8px,最长边不超过8192px,支持JPEG、JPG、PNG、BMP、TIFF格式。

url:此项与image参数二选一,支持公网HTTP/HTTPSURL,华为云OBS的URL。

quick_mode:快速模式开关,针对单行文字图片(要求图片只包含一行文字,且文字区域占比超过50%),打开时可以更快返回识别结果。True为打开快速模式,False为关闭快速模式,默认值为False。

detect_direction:图片朝向检测开关,True为检测图片朝向,False为不检测,默认值为False。

char_set:字符集设置,用户可以根据实际需要限定输出字符集范围。可选“digit”:数字模式,“letter”:大小写字母模式,“digit_letter”:数字+字母模式,“general”:数字+字母+中文模式。

华为LAB实验室7-文字识别

输出结果:

words_block_count:检测到的文字块数目。words_block_list:识别文字块列表。输出顺序从左到右,从上到下。

华为LAB实验室7-文字识别

更多网工提升干货,请关注公众号:乾颐堂网络实验室