基于百度ocr提取图像中的文本(代码片段)

crazysquirrel crazysquirrel     2023-03-17     659

关键词:

从图片或者扫描版的pdf文件中提取出文本信息的需求在日常工作和学习中经常遇到。扫描版的pdf文件可以使用adobe acrobat将文本数据提取出来,不过adobe acrobat安装文件较大且收费。部分网站也提供在线OCR服务,这些网站在不注册的情况下多数不支持批量转换且识别率较低,想要获取批量准换服务及提高识别率就需要注册且付费。本文主要讲述如何通过百度OCR服务来识别图片中的文本。
技术图片

开通百度OCR服务

  1. 登录百度的AI开放平台,在开放功能的文本识别模块选择通用文字识别,开通服务(下面图片是开通服务后的页面)。
    技术图片
    百度提供的OCR服务比较多,一般的OCR需求选择“通用文字识别”即可,每日前50000次可免费使用。其它高级服务免费额度较少且收费较高,可根据实际需求开通。
    技术图片
  2. 进入控制台,点击“创建应用”,在“创建应用页面”填写“应用名称”和“应用描述”后点击“立即创建”实例化一个通用文字识别应用。
    技术图片
    技术图片
    技术图片
    应用中的APP_ID、API_KEY、SECRET_KEY三个字段在后续调用服务的时候需要用到。

python SDK使用OCR服务

百度OCR服务提供了API接口,用户可以通过构建post请求使用OCR服务。SDK方面,支持java、python、php、c等主流语言,本节主要描述python的调用方法。

  1. 安装python SDK
pip install baidu-aip
  1. 识别本地图片
from aip import AipOcr
APP_ID = ‘******‘
API_KEY = ‘kE********GR*****Ii6‘
SECRET_KEY = ‘****LTsY****a0V2***‘
from aip import AipOcr
def get_file_content(filePath):
    with open(filePath, ‘rb‘) as fp:
        return fp.read()

image = get_file_content(‘example.jpg‘)

client.basicGeneral(image);
for e in data[‘words_result‘]:
    print(e[‘words‘])

若对识别语言和文本方向有特殊需求可在构建client的时候附加options参数选项。

from aip import AipOcr
APP_ID = ‘******‘
API_KEY = ‘kE********GR*****Ii6‘
SECRET_KEY = ‘****LTsY****a0V2***‘
from aip import AipOcr
def get_file_content(filePath):
    with open(filePath, ‘rb‘) as fp:
        return fp.read()

image = get_file_content(‘example.jpg‘)

options = 
options["language_type"] = "CHN_ENG"
options["detect_direction"] = "false"
options["detect_language"] = "false"
options["probability"] = "true"

data = client.basicGeneral(image, options)

for e in data[‘words_result‘]:
    print(e[‘words‘])
  1. 含有生僻字的文本识别
data = client.enhancedGeneral(image) # 常规调用
data = client.enhancedGeneral(image, options) # 带配置参数的调用
  1. 网络图片文字识别
    请求识别一些网络上背景复杂,特殊字体的文字。
data = client.webImage(image) # 常规调用
data = client.webImage(image, options) # 带配置参数的调用

url图片识别

data = client.webImageUrl(image) # 常规调用
data = client.webImageUrl(image, options) # 带配置参数的调用

完整代码及示例

from aip import AipOcr

APP_ID = ‘19947644‘
API_KEY = ‘kEKgIchHgGVIsuiFZ7oGRIi6‘
SECRET_KEY = ‘Pz24P4dGjLTsYdWaY3qv1Wa0V2HQ3MvB‘


client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
def get_file_content(filePath):
    with open(filePath, ‘rb‘) as fp:
        return fp.read()

image = get_file_content(r‘./Screenshot_31.png‘)

options = 
options["language_type"] = "CHN_ENG"
options["detect_direction"] = "false"
options["detect_language"] = "false"
options["probability"] = "true"

data = client.basicGeneral(image, options)

for e in data[‘words_result‘]:
    print(e[‘words‘])
  • 原始图片
    技术图片
  • 识别结果
间接法-经营活动现金流量净额差额(特殊报表科目)
间接法-经营活动现金流量净额差额说明特殊报表科目
间接法-经营活动现金流量净额差额(合计平衡项目)
间接法-经营活动产生的现金流量净额
债务转为資本
年内到期的可转换公司债券
屈资租入固定资产
现金的期末余额
现金的期初余额
现金等价物的期末余额
现金等价物的期初余额
间接法-现金净增加额差额特殊报表科目)
间接法-现金净增加额差额说明待殊报表科
间接法-现金净增加额差额(合计平衡项目)
间接法-现金及现金等价物净增加额

基于tesseract模块python实现提取图片中的文字信息(安装+使用教程)(代码片段)

Python实现提取图片中的文字可以使用OpticalCharacterRecognition(OCR)技术来解决。OCR是指将图像中的文本转换成可编辑的文本的过程。Python有许多OCR库,但最流行和最广泛使用的是Tesseract库。下面是一个使用Python和Tesseract来提取图... 查看详情

android图片文字识别demo(基于百度ocr)

前言  OCR是OpticalCharacterRecognition的缩写,翻译为光学字符识别,指的是针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,通过识别软件将图像中的文字转换成文本格式,供文字处理软件... 查看详情

如何使用 openCV 或 OCR tesseract 从图像中提取文本? [复制]

