图像文字识别:Python批量识别图片中的文字并自动改名
说明:最近学校要求班委收集每个同学青年大学习的学习完成截图,并核实学习情况,故此次想开发一套自动识别图片中的文字,并对其进行改名的程序,从而将人力解放出来去干些更有意义的事情。
任务目标
1.自动识别图像中特殊字段信息
2.批量读入图片
3.自动批量对图片进行命名
开发准备
Tesseract-OCR介绍
开源的OCR识别引擎,高版本识别基于LSTM,其整个处理流程如下:
以上图片来源于小白学视觉 的博客
安装Tesseract-OCR Python SDK支持
pip install pytesseract
附:网上找到的Tesseract-OCR下载链接
http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe
下载Tesseract-OCR 5.0.0-alpha.20201127安装包并安装,然后在系统的环境变量中添加对于的安装路径,默认为:
C:\Program Files\Tesseract-OCR
若自定义安装,换为对应路径即可。
验证与测试
安装与配置好OpenCV-Python与Tesseract-OCR之后,需要进一步通过代码验证正确性。打开Pycharm IDE,新建一个python项目与python文件,输入以下代码:
import pytesseract as tess
print(tess.get_tesseract_version())
print(tess.get_languages())
运行结果如下:
第一行是版本信息,第二行是支持的语言信息,默认只支持英文。'eng’表示支持英文,'chi_sim’表示支持简体中文。若要想也支持中文的识别,需要自行下载对应的语言包,并将其放在Tesseract OCR安装目录的tessdata文件夹下
Tesseract OCR中英文语言包的下载地址
https://github.com/tesseract-ocr/tessdata
下载chi_sim.traineddata文件,并把们放到tessdata文件夹中。此时,环境基本配置完成。
正式开发
1.利用python调用Tesseract进行图片中的文字识别提取
image=cv2.imread("C:/Users/dell/Desktop/test")text = tess.image_to_string(image_rgb, lang="chi_sim")print(text)h, w, c = image.shapeboxes = tess.image_to_boxes(image)for b in boxes.splitlines():b = b.split(' ')image = cv2.rectangle(image, (int(b[1]), h - int(b[2])), (int(b[3]), h - int(b[4])), (0, 255, 0), 2);cv2.imshow('text detect', image)cv2.waitKey(0)cv2.destroyAllWindows()
2.对于识别到的文字信息进行提取过滤
def get_str_btw(s, f, b):par = s.partition(f)return (par[2].partition(b))[0][:];
nameInfo = get_str_btw(text, "专 硕", "用 户 ")
#除去字符中的无用信息,例如空格等
def remove(string):string = string.replace(" ", "")string = string.replace("|", "")return string.replace("\n", "");
3.文件重命名
ext = os.path.splitext(child)[1]new_name = nameInfo + extprint(new_name)NewInfo = os.path.join('%s/%s' % (filePathC, new_name))try:os.rename(child, NewInfo)except:print("have the same name")
小结
本项目是本人第一次做图片中的文字识别提取,主要是通过调用了Tesseract实现。
本项目实际使用体验还算不错,但还是有很大的改进空间,例如:若图像中的字体特殊,则识别准确率会大幅下降。
本项目后续有空还会继续开发优化,争取做成一款智能通用化的文字识别提取工具。
本项目参考借鉴了小白学视觉的相关内容,以及部分网上的内容,在此向以上大佬表示感谢!
相关博客详情
说明:若有侵权请联系删除!
图像文字识别:Python批量识别图片中的文字并自动改名相关推荐
- Python批量识别图片中的文字并保存到txt文档中
Python OCR工具pytesseract,之前是惠普的产品,被Google收了之后就给开源了. 1.需要下载并安装Google Tesseract,下载地址看图片上有,要下载4.0.0版本的 2 ...
- 如何用python批量识别图片上的文字(二)
上一篇文章讲的是1.0怎么批量识别,这一篇则讲解2.0的实现细节 两个版本功能细分如下: 1.0 支持批量识别图片并输出csv文件 2.0 包含1.0所有功能,并支持选定识别区域,单个识别和批量识别功 ...
- 利用Python批量识别电子账单数据
文章目录 一.前言 二.调用Baidu aip识别 三.批量识别电子账单 一.前言 有一定数量类似如下截图所示的账单,利用 Python 批量识别电子账单数据,并将数据保存到Excel. 百度智能云接 ...
- python账单查询软件_利用Python批量识别电子账单数据的方法
这篇文章主要介绍了利用Python批量识别电子账单数据的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 一.前言 有一定数量类似如下截图所示的账单,利用 ...
- 办公利器!用Python批量识别发票并录入到Excel表格
辰哥今天来分享一篇办公干货文章:用Python批量识别发票并录入到Excel表格.对于财务专业等学生或者公司财务人员来说,将报账发票等汇总到excel简直就是一个折磨. 尤其是到年底的时候,公司的财务 ...
- 基于Tesseract模块Python实现提取图片中的文字信息(安装+使用教程)
Python实现提取图片中的文字可以使用Optical Character Recognition (OCR) 技术来解决.OCR是指将图像中的文本转换成可编辑的文本的过程.Python有许多OCR库 ...
- python批量识别图片中文字_python实现中文图片文字识别--OCR about chinese text--tesseract...
0.我的环境: win7 32bits python 3.5 pycharm 5.0 1.相关库 安装pillow: pip install pillow 安装tesseract: 自带了英文语言包, ...
- python批量识别图片中文字_Python识别图片中的文字
一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存.但是当我们想用到里面的 ...
- python批量识别图片中文字_如何用Python识别图片中的文字?
一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存.但是当我们想用到里面的 ...
- python批量识别图片中文字_利用Python批量进行图片文字识别
实现逻辑 1. 批量获取图片的路径 2. 通过调用百度OCR接口批量识别图片 3. 将返回值写入txt 实现过程 1. 安装百度的Python SDK pip install baidu-aip 2. ...
最新文章
- 首家中国快递公司赴美上市!总市值达141亿美元
- [小才能]防备误删文件
- 如何使用subversion管理iOS源代码
- python作业不会做怎么办_不学点编程,将来怎么给孩子辅导作业——Python新手入门教程...
- 优酷上线4K修复版经典剧漫 高清修复计划5年焕新5000部经典
- Linux的目录说明
- 程序员面试如何与HR谈薪
- live555传输实时h264视频流和mp3音频流
- 本文作者YY硕,来自大疆工程师《机器人工程师学习计划》
- java前后端分离使用token_前后端分离以及token的使用
- python把英语句子成分字母_python把英语句子成分字母
- php实现页面强制跳转,PHP实现页面跳转的几种方法 - 米扑博客
- Registry Workshop —— 强大的注册表编辑工具
- 有1234四个数字java_用java程序编写,1234这四个数进行排列组合,
- Typora常用好看主题推荐
- 我们这类学生并不是一无是处
- 利用虚拟化实现PC平滑迁移
- Oracle安装 卸载干净文档
- Python turtle绘图——国际象棋棋盘
- 如何在WordPress中删除谷歌字体(2种简单方法)