说明:最近学校要求班委收集每个同学青年大学习的学习完成截图,并核实学习情况,故此次想开发一套自动识别图片中的文字,并对其进行改名的程序,从而将人力解放出来去干些更有意义的事情。

任务目标

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批量识别图片中的文字并自动改名相关推荐

  1. Python批量识别图片中的文字并保存到txt文档中

    Python OCR工具pytesseract,之前是惠普的产品,被Google收了之后就给开源了. 1.需要下载并安装Google Tesseract,下载地址看图片上有,要下载4.0.0版本的 2 ...

  2. 如何用python批量识别图片上的文字(二)

    上一篇文章讲的是1.0怎么批量识别,这一篇则讲解2.0的实现细节 两个版本功能细分如下: 1.0 支持批量识别图片并输出csv文件 2.0 包含1.0所有功能,并支持选定识别区域,单个识别和批量识别功 ...

  3. 利用Python批量识别电子账单数据

    文章目录 一.前言 二.调用Baidu aip识别 三.批量识别电子账单 一.前言 有一定数量类似如下截图所示的账单,利用 Python 批量识别电子账单数据,并将数据保存到Excel. 百度智能云接 ...

  4. python账单查询软件_利用Python批量识别电子账单数据的方法

    这篇文章主要介绍了利用Python批量识别电子账单数据的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 一.前言 有一定数量类似如下截图所示的账单,利用 ...

  5. 办公利器!用Python批量识别发票并录入到Excel表格

    辰哥今天来分享一篇办公干货文章:用Python批量识别发票并录入到Excel表格.对于财务专业等学生或者公司财务人员来说,将报账发票等汇总到excel简直就是一个折磨. 尤其是到年底的时候,公司的财务 ...

  6. 基于Tesseract模块Python实现提取图片中的文字信息(安装+使用教程)

    Python实现提取图片中的文字可以使用Optical Character Recognition (OCR) 技术来解决.OCR是指将图像中的文本转换成可编辑的文本的过程.Python有许多OCR库 ...

  7. python批量识别图片中文字_python实现中文图片文字识别--OCR about chinese text--tesseract...

    0.我的环境: win7 32bits python 3.5 pycharm 5.0 1.相关库 安装pillow: pip install pillow 安装tesseract: 自带了英文语言包, ...

  8. python批量识别图片中文字_Python识别图片中的文字

    一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存.但是当我们想用到里面的 ...

  9. python批量识别图片中文字_如何用Python识别图片中的文字?

    一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存.但是当我们想用到里面的 ...

  10. python批量识别图片中文字_利用Python批量进行图片文字识别

    实现逻辑 1. 批量获取图片的路径 2. 通过调用百度OCR接口批量识别图片 3. 将返回值写入txt 实现过程 1. 安装百度的Python SDK pip install baidu-aip 2. ...

最新文章

  1. 首家中国快递公司赴美上市!总市值达141亿美元
  2. [小才能]防备误删文件
  3. 如何使用subversion管理iOS源代码
  4. python作业不会做怎么办_不学点编程,将来怎么给孩子辅导作业——Python新手入门教程...
  5. 优酷上线4K修复版经典剧漫 高清修复计划5年焕新5000部经典
  6. Linux的目录说明
  7. 程序员面试如何与HR谈薪
  8. live555传输实时h264视频流和mp3音频流
  9. 本文作者YY硕,来自大疆工程师《机器人工程师学习计划》
  10. java前后端分离使用token_前后端分离以及token的使用
  11. python把英语句子成分字母_python把英语句子成分字母
  12. php实现页面强制跳转,PHP实现页面跳转的几种方法 - 米扑博客
  13. Registry Workshop —— 强大的注册表编辑工具
  14. 有1234四个数字java_用java程序编写,1234这四个数进行排列组合,
  15. Typora常用好看主题推荐
  16. 我们这类学生并不是一无是处
  17. 利用虚拟化实现PC平滑迁移
  18. Oracle安装 卸载干净文档
  19. Python turtle绘图——国际象棋棋盘
  20. 如何在WordPress中删除谷歌字体(2种简单方法)

热门文章

  1. Mybatis 插入数据 获取 oracle 自增序列
  2. 前端js日期格式转换
  3. 物联网安全漏洞有哪些
  4. android x86 安装到u盘分区,安卓X86 U盘启动盘制作教程 PC体验Android x86 4.0系统
  5. 1330_硬件测试中的BCI测试
  6. OpenCV对图像像素尺寸的设置
  7. Unity Container 应用示例
  8. 正则 - 纳税人识别号
  9. mysql查询各科成绩前三名_mysql巧用连表查询各科成绩前三名
  10. 硬核图解面试最怕的红黑树【建议反复摩擦】