你掌握了OCR文字识别的快速方法了吗?

2026-05-21 15:531阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计722个文字,预计阅读时间需要3分钟。

你掌握了OCR文字识别的快速方法了吗?

第1章 引言从最近的SEC证照分析报告中提取分析师的详细信息,目前所写code的提取率在95%以上,虽然计算结果看似准确,但仍有少数几百份报告无法提取。主要原因是分析报告的PDF文档被加密了。

第1章 引言

最近要从SEC证券分析报告中提取分析师的相关信息,目前写的code提取率在95%以上,其实也算不错了,但还有小几百份无法提取,主要原因是分析报告的pdf文档被加密了,转码后识别全部为乱码,所以想到了用OCR文字识别来完成这项任务 (百度提供了一千次有效识别次数) 。

第2章 正文

本文使用的是百度接口,以下为百度官方相关教程链接官方文档教程直通车:百度OCR文字识别官方文档教程官方视频教程直通车:百度OCR文字识别官方视频教程


2.1百度图片识别

2.1.1 登录/注册百度账号,完成实名认证,领取免费权利,创建新应用

这一步参考上面给的官方视频教程直通车进行操作即可

2.1.2 获取Token

2.1.3 将得到的Token粘贴至代码相应位置,即可成功运行~

各种语言的相关代码可以查看以下链接:ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhuai.baidu.com/ai-doc/OCR/1k3h7y3db

2.1.4 完整代码如下

第一步:传入AK和SK获取access_token

你掌握了OCR文字识别的快速方法了吗?

# -*- coding: utf-8 -*- # 导入需要的第三方库 import requests import base64 # client_id 为官网获取的AK, client_secret 为官网获取的SK AK = '' SK = '' host = 'aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={}&client_secret={}'.format(AK, SK) response = requests.get(host) if response: print(response.json())

在返回值提取access_token

第二步:传入access_token进行识别

request_url = "aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic" # 二进制方式打开图片文件 f = open('', 'rb') img = base64.b64encode(f.read()) access_token = '' params = {"image": img} request_url = request_url + "?access_token=" + access_token headers = {'content-type': 'application/x-www-form-urlencoded'} response = requests.post(request_url, data=params, headers=headers) if response: print(response.json())
2.1.5 运行结果
  • 被识别的图片:
  • 识别结果:

识别效果还是不错的~

2.2 pdf文档识别

2.2.1修改步骤

对于识别pdf,主要是要在代码中将pdf文本以base64编码后传输

官网提供的文档链接:ai.baidu.com/ai-doc/OCR/ykg9c09ji

但是上面并没有讲如何传输base64格式的信息,所以这里说一下再提一下。首先可以了解到官方文档中提供了不少所需要的参数,源代码中需要修改的地方见下图

2.2.2 pdf文档提取结果

返回了四个参数,相关参数含义也可以查看相关文档,文本提取的结果存储在reuults当中

ai.baidu.com/ai-doc/OCR/ykg9c09ji

2.3 异常情况

相关异常情况及原因可以查看以下官方文档

ai.baidu.com/ai-doc/OCR/dk3h7y5vr

本文共计722个文字,预计阅读时间需要3分钟。

你掌握了OCR文字识别的快速方法了吗?

第1章 引言从最近的SEC证照分析报告中提取分析师的详细信息,目前所写code的提取率在95%以上,虽然计算结果看似准确,但仍有少数几百份报告无法提取。主要原因是分析报告的PDF文档被加密了。

第1章 引言

最近要从SEC证券分析报告中提取分析师的相关信息,目前写的code提取率在95%以上,其实也算不错了,但还有小几百份无法提取,主要原因是分析报告的pdf文档被加密了,转码后识别全部为乱码,所以想到了用OCR文字识别来完成这项任务 (百度提供了一千次有效识别次数) 。

第2章 正文

本文使用的是百度接口,以下为百度官方相关教程链接官方文档教程直通车:百度OCR文字识别官方文档教程官方视频教程直通车:百度OCR文字识别官方视频教程


2.1百度图片识别

2.1.1 登录/注册百度账号,完成实名认证,领取免费权利,创建新应用

这一步参考上面给的官方视频教程直通车进行操作即可

2.1.2 获取Token

2.1.3 将得到的Token粘贴至代码相应位置,即可成功运行~

各种语言的相关代码可以查看以下链接:ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhuai.baidu.com/ai-doc/OCR/1k3h7y3db

2.1.4 完整代码如下

第一步:传入AK和SK获取access_token

你掌握了OCR文字识别的快速方法了吗?

# -*- coding: utf-8 -*- # 导入需要的第三方库 import requests import base64 # client_id 为官网获取的AK, client_secret 为官网获取的SK AK = '' SK = '' host = 'aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={}&client_secret={}'.format(AK, SK) response = requests.get(host) if response: print(response.json())

在返回值提取access_token

第二步:传入access_token进行识别

request_url = "aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic" # 二进制方式打开图片文件 f = open('', 'rb') img = base64.b64encode(f.read()) access_token = '' params = {"image": img} request_url = request_url + "?access_token=" + access_token headers = {'content-type': 'application/x-www-form-urlencoded'} response = requests.post(request_url, data=params, headers=headers) if response: print(response.json())
2.1.5 运行结果
  • 被识别的图片:
  • 识别结果:

识别效果还是不错的~

2.2 pdf文档识别

2.2.1修改步骤

对于识别pdf,主要是要在代码中将pdf文本以base64编码后传输

官网提供的文档链接:ai.baidu.com/ai-doc/OCR/ykg9c09ji

但是上面并没有讲如何传输base64格式的信息,所以这里说一下再提一下。首先可以了解到官方文档中提供了不少所需要的参数,源代码中需要修改的地方见下图

2.2.2 pdf文档提取结果

返回了四个参数,相关参数含义也可以查看相关文档,文本提取的结果存储在reuults当中

ai.baidu.com/ai-doc/OCR/ykg9c09ji

2.3 异常情况

相关异常情况及原因可以查看以下官方文档

ai.baidu.com/ai-doc/OCR/dk3h7y5vr