OCR(Optical character recognition,光学字符识别)是一种将图像中的手写字或者印刷文本转换为机器编码文本的技术。
tesseract-ocr 是由Google开发,支持100多种语言
文档 tessdoc:
https://tesseract-ocr.github.io/
https://tesseract-ocr.github.io/tessdoc/Installation.html
https://github.com/tesseract-ocr/tessdoc
Windows Tesseract下载地址:https://digi.bib.uni-mannheim.de/tesseract/
选择 tesseract-ocr-w64-setup-v5.0.1.20220118.exe
勾选上Additional...
会下载训练数据,安装到 D:\Tesseract-OCR
,将D:\Tesseract-OCR
添加到环境变量。
C:\Users\Administrator.DESKTOP-TPJL4TC>tesseract
Usage:tesseract --help | --help-extra | --versiontesseract --list-langstesseract imagename outputbase [options...] [configfile...]OCR options:-l LANG[+LANG] Specify language(s) used for OCR.
NOTE: These options must occur before any configfile.Single options:--help Show this help message.--help-extra Show extra help for advanced users.--version Show version information.--list-langs List available languages for tesseract engine.C:\Users\Administrator.DESKTOP-TPJL4TC>tesseract --version
tesseract v5.0.1.20220118leptonica-1.78.0libgif 5.1.4 : libjpeg 8d (libjpeg-turbo 1.5.3) : libpng 1.6.34 : libtiff 4.0.9 : zlib 1.2.11 : libwebp 0.6.1 : libopenjp2 2.3.0Found AVX2Found AVXFound FMAFound SSE4.1Found libarchive 3.5.0 zlib/1.2.11 liblzma/5.2.3 bz2lib/1.0.6 liblz4/1.7.5 libzstd/1.4.5Found libcurl/7.77.0-DEV Schannel zlib/1.2.11 zstd/1.4.5 libidn2/2.0.4 nghttp2/1.31.0
查看支持的语言包
tesseract --list-langs
如果忘记勾选了训练数据,也可以单独下载 https://digi.bib.uni-mannheim.de/tesseract/tessdata_fast/ ,放在D:\Tesseract-OCR\tessdata
目录下
识别图片中的文字,默认只能识别英文和数字
tesseract 图片地址 存放识别结果的文本文件路径
比如
tesseract D:\dev\php\magook\trunk\server\go-opencv\detectcarband\licence_plate.jpg D:\dev\php\magook\trunk\server\go-opencv\detectcarband\licence_plate
如果要识别中文,那就需要加上语言包名称
tesseract D:\dev\php\magook\trunk\server\go-opencv\detectcarband\licence_plate.jpg D:\dev\php\magook\trunk\server\go-opencv\detectcarband\licence_plate -l chi_sim
其实并不算很准,比如如下车牌
识别结果是外.730V7
C:\Users\Administrator.DESKTOP-TPJL4TC> tesseract --help-extra
Usage:tesseract --help | --help-extra | --help-psm | --help-oem | --versiontesseract --list-langs [--tessdata-dir PATH]tesseract --print-fonts-table [options...] [configfile...]tesseract --print-parameters [options...] [configfile...]tesseract imagename|imagelist|stdin outputbase|stdout [options...] [configfile...]OCR options:--tessdata-dir PATH Specify the location of tessdata path.--user-words PATH Specify the location of user words file.--user-patterns PATH Specify the location of user patterns file.--dpi VALUE Specify DPI for input image.--loglevel LEVEL Specify logging level. LEVEL can beALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL or OFF.-l LANG[+LANG] Specify language(s) used for OCR.-c VAR=VALUE Set value for config variables.Multiple -c arguments are allowed.--psm NUM Specify page segmentation mode.--oem NUM Specify OCR Engine mode.
NOTE: These options must occur before any configfile.Page segmentation modes:0 Orientation and script detection (OSD) only.1 Automatic page segmentation with OSD.2 Automatic page segmentation, but no OSD, or OCR. (not implemented)3 Fully automatic page segmentation, but no OSD. (Default)4 Assume a single column of text of variable sizes.5 Assume a single uniform block of vertically aligned text.6 Assume a single uniform block of text.7 Treat the image as a single text line.8 Treat the image as a single word.9 Treat the image as a single word in a circle.10 Treat the image as a single character.11 Sparse text. Find as much text as possible in no particular order.12 Sparse text with OSD.13 Raw line. Treat the image as a single text line,bypassing hacks that are Tesseract-specific.OCR Engine modes:0 Legacy engine only.1 Neural nets LSTM engine only.2 Legacy + LSTM engines.3 Default, based on what is available.Single options:-h, --help Show minimal help message.--help-extra Show extra help for advanced users.--help-psm Show page segmentation modes.--help-oem Show OCR Engine modes.-v, --version Show version information.--list-langs List available languages for tesseract engine.--print-fonts-table Print tesseract fonts table.--print-parameters Print tesseract parameters.