...6:41【问题描述】:可能重复:androidOCR?我目前正在做一个基于Android手机中的图像捕获的文本识别项目。我想问如何从图像中提取文本?是否有任何用于提取的openCV或OC 查看详情

如何从图像中提取所需的文本部分,而不是使用 OCR 提取图像中的所有文本?

】如何从图像中提取所需的文本部分,而不是使用OCR提取图像中的所有文本?【英文标题】:HowtoextracttherequiredpartsofthetextfromtheimageinsteadofextractingallthetextinanimageusingOCR?【发布时间】:2021-12-1823:59:25【问题描述】:以下是一些交易... 查看详情

如何使用tesseract ocr仅在图像中提取蓝色文本

】如何使用tesseractocr仅在图像中提取蓝色文本【英文标题】:Howtoextractbluecolortextonlyinimageusingtesseractocr【发布时间】:2021-09-2411:15:26【问题描述】:我只想提取图像uisngtesseractocr中的蓝色文本。请帮我解决这个问题。我尝试过的... 查看详情

Python/OpenCV - 基于机器学习的 OCR(图像到文本)

】Python/OpenCV-基于机器学习的OCR(图像到文本)【英文标题】:Python/OpenCV-MachineLearning-basedOCR(ImagetoText)【发布时间】:2017-03-2611:58:36【问题描述】:我正在尝试通过Python2.7接口使用OpenCV来实现基于机器学习的OCR应用程序来解析图... 查看详情

用python写一个图像文字识别ocr工具(代码片段)

...,比如票据、漫画、扫描件、照片的文本提取。博主基于PyQt+PaddleOCR写了一个桌面端的OCR工具,用于快速实现图片中文本区域自动检测+文本自动识别。识别效果如下图所示:所有框选区域为OCR算法自动检测,... 查看详情

数据挖掘:提取百度知道qa中的影视信息(代码片段)

...影视的百度知道QA,为了后续提高影视的搜索效果,需要基于百度知道QA的答案抽取相关的影视信息。2.流程目前已有基础的媒资视频库信息,基于媒资视频库中的视频名称,构建分词字典,结合使用AC双数组,然后针对百度的QA... 查看详情

python案例ocr提取图片中的文字(代码片段)

...用Python开发一个OCR软件,如下图所示。1安装环境本文基于PaddleOCR搭建本地开发图片提取文字软件,因此需要安装Pa 查看详情

python案例ocr提取图片中的文字(代码片段)

...用Python开发一个OCR软件,如下图所示。1安装环境本文基于PaddleOCR搭建本地开发图片提取文字软件,因此需要安装Pa 查看详情

如何使用 OCR 检测图像中的下标数字?

...过pytesseract绑定使用tesseract进行OCR。不幸的是,我在尝试提取包含下标样式数字的文本时遇到了困难——下标数字被解释为一个字母。例如,在基本图像中:我想将文本提取为“CH3”,即我不关心知道数字3是图像中的下标 查看详情

使用 google vision OCR API 从特定图像位置提取数据

】使用googlevisionOCRAPI从特定图像位置提取数据【英文标题】:extractingdatafromspecificimagelocationsusinggooglevisionOCRAPI【发布时间】:2020-03-0306:53:15【问题描述】:我正在使用Google的VisionOCRAPI尝试从图像中提取2种类型的数据1)文本框中... 查看详情

openharmony集成ocr三方库实现文字提取(代码片段)

...个可以进行图像OCR识别的C++库,可以跨平台运行。本样例基于Tesseract库进行适配,使其可以运行在OpenAtomOpenHarmony(以下简称“OpenHarmony”)上,并新增N-API接口供上层应用调用,这样上层应用就可以使用Tesseract提供的相关功能。... 查看详情

使用 Modi OCR 从图像中提取文本

】使用ModiOCR从图像中提取文本【英文标题】:UsingModiOCRToextracttextfromimage【发布时间】:2013-09-0120:18:08【问题描述】:我计划在我的项目中使用OCR,并搜索了更多的OCR方法,但我没有找到任何正确的方法。最后我听说了MODI,我试... 查看详情

OCR 的背景图像清理

...描述】:通过tesseract-OCR,我试图从以下红色背景图像中提取文本。我在提取B和D框中的文本时遇到问题,因为存在垂直线。我怎样才能像这样清理背景:输入:输出:有什么想法吗?没有框的图像:【问题讨论】:您能否添加不... 查看详情

有没有办法通过 OCR 从图像中提取文本?任何人都好心推荐例子..谢谢

】有没有办法通过OCR从图像中提取文本?任何人都好心推荐例子..谢谢【英文标题】:IsthereanywaytoextracttextfromimagethoughOCR?anyonekindlyrecommendexample..thanks【发布时间】:2017-11-2622:00:03【问题描述】:我遇到了通过OCR从图像中提取文本... 查看详情

使用python进行名片ocr(识别姓名,职务,电话,email邮箱)(代码片段)

...下视图利用Tesseract对收据上的文本进行OCR使用正则表达式提取价格数据这篇博客将介绍如何使用Python对名片进行OCR,从名片中提取姓名、职务、电话号码和电子邮件地址。是收据扫描仪OCR的扩展,但具有不同的正则表达... 查看详情

使用 tika 库从 java 中的图像中提取文本

】使用tika库从java中的图像中提取文本【英文标题】:Extracttextfromimageinjavausingtikalibrary【发布时间】:2016-08-0808:19:16【问题描述】:我需要从图像中提取文本,所以我发现OCR库很少苔丝4j这没有奏效,所以我转向apachetika。在apacket... 查看详情