文章目录

  • 前言
  • 一、pytesseract
  • 二、PPOCR
  • 三、百度API
  • 四、TrWebOCR
  • 总结

前言

OCR文档识别方法有多种,例如EasyOCR,PP-OCR,cnOCR,PP_OCR等。
本文介绍pytesseract,百度API和TrWebOCR方法以及PP_OCR四种方法。
其实只有第一种方法使用了OpenCV的相关算法。


一、pytesseract

参考这篇文章,写的很详细,不在赘述。
opencv项目实战(2)——文档扫描OCR识别

二、PPOCR

百度的产品。
先安装这3个库。

pip install paddlepaddle
pip install shapely
pip install paddleocr

在py文件同一级目录下放置一个待识别文字的图片。

然后执行以下代码:

from paddleocr import PaddleOCR, draw_ocr
ocr = PaddleOCR(use_angle_cls=True, lang="ch")
# 输入待识别图片路径
img_path = r"yy.jpg"
# 输出结果保存路径
result = ocr.ocr(img_path, cls=True)
for line in result:print(line)from PIL import Image
image = Image.open(img_path).convert('RGB')
boxes = [line[0] for line in result]
txts = [line[1][0] for line in result]
scores = [line[1][1] for line in result]
im_show = draw_ocr(image, boxes, txts, scores)
im_show = Image.fromarray(im_show)
im_show.show()

三、百度API

还是分两步走,第一步获取鉴权数据。

# import requests # # client_id 为官网获取的AK, client_secret 为官网获取的SK
# host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【client_id 】&client_secret=【client_secret 】'
# response = requests.get(host)
# if response:
#     print(response.json())

搜索百度AI进去控制台,在下图位置找到应用。

创建应用获取SK和SK。

获取鉴权Token。运行以下代码获取的到access_token,请注意,不是refresh_token。

import requests # client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【AK】&client_secret=【SK】'
response = requests.get(host)
if response:print(response.json())

第二步,打开图片上传。

import requests
import base64'''
通用文字识别(高精度版)
'''request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic"
# 二进制方式打开图片文件
f = open('E:\VSCode\EasyOCR/555.jpg', 'rb')
img = base64.b64encode(f.read())params = {"image":img}
access_token = '24.3772970dc5e6f054177e3fb7.2592000.1652151337.282335-25936381'#从第一步获取的Token
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())

四、TrWebOCR

这里是用群晖的docker部署TrWebOCR环境。

端口配置如下:

浏览器访问IP:8089

识别效果如下:

还有一种方法通过调用API方法实现,同百度API的区别是,百度API有500还是1000的免费额度,超过付费,而这个方法是免费的。但是精度没有百度API好。
百度是一家好公司,有能力就支持一下。

import requests
import json
url = 'http://192.168.8.177:8089/api/tr-run/'
img1_file = {'file': open('E:\VSCode\EasyOCR/555.jpg', 'rb')
}
res = requests.post(url=url, data={'compress': 0}, files=img1_file)data=res.text
print(res.text)jsonobj = json.loads(data)
toCntPercent = jsonobj['data']['raw_out']
print(toCntPercent)#把文字提取出来
mystr = str(toCntPercent)
obj=re.compile(r"(.*?)'(?P<temp>.*?)'",re.S)
all_date=obj.finditer(mystr)
for it in all_date:mydate=it.group("temp")print(mydate)

图片如下:

提取结果:


总结

建议使用PP-OCR。群晖不一定每个人都有,但是docker部署,只要是linux系统,基本上按照TrWebOCR的Gitee网页说明的几个步骤部署还是很快的。详情看TrWebOCR链接

