pytesseract and ddddocr
一.pytesseract
1.简介
Pytesseract是一个Python库,用于将图像中的文本转换为可编辑的字符串。它是基于Google的Tesseract OCR引擎开发的 。Tesseract是一个开源的OCR引擎,能够识别超过100种语言的文字。Pytesseract简化了与Tesseract的集成过程,并提供了一个简单的API,使得在Python中使用OCR功能变得更加容易
2.环境配置
1)下载程序并安装,下载地址:https://digi.bib.uni-mannheim.de/tesseract/

安装的时候记得勾选下载的语言,全选即可。
2)终端下载pytesseract库
pip install pytesseract
下载安装完成之后在当前项目下找到venv\Lib\site-packages\pytesseract\pytesseract.py文件,修改tesseract_cmd值

3.基本用法
我们要识别图片文字,最常用的方法就是image_to_string,语法如下,通常使用时传两个参数即可,要识别的图片和语言类型
def image_to_string(
image,
lang=None,
config='',
nice=0,
output_type=Output.STRING,
timeout=0,
):
下面看下实例
result_text = pytesseract.image_to_string("./img/img_5.png", lang='chi_sim')
# 输出结果
print(result_text)
如果涉及到识别的图片中存在多种语言,可以在lang中添加多种语言,用+号连接起来
import pytesseract
from PIL import Image
img = Image.open(url)
text = pytesseract.image_to_string(img, lang='chi_sim+eng') # 识别中文和英文
各种语言类型如下图
eng |
英文 |
chi_sim |
简体中文 |
chi_tra |
繁体中文 |
ara |
阿拉伯文 |
jpn |
日文 |
kor |
韩文 |
spa |
西班牙文 |
fra |
法文 |
| deu | 德文 |
| ita | 意大利文 |
| por | 葡挞文 |
| rus | 俄文 |
| vie | 越南文 |
| tha | 泰文 |
| tur | 土耳其文 |
| dan | 丹麦文 |
| nld | 荷兰文 |
| fin | 芬兰文 |
| nor | 挪威文 |
| swe | 瑞典文 |
| hun | 匈牙利文 |
| cze | 捷克文 |
| pol | 波兰文 |
| slk | 斯洛伐克文 |
| slv | 斯洛文尼亚文 |
| bul | 保加利亚文 |
| ell | 希腊文 |
| est | 爱沙尼亚文 |
| lit | 立陶宛文 |
| lav | 拉脱维亚文 |
| ron | 罗马尼亚文 |
| srp | 塞尔尼亚文 |
| ukr | 乌克兰文 |
| hin | 印地文 |
| ben | 孟加拉文 |
| mar | 马拉地文 |
| tam | 泰米尔文 |
| tel | 泰卢固问 |
| kan | 卡纳达文 |
| mal | 玛拉雅拉姆文 |
| orl | 奥里亚文 |
| pan | 旁遮普文 |
| guj | 古吉拉特文 |
| sin | 僧伽罗文 |
| mya | 缅甸文 |
二.ddddocr
1.简介
OCR是一种将印刷或手 写文本转换为可编辑文本的技术。ddddOCR利用深度学习算法识别图像中的字符,并将其转换为可编辑的文本。它可以应用于各种场景, 如扫描文档、图像识别、车牌识别等。ddddOCR具有高准确性和高效率,可以在短时间内处理大量的图像,并能够适应不同的字体和文字 样式。它可以应用于各种领域,如办公自动化、数据输入、图像处理等。
2.环境配置
pip install ddddocr
3.基本用法
import ddddocr ocr1 = ddddocr.DdddOcr() # 实例化
with open("./img_2.png", 'rb') as f:
img_bytes = f.read()
result_text = ocr1.classification(img_bytes)
print(result_text)
个人觉得ddddocr识别的特不准,毕竟是免费的,要想准确识别可以参考超级鹰:https://www.cnblogs.com/lihongtaoya/p/16727694.html
pytesseract and ddddocr的更多相关文章
- 关于在 mac上配置pytesseract的相关问题
因为踩了两个小时坑 特别是在配置依赖tesseract-ORC识别库时候的问题 特别麻烦 一定要用brewhome 一定要用brewhome 一定要用brewhome 重要的事情说三遍. 刚开始我在网 ...
- Tesseract pytesseract的安装和使用
Tesseract是开源的OCR引擎,可以识别的图片里的文字,支持unicode(UTF-8)编码,100多种语言,需要下载相应语言的训练数据. 安装: 有两种方法,一种是通过编译源码,比较麻烦.我使 ...
- pytesseract使用
1.安装pip install pytesseract 2.安装tesseract-ocr,下载地址:https://github.com/UB-Mannheim/tesseract/wiki,我安装 ...
- python识别验证码——PIL,pytesser,pytesseract的安装
1.使用Python识别验证码需要安装Python的图像处理模块(PIL.pytesser.pytesseract) (安装过程需要pip,在我的Python中已经安装pip了,pip的安装就不在赘述 ...
- python 验证码识别库pytesseract的使用
笔者环境 centos7 python3 pytesseract只是tesseract-ocr的一种实现接口.所以要先安装tesseract-ocr(大名鼎鼎的开源的OCR识别引擎). 依赖安装 yu ...
- python下调用pytesseract识别某网站验证码
一.pytesseract介绍 1.pytesseract说明 pytesseract最新版本0.1.6,网址:https://pypi.python.org/pypi/pytesseract Pyt ...
- 使用pytesseract出现的问题
dyld: Library not loaded: /usr/local/opt/jpeg/lib/libjpeg.8.dylib Referenced from: /usr/local/lib/li ...
- pytesseract在识别只有一个数字的图片时识别不出来
大家好,近期在做自动化测试时,遇到了一个问题需要通过识别图片来实现,遂用到了pytesseract模块和tesseract-ocr这个工具.在使用过程中发现,识别带有数字的图片时,如果这个图片上仅有一 ...
- mac使用pytesseract
import locale locale.setlocale(locale.LC_ALL, 'C') import pytesseract import pathlib import tracebac ...
- [python] python3.6 安装 pytesseract 出错
安装pytesseact出错, 下载 tesseract-ocr , 地址 https://github.com/tesseract-ocr/tesseract 修改pytesseract.py 设置 ...
随机推荐
- 第7章. 部署到GiteePages
Gitee Pages 是一个免费的静态网页托管服务,您可以使用 Gitee Pages 托管博客.项目官网等静态网页.如果您使用过 Github Pages 那么您会很快上手使用 Gitee 的 P ...
- Windows防病毒Defender 排除病毒误报
开发的软件安装后,windows上提示病毒,默默被系统删除了. 一开始以为是自己软件的签名问题,后面发现,将被隔离的文件还原,文件的签名是存在的. 这是微软denfender的误报,为啥会报病毒呢? ...
- [Opencv-C++] 4.3 数组迭代器NAryMatIterator
图像和大型数组类型 4.3 数组迭代器NAryMatIterator
- [Pytorch框架] 4.2.2 使用Tensorboard在 PyTorch 中进行可视化
文章目录 4.2.2 使用Tensorboard在 PyTorch 中进行可视化 Tensorboard 简介 Tensorboard 安装 页面 SCALAR IMAGES GRAPHS HISTO ...
- 自动化运维工具-Ansible PlayBook
自动化运维工具-Ansible PlayBook PlayBook基本概念 PlayBook的组成 PlayBook即"剧本","兵书"之意,PlayBook是 ...
- 2021-01-02:java中,MinorGC、MajorGC、FullGC 什么时候发生?
福哥答案2021-01-02: MinorGC 在年轻代空间不足的时候发生.MajorGC 指的是老年代的 GC,出现 MajorGC 一般经常伴有 MinorGC.FullGC 老年代无法再分配内存 ...
- var,let,const的区别
JS中变量的定义方式有四种 不写var,let,const--直接定义变量 a = 10; 使用var关键字定义 var a = 10; 使用let关键字定义 let a = 10; 使用const关 ...
- React-hooks 父组件通过ref获取子组件数据和方法
我们知道,对于子组件或者节点,如果是class类,存在实例,可以通过 React.createRef() 挂载到节点或者组件上,然后通过 this 获取到该节点或组件. class RefTest e ...
- C# EFCore 根据Oracle/SqlServer数据库表生成实体类和DbContext
官方文档: https://docs.microsoft.com/zh-cn/ef/core/managing-schemas/scaffolding?tabs=dotnet-core-cli 本文以 ...
- v8 setup
记录下笔者本人搭建v8环境的过程 环境:处于一些原因笔者选择在kali2023上搭建v8,kali上可以搭建成功但是调试脚本加载有问题,fuck kali,还是ubuntu好,笔者使用了ubuntu2 ...