当前位置: 首页 > news >正文

OCR模型调研及详细安装

OCR模型调研及详细安装

1 搭建 Tesseract-OCR 环境。

1.1 注意需先手动安装Tesseract-OCR, 下载地址:https://digi.bib.uni-mannheim.de/tesseract/?C=M;O=D

注意:安装的时候选中中文包(安装时把所有选项都勾上)。
安装磁盘选择与运行的代码在同一磁盘。
安装 Tesseract-OCR 后,需将 Tesseract-OCR 对应的安装路径添加到系统环境变量中。安装完成后,使用命令,查看版本号和支持语言:
cd C:\Program Files\Tesseract-OCR  
tesseract -v tesseract --list-langs -v tesseract --list-langs 若有语言方面的Error,需将中文包 chi_sim.traineddata 下载到本地C:\Program Files\Tesseract-OCR 路径下。(见1.3下载语言包)

1.2 再安装python库pytesseract

pip install pytesseract

1.3 下载语言包,并放到Tesseract的目录下

下载地址:https://github.com/tesseract-ocr/tesseract/wiki/Data-Fileshttps://tesseract-ocr.github.io/tessdoc/Data-Files

1.4 代码块

def tesseract_to_str(image_path):"""Tesseract-OCR: 提取图片中的文字,返回 text字符串"""from PIL import Imageimport pytesseractimport osif not os.path.isfile(image_path):logging.info('          路径存在问题,请检查image_path: '.format(image_path))return ''image = Image.open(image_path)# 如果没有将tesseract的安装目录添加到系统环境变量中,则需要指定安装路径,pytesseract.pytesseract.tesseract_cmd = r"D:\Program_Files\Tesseract-OCR\tesseract.exe"testdata_dir_config = '--tessdata-dir D:/Program_Files/Tesseract-OCR/tessdata'# 调用pytesseract库提取文字,识别中文需指定语言lang='chi_sim'print('-'*20,'获取图中的文字','-'*20)try:text_from_image = pytesseract.image_to_string(image,  config=testdata_dir_config, lang='chi_sim')except Exception as e:logging.info('          识别文字失败:{} '.format(e))return ''# print('-' * 20, '获取图中的文字完成', '-' * 20)# print('text_from_tesseract: \n', text_from_image)return text_from_image

2 EasyOCR: 是一个基于 PyTorch 的 OCR 库。

pip install easyocr

源码

https://github.com/JaidedAI/EasyOCR
API详解见:https://blog.csdn.net/yohnyang/article/details/130300923

模型储存路径:

windows: C:\Users\username\.EasyOCR\
linux:/root/.EasyOCR/

代码

def easyocr_to_str(image_path):import easyocr# import os# os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"# reader = easyocr.Reader(['ch_sim','en'], gpu = False)print('result:1 \n', )reader = easyocr.Reader(['ch_sim',], gpu = False)print('result:2 \n', )result = reader.readtext(image_path)print('result: \n', result)for detection in result:print(detection[1])

问题

OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.
OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performance or cause incorrect results. The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking of the OpenMP runtime in any library. As an unsafe, unsupported, undocumented workaround you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, but that may cause crashes or silently produce incorrect results. For more information, please see http://www.intel.com/software/products/support/.

修改:

网友说的方法:

添加如下代码

import os
os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"

然而没用,然后修改了自己环境中的如下内容之后,不再报错了,即使将上述os内容注释,也不报错。

D:\ProgramFiles\miniconda3\envs\env_myenv\Library\bin路径下的libiomp5md.dll改为libiomp5md.dll.bk

识别文本示例:


3 Keras-OCR

源码

https://gitcode.com/gh_mirrors/ke/keras-ocr/overview?utm_source=artical_gitcode&index=top&type=card&webUrl

安装

安装 :keras-ocr支持Python >= 3.6和TensorFlow >= 2.0.0。
方法1: 从主分支安装
pip install git+https://github.com/faustomorales/keras-ocr.git#egg=keras-ocr
方法2: 从PyPi安装
pip install keras-ocr

4 Doctr 识别文档中的文本区域、图像和表格

项目地址

https://gitcode.com/gh_mirrors/do/doctr/overview?utm_source=artical_gitcode&index=top&type=card&webUrl&isLogin=1

安装

pip install "python-doctr[torch]"

首次运行会下载模型,存储在

C:\Users\hlj\.cache\doctr\models\db_resnet50-79bd7d70.pt
C:\Users\hlj\.cache\doctr\models\crnn_vgg16_bn-9762b0b0.pt

缺点

不支持中文模型
http://www.lryc.cn/news/459571.html

相关文章:

  • C++第六讲:STL--vector的使用及模拟实现
  • 2024年字节抖音前端面经,这次问的很基础!
  • vscode提交修改Failed to connect to github.com port 443: Timed out
  • 通过docker镜像安装elasticsearch和kibana
  • seaCMS v12.9代码审计学习(下半)
  • 麒麟信安CentOS安全加固案例获评中国信通院第三届“鼎新杯”数字化转型应用奖
  • Java 中消除 If-else 技巧总结
  • 每个平台团队都应该跟踪的API指标
  • Windows 11 24H2版本有哪些新功能_Windows 11 24H2十四大新功能介绍
  • 渗透测试 之 AD域渗透 【Kerberoasting】 攻击技术讲解 对应得工具详细介绍哟~ 以及相关示例 按照步骤做你也会哟
  • 如何在Ubuntu上更改MySQL数据存储路径
  • Cortex-M 内核的 OS 特性
  • 第十六章 RabbitMQ延迟消息之延迟插件优化
  • [单master节点k8s部署]32.ceph分布式存储(三)
  • git 相关问题解决一一记录
  • UE4 材质学习笔记04(着色器性能优化)
  • 3、Redis Stack扩展功能
  • Flythings学习(二)控件相关
  • 关于multiprocessing使用freeze_support()方法
  • 基于rk356x u-boot版本功能分析及编译相关(一)
  • Jenkins---01
  • 第十五届蓝桥杯C++B组省赛
  • 线程 vs 虚拟线程:深入理解及区别
  • 【WEB应用安全测试指南–蓝队安全测试2】--超详细-可直接进行实战!!!亲测-可进行安全及渗透测试
  • 使用HTML、CSS和JavaScript创建滚动弹幕效果
  • 【C语言】--数组
  • 面向B2B市场的Spring Boot医疗病历系统开发
  • 闭着眼学机器学习——支持向量机分类
  • 今日指数项目day8实战权限管理器(上)
  • 《机器学习与数据挖掘综合实践》实训课程教学解决方案