前提假设:
1. 所要检测的图片是纯文本或者文字,最好是只有一行; 或者截图只有一行文本的图片。如下图
图片名称: text03.jpg
2. 从文本检测(深度学习网络)软件检测到的 包含文本区域的图片。
开源文本识别软件(OCR)
Tesseract-OCR
下载链接:https://digi.bib.uni-mannheim.de/tesseract/
可以根据自己的电脑操作系统位数决定下载32位 或者 64位,按照时间顺序,可以下载最新的版本。
安装步骤:
下载完后,是 .exe格式文件,点击安装,一直下一步就可以了。
注释: 如果有提示:选择下载包(在additional language data (download 下选择中数学公式库和中文库Chinese(simplified)(traditional)),两者都选上, 点击“next”继续
注释:如果选中additional的√ 钩号, 安装时可能提示一个错误,不管它,直接按 enter 键盘按键,直到装完。
笔者是装在 E:| 盘,,,目录是E:\ Tesseract-OCR
环境配置:
1. 将Tesseract-OCR安装目录(E:\Tesseract-OCR)加入环境变量path中; 环境变量获取方式:右键 桌面上的 “计算机”图标, 然后如下图所示。 双击 PATH 在最末尾加入刚刚软件安装的目录。
2 新建环境变量,变量名TESSDATA_PREFIX 并赋值为E:\Tesseract-OCR\tessdata
运行方法:
Windows的 cmd命令行模式下 运行, 如下图红色框里,可以正确检测前面 text.jpg 图片里的英文内容。
tesseract 是命令
第一个目录是要识别的图片目录和文件名
第二个目录是结果要保存的目录和文件名
-l 是选项符号,(-后面那个小写字母是L的小写)
eng 是English的缩写,在目录 E:\Tesseract-OCR\tessdata目录下, 完整名称是下图的红色框内 eng.traineddata文件名。
makebox是固定的写法
注释:如果想要检测中文文字的图片,则需要下载 chi_sim.traineddata文件, 下载地址:https://github.com/tesseract-ocr/tessdata
注释: 如果以上GitHub打不开可以试试,CSDN的加速计划 https://codechina.csdn.net/mirrors/tesseract-ocr/tessdata?utm_source=csdn_github_accelerator
运行结果:
运行结果是一个 .box 文件, 可以用 文本类编辑工具软件打开或记事本打开 查看内容
结果是一行一个字母,如果图像比较干净,无干扰背景纹理的话,检测准确率很高。
Python 版本,没测试:可以参考:
https://zhuanlan.zhihu.com/p/113961004
总结:
用于简单的图片,例如白底黑字,一行或者多行文字,字符直接比较松散,则检测结果质量较高,准确率较高。
若,图片中背景颜色很杂很多干扰因素,或者黑底白粗字,或者倾斜或者 其他门牌号广告牌等大字体,艺术字体,则几乎无法正确识别。 想要识别这些场景下的文字,则需要用深度学习神经网络模型,网上有很多开源软件,需要GPU伺候。