【OpenCV】OCR文档识别相关推荐

  1. OCR文档识别的工作原理

    云脉文档管理系统便是一款基于OCR.图像处理及秒级全文检索等技术的企业级数据管理方案.其核心技术就是OCR,那OCR是什么呢,其实现的核心步骤又是什么呢? Ocr是什么?OCR (Optical Ch ...

  2. OCR文档识别——数据录入工厂

    数据录入工厂特色 识别核心 软件内置文通科技最新研发的高性能文字识别引擎,支持中英日韩四国文字以及对英文的混排,识别率达99.8%以上. Unicode编码 采用UNICODE国际编码标准.系统可在一 ...

  3. Opencv实战——OCR文档扫描

    文章目录 前言 一.安装Tesseract-OCR 二.文档扫描 1.需要透视变换的图像 2.直接Tesseract-OCR 总结 前言 这里实现文档扫描主要是依靠Tesseract,Tesserac ...

  4. OCR应用(证件识别、文档识别)

    1.OCR识别-证件识别 • 高效--识别率高达99.7%,单张识别速度小于1秒,领先业内: • 方便--该识别服务更新维护方便,企业可自行进行更新维护: • 通用--支持APP端.PC 端.H5端. ...

  5. 走进AI时代的文档识别技术 之文档重建

    导读:作者系腾讯QQ研发中心--CV应用研究组的totoralin.本文主要介绍基于深度学习的文档重建框架,通过文档校正.版面分析.字体识别和阅读排序将纸质文档智能转成可编辑的电子文档.相比较传统的O ...

  6. 在做文档识别OCR时遇到问题error: (-215:Assertion failed) in function 'contourArea'解决方法

    在做文档识别OCR时遇到问题 error: OpenCV(4.2.0) /io/opencv/modules/imgproc/src/shapedescr.cpp:315: error: (-215: ...

  7. OCR识别技术 文档识别的三种形式

    如何将文档上的文字转换成可编辑的文字,通俗一点说,就是将纸质上的文字转换成电子版形式的文字内容: 文档识别通常有三种形式,其利用的核心技术都是OCR文字识别技术. 步骤如下: 一.通过扫描,识别文字信 ...

  8. 利用python进行纸质文档识别(一)图像旋转矫正

    前言 这学期我们上了一门软件工程课和数字图像处理课,软件工程课课设要求大家设计一款软件.作为一个学生助理,我早就对学校的问卷调查不满意了,填写完的纸质表格竟然还要输入成电子表格,人工手动输入,未免也太 ...

  9. 云脉OCR文档管理软件档案加工管理必备

    现在工作中每个公司都会有大量的文件需要管理,针对存储.识别.管理查找等实际工作中让每个人都很头疼难题.厦门云脉为了解决这些问题特别推出了云脉OCR文档管理(PC版). 云脉OCR文档管理基于深度学习的 ...

最新文章

  1. 【Treap】bzoj1588-HNOI2002营业额统计
  2. linux内核经常用到的 一个概念“原子操作“
  3. (转)OpenNLP进行中文命名实体识别(下:载入模型识别实体)
  4. Web在线操作Office之Word
  5. php中的rand,php rand() 随机数生成的方法介绍
  6. 使用pdb调试python脚本
  7. java 取商_Java读取word文档,转换为网页
  8. 七内部排序算法汇总(插入排序、Shell排序、冒泡排序、请选择类别、、高速分拣合并排序、堆排序)...
  9. 《MATLAB智能算法30个案例》:第5章 基于遗传算法的LQR控制器优化设计
  10. 微信背后的产品观,背后究竟是什么?
  11. Edge浏览器安装Tampermonkey插件
  12. UWP开发入门(八)——聊天窗口和ItemTemplateSelector
  13. 高速PCB设计系列基础知识67 | 尺寸与公差标注内容与通用知识
  14. 超酷flv网页播放器 CKplayer V5.7
  15. JavaSE个人复习式整理知识点之函数式接⼝、Stream流、⽅法引⽤
  16. 硬盘柱面损坏怎么办_硬盘扇区损坏怎么办
  17. XSS原理dvwaxssvalidator使用
  18. 微商城系统之商家平台任务自动分析处理系统_OctShop
  19. 零件加工 贪心 题解
  20. JXTA的安装和使用

热门文章

  1. 词霸天下---词根227【-gress- = -grad- = -gred- = -gre(e)- 步,走】
  2. U盘产品如何做好软文推广利用软文来打造为产品引流宣传
  3. 第一部分 数理逻辑 第三章 命题逻辑的推理理论
  4. 洞洞板上的TQFP芯片的焊接模式
  5. 解除隐藏已购项目_从AppStore的已购项目中隐藏已经购买的APP
  6. python中使用matplotlib.pyplot画函数图像
  7. 华中师范大学计算机学院学分绩,华中师范大学学生学业成绩表(模板)
  8. 在word文档中如何自动生成目录,两种方法制作目录,总有一种适合你
  9. Android 10 SystemUI 如何添加4G信号和WiFi图标
  10. 汽车电子之功能安全介绍