今天一朋友给我一文件图片,问我有没有文本,一大段文字自己重新敲一遍确实是很费劲,想到用机器来识别试试
tesseract-ocr
最近看到过tesseract-ocr识别的介绍,详细介绍
首先需要下载安装tesseract-ocr,下载链接:https://digi.bib.uni-mannheim.de/tesseract/
最初选的是tesseract-ocr-w32-setup-v4.1.0.20190314.exe
安装时把最后一个选项Additional language data
选中,因为原始的只包含英文,用来识别其他语言就会乱码(只用来提取英文的玩家请无视)
但是在安装时总会提示新的语言包无法下载,我以为是版本不够新,卸载了换成tesseract-ocr-w64-setup-v5.0.0.20190623.exe
还是同样的问题,但是还是可以进行英文提取的。
添加环境
在Path
中添加D:\Program Files\Tesseract-OCR
添加TESSDATA_PREFIX
默认应为C:\Program Files\Tesseract-OCR\tessdata
我的安装在D盘所以不一样
从网上专门下载中文语言包
第一步:安装Git
直接百度Git,下载,安装,非常简单不赘述
第二步:cmd中定位到你想操作文件夹的目录下
输入以下命令
git init
git remote add -f origin https://gitee.com/colluslau/tessdata_fast.git
git config core.sparsecheckout true
echo chi_sim.traineddata >> .git/info/sparse-checkout
echo chi_sim_vert.traineddata >> .git/info/sparse-checkout
echo chi_tra.traineddata >> .git/info/sparse-checkout
echo chi_tra_vert.traineddata >> .git/info/sparse-checkout
git pull origin master
下载完成以后把chi开头的这四个文件拷贝到D:\Program Files\Tesseract-OCR\tessdata文件夹下
此时在命令行输入tesseract --list-langs
可以看到多了四种语言共6种了。
最后一步:
准备好图片
cmd输入
tesseract 图片路径 保存文件路径(默认txt文件) [-l chi_sim](语言选择)
如
tesseract E:\word_extract\image\extract\t3.jpg E:\word_extract\image\extract\t3 -l chi_sim
效果比较,感觉还不错