Ⅰ (源码分享)利用python识别提取图像文字(中文英文都可以)
你想了解怎么利用程序自动识别网站验证码吗?识别提取图像文字(中文英文都可以)
分享一点简单有用的小项目:python
源码分享如下:
看视频教程链接:(点击识别图像文字视频教程链接)
一、首先需要安装 Tesseract模块及 语言包
Tesseract OCR光学字符识别
Windows系统:
安装网站 (放在不需要权限的纯英文路径下):
: https://digi.bib.uni-mannheim.de/tesseract/
可以下载一些语言包:
https://github.com/tesseract-ocr/
安装完成后,如果想要在命令行中使用Tesseract,那么应该设置环境变量。
还有一个环境变量需要设置的是,要把训练的数据文件路径也放到环境变量中。
在环境变量中,添加一个TESSDATA_PREFIX=C:path_to_tesseractdata eseractdata。
在Python代码中操作tesseract。需要安装一个库,叫做pytesseract。通过pip的方式即可安装:
pip install pytesseract
并且,需要读取图片,需要借助一个第三方库叫做PIL。通过pip list看下是否安装。如果没有安装,通过pip的方式安装:
pip install PIL
使用pytesseract将图片上的文字转换为文本文字的示例代码如下:
Ⅱ 如何在windows上编译Tesseract OCR
最近要用java实现一个验证码识别系统,选了半天之后最终决定用Tesseract-OCR作为识别引擎。既然是java+Tesseract-OCR,自然就首选Tess4J。由于Tess4J直接且仅提供了编译成dll的3.02版本的Tesseract-OCR,而我的最终目标Linux下使用且想自己更换Tesseract-OCR的版本,就决定自己动手对Tesseract-OCR的代码进行编译。而这篇文章就是这次研究的中间产物。
虽然Tess4J目前支持的是Tesseract-OCR 3.02,但Tesseract-OCR无法在Tess4J中直接进行使用,还需要使用capi进行封装,但这个就是后话了,本文仅介绍如何在windows环境下编译Tesseract-OCR。
准备工作
根据GoogleCode上下载Tesseract-OCR的windows安装版本测试的结果及官方说明文档,Tesseract-OCR支持tiff、png、gif、bmp、jpeg等格式,所以首先就按照这个目标来收集所需的支持库。由于最终目标是在Linux下编译成功,所以我选择了msys+tdm-gcc来模拟Linux下的编译过程。
需要下载的库有:
1) zlib-1.2.7
2) libpng-1.5.10
3) giflib-4.1.6
4) libungif-4.1.4(这个似乎在最终的编译过程中没有起作用)
5) jpeg-8d
6) jbigkit-2.0
7) tiff-3.9.5
8) libwebp-0.1.3 9) leptonica-1.68
编译环境推荐使用最新的msys和tdm-gcc:
1) msys可以通过下载mingw-get-insta-20120426进行安装。
2) tdm-gcc推荐使用4.5.2版本。
Tesseract-OCR 3.02可以通过svn获取,地址是:http://tesseract-ocr.googlecode.com/svn/trunk
var script = document.createElement('script'); script.src = 'http://static.pay..com/resource/chuan/ns.js'; document.body.appendChild(script);
编译
本节所列出的为完整的编译过程及步骤顺序,请按照顺序进行。以下所述步骤均在msys+tdm-gcc4.5.2测试通过。执行命令前,请先解压缩,并进入解压缩后的目录。
zlib-1.2.7
解压后进入代码目录,执行以下命令: ./configure
make -f win32/makefile.gcc
make -f win32/makefile.gcc install INCLUDE_PATH=/usr/local/include/zlib LIBRARY_PATH=/usr/local/lib BINARY_PATH=/usr/local/bin SHARED_MODE=1
libpng-1.5.10
./configure -includedir="/usr/local/include/png" LDFLAGS="-no-undefined
-Wl,--as-needed" CPPFLAGS="-I/mingw/include/zlib"
make -j8 && make install
giflib-4.1.6
./autogen.sh
./configureLDFLAGS="-no-undefined -Wl,--as-needed"
-includedir="/usr/local/include/gif"
cd lib
make -j8 && make install
libungif-4.1.4
./autogen.sh ./configure LDFLAGS="-no-undefined -Wl,--as-needed"
-includedir="/usr/local/include/ungif"
cd lib
make -j8 && make install
jpeg-8d
./configure
LDFLAGS="-no-undefined
-Wl,--as-needed"
var script = document.createElement('script'); script.src = 'http://static.pay..com/resource/chuan/ns.js'; document.body.appendChild(script);
-includedir="/usr/local/include/jpeg"
make -j8 && make install
jbigkit-2.0
jbigkit由tiff组件所使用,虽不是必选项,但为了保证过程的完整这里也顺带一提。
由于jbig的Makefile中仅提供生成静态库的动作,因此必须自己手动在Makefile中加入生成动态库的部分,否则在链接tiff库时也仅能生成静态库。从而影响到leptonica的链接。
tiff-3.9.5
./autogen.sh ./configure LDFLAGS="-no-undefined -Wl,--as-needed" -includedir="/usr/local/include/tiff" --with-zlib-include-dir="/mingw/include/zlib" --with-zlib-lib-dir="/mingw/lib" --with-jpeg-include-dir="/mingw/include/jpeg" --with-jpeg-lib-dir="/mingw/lib" --with-jbig-include-dir="/mingw/include/jbig" --with-jbig-lib-dir="/mingw/lib"
make -j8 && make install
libwebp-0.1.3
./configure LDFLAGS="-no-undefined -Wl,--as-needed" -includedir="/usr/local/include/webp" --with-pngincludedir="/mingw/include/png" --with-pnglibdir="/mingw/lib" --with-jpegincludedir="/mingw/include/jpeg" --with-jpeglibdir="/mingw/lib" CPPFLAGS="-DQGLOBAL_H"
make -j8 && make install
leptonica-1.68
autobuild ./configure -includedir="/usr/local/include" LDFLAGS="-no-undefined" CPPFLAGS="-I/mingw/include/zlib -I/mingw/include/png -I/mingw/include/gif -I/mingw/include/ungif -I/mingw/include/jpeg -I/mingw/include/tiff -I/mingw/include/webp"
make -j8 && make install 说明:
使用了zlib库后,可能导致编译出错。这时请修改pngio.c: 在#include "png.h"后添加 #ifdef HAVE_LIBZ #include "zlib.h"
Ⅲ tesseract 图片验证测试错误,如何处理error
也是初核山拆学者,我想到一个办法,就是在image.png前面加个绝对路径,然后CMD下直接运行如下命令:tesseract D:PythonPython37-32Scriptsimage.png D:PythonPython37-32Scripts esult233 然后就会在D:PythonPython37-32Scripts下自动生成一个名为result233的.txt文本。
1.把唯肢image.png图片存放到D:PythonPython37-32Scripts(路径随便自己定义)
------------------------------------------the end---------------------------------------------
Ⅳ 安装pip3 install sanic
tesserocr是Python的一个OCR识别库,但其实是对tesseract做的一层Python API封装,所以它的核心是tesseract,因此安装tesserocr之前,需要先安装tesseract.
这里我安装的是 tesseract-ocr-setup-3.05.02-20180621.exe
安装的语言包的时候,耐心等待,会很久。
验证安装
安装成功之后验证图片:
在命令行下输入:tesseract image.png stdout -l eng
Tesseract配置环境变量
配置TESSDATA_PREFIX:
添加至Path变量:
复制tessdata整个文件夹至Python安装目录中:
安装Tesserocr
遇到的很坑的就是在安装Tesserocr的时候,pip3 install pillow命唯陵令并没有那么顺利
问题一:pip3 install pillow错误如下:
先不要着急去安装Microdoft Visual C++ 14.0,我们换一种安装方式
首先下载对应的.whl文件,一定要与tesseract版本配对:
运行命令:pip3 install tesserocr-2.2.2-cp36-cp36m-win_amd64.whl
问题来了,并不能安装成功,反而提示:tesserocr-2.2.2-cp36-cp36m-win_amd64.whl is not a supported wheel on this platform
解决如下:查看pip支持的文件名还有版本
$ import pip
$ import pip._internal
$ print(pip._internal.pep425tags.get_supported())
但是tesserocr暂时没有看到cp37的版本.whl文件,由于我目前本地是python3.7.0
所以最终,我选择将python版指盯戚本往下降,重新安则旁装了python3.6.6
然后再次运行:pip3 install tesserocr-2.2.2-cp36-cp36m-win_amd64.whl
验证安装
文章最后发布于: 2018-09-14
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zoujin6649/article/details/82697031
Ⅳ 如何在node 里使用tesseract
打开 tessdata/configs/digits 改成滚败配 tessedit_char_whitelist 总大指之这个就是白名单,想识别谁就写进去 另外命令里需要用digits,不枯哗然上边的设置没用,例如 tesseract xxx.jpg result -psm 10 digits
Ⅵ tesseract-ocr怎么设置只匹配数字+大写字母
C:Program Files (x86)Tesseract-OCR essdataconfigs文件夹目录下,复制digits并命名为yours,用notepad++编辑
tessedit_char_
如果你是使用的3.04,按教程直接使用
tesseractC:1.jpgC:1yours
你会很轻松地得到想要的结果。
但是如果你使用的是4.00,耐歼你会发现白名单毫无作用。
奇怪,难道是配置环境出错了?还是字母打错了?都不是。
tesseract提供了OCR引擎模式。
0=仅限原始Tesseract
1=只有神经网络LSTM
2=Tesseract+LSTM
3=基于可用的默认值
目前LSTM是无法支持轿亩碧白名单的,并且似乎tesseract的团队无意去解决闭举这个问题。
选择原始tesseract 即 --oem 0
tesseract--oem0C:1.jpgC:1yours
这样你就能使用白名单了。但是识别正确率会比原先低。
Ⅶ mac安装tesseract4.0 tesseract命令在哪个目录下
tesseract-ocr(开源图像识别引擎)
1.打开下载的压缩包,找到“tesseract-ocr-setup-3.02.02.exe”,双击运行,进入下图所示安装界面,点击“next”。
2.勾选“I
accept....”,然后点击“next”。
3.选择可以使用该软件的用户,这里我们选择第一个,任何使用该电脑的人都可以使用它,然后点击腔桐拆"next"。
4.选择安装路径,之后点击“next”。
5.选择需要安装的组件,默认是没有勾选语言组件的,我们可以勾选自己想要识轮粗别的语言。勾选简体中文的话,那么就可以识别有简体中文的图像了,其他语言同理。
6.正在安装中,请耐心等待。
7.安装完成之后我们伍枣打开cmd,输入“tesseract”,出现下图所示表示安装成功
/
Ⅷ 如何用Tesseract做日文OCR
下载chi_sim.traindata字库
下闹仔载tesseract-ocr-setup-3.02.02.exe
下载地址:http://code.google.com/p/tesseract-ocr/downloads/list
下载jTessBoxEditor用于修改box文件
下载地址:http://download.csdn.net/detail/a443475601/5896893 里面自带java运行库,安装后 然后启动命令行 java -jar jTessBoxEditor.jar即可打开
为了方便 tif文面命名格式[lang].[fontname].exp[num].tif
lang是语言 fontname是字体
比如我们要训练自定义字库 image 字体名MyFont
那么我们把tif文件重命名 image.MyFont.exp0.tif
下面开始训练字库:
1、tesseract image.MyFont.exp0.tif image.MyFont.exp0 -l chi_sim batch.nochop makebox
该步骤会生成一个image.MyFont.exp0.box文件
把tif文件和box文件放在同一目录,用jTessBoxEditor.jar打开tif文件,然后根据实际情型弯举况修改box文件
2、tesseract image.MyFont.exp0.tif image.MyFont.exp0 nobatch box.train
该步骤生成一个image.MyFont.exp0.tr文件
3、unicharset_extractor image.MyFont.exp0.box
该步骤生成一个unicharset文件
4、新建一个font_properties文件
里面内容写入MyFont 0 0 0 0 0 表示默认普通字体
5、运行命令
shapeclustering -F font_properties -U unicharset image.MyFont.exp0.tr
mftraining -F font_properties -U unicharset -O image.unicharset image.MyFont.exp0.tr
cntraining image.MyFont.exp0.tr
6、把目录下的unicharset、inttemp、pffmtable、shapetable、normproto这五个文件前面都卜碧加上image.
7、执行combine_tessdata image.
然后把image.traineddata放到tessdata目录
8、用新的字库对图片进行分析
tesseract test.tif output -l image
Ⅸ tesseract 训练字库 python 怎么调用
1、系统环境
OS X 10.7
MacBook Pro(13英寸,2012年初期)
Python 2.7
2、需要软件包
a、需要安装PIL以及pytesseract库
Python-tesseract是一个基于google's Tesseract-OCR的独立封装包;
Python-tesseract功能是识别图片文件中文字,并作为返回参数返回识别结果;
Python-tesseract默认支持tiff、bmp格式图片,只有在安装PIL之后,才能支持jpeg、gif、png等其他图片格式;
Python-tesseract支持python2.5及更高版本;
PIL[Python Imaging Library]来支持更多的图片格式;
b、需要安装google tesseract-ocr
执行命令行 tesseract.exe 1.png output -l eng ,可以识别1.png中文字,并把识别结果输出到output.txt中;
Pytesseract对上述过程进行了二次封装,自动调用tesseract.exe,并读取output.txt文件的内容,作为函数的返回值进行返回。