其实也不算自己写的,在网上东找找西找找,合一块问题就解决了。
和谐社会的程序猿不都这样么。。
上正菜。
先安装pillow
windows 10上面先打开命令提示符:
注:不知道为啥我装python 3.5的时候蛋疼的选择了管理员安装,所以运行命令提示符的话也需要管理员权限。怎么操作就不说了。
1. 安装Pillow
2. 安装pytesseract
3. 再安装tesseract-ocr,注意这个很关系是文字识别的核心程序。
报错了,看来前面太顺了,python看不过去了。
至于报错的信息:error: Microsoft Visual C 14.0 is required. Get it with "Microsoft Visual C Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
让我去这个网站装 Microsoft Visual C 14.0相关的东东,N N D 我打开网站,下载之后安装,看所需要的空间 4GB。玩不起,还是算了,我是菜鸟,太多的东西不懂,所以不要为难我。
所以找其它方法装tesseract-ocr
这里面有tesseract-ocr for windows的安装方法。安装步骤我们强大的度娘就有:
http://jingyan.baidu.com/article/219f4bf788addfde442d38fe.html
安装时要什么字库自己选。
懒人连接:https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe
MAC LINUX WINDOWS 各版本下载
https://github.com/tesseract-ocr/tesseract/wiki
相关的程序基本安装完了。
开始做一个小程序参考图如下:
我是在pycharm中练习的,代码如下:
代码语言:javascript复制from PIL import Image
import pytesseract
img = Image.open()
text = pytesseract.p_w_picpath_to_string(img)
print (text)
注:我把上面的参考图命名为22.png了,因为我太2了
装好几个程序了,看看效果运行:
代码语言:javascript复制"C:Program FilesPython35python.exe" D:/Python_Study3.5/test/pli_png.py
Traceback (most recent call last):
File "D:/Python_Study3.5/test/pli_png.py", line 4, in <module>
text = pytesseract.p_w_picpath_to_string(img)
File "C:Program FilesPython35libsite-packagespytesseractpytesseract.py", line 122, in p_w_picpath_to_string
config=config)
File "C:Program FilesPython35libsite-packagespytesseractpytesseract.py", line 46, in run_tesseract
proc = subprocess.Popen(command, stderr=subprocess.PIPE)
File "C:Program FilesPython35libsubprocess.py", line 676, in __init__
restore_signals, start_new_session)
File "C:Program FilesPython35libsubprocess.py", line 957, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] 系统找不到指定的文件。
M D 找不到指定文件,到这里我也不懂,继续百度。然后找到的文章说要更改 pytesseract.py这个文件的一些配置(第二个安装的模块)。因为这里面配置有一些相关于tesseract-ocr(即第三个安装的程序)
更改如下:
在pycharm中如图打开pytesseract.py:
在右边打开的窗口找到:tesseract_cmd 这行代码:
这一行注释掉:因为pytesseract.py文件内默认的tesseract-ocr的主程序环境变量不知道怎么变的,到了windows 下面就不能运行,上面执行的报错代码中找不到文件,其实就是找不到主程序。所以注释掉原来的,我们再新加一行。上面的路径就是你安装Tesseract-ocr程序时的路径:
代码语言:javascript复制#tesseract_cmd = 'tesseract'
新增加一行:
代码语言:javascript复制tesseract_cmd = r'C:/Program Files (x86)/Tesseract-OCR/tesseract.exe'
保存,运行我们写的代码,看看效果。
又报错了,伤不起
代码语言:javascript复制"C:Program FilesPython35python.exe" D:/Python_Study3.5/test/pli_png.py
Traceback (most recent call last):
File "D:/Python_Study3.5/test/pli_png.py", line 4, in <module>
text = pytesseract.p_w_picpath_to_string(img)
File "C:Program FilesPython35libsite-packagespytesseractpytesseract.py", line 125, in p_w_picpath_to_string
raise TesseractError(status, errors)
pytesseract.pytesseract.TesseractError: (1, 'Error opening data file \Program Files (x86)\
Tesseract-OCR\eng.traineddata')
Process finished with exit code 1
这次报的错,貌似是找不到tesseract-ocr的配置文件。看来还得改pytesseract.py文件。
于是又从网上找了一些东西,继续更改。
如图
保存,接着运行程序:
啥啥成功了,虽然识别多了一个小数点,不过至少不报错了。
就试到这里了,多的我也不会。
以上大部分内容都是来自网上。我不过做下整理。
那里说错了,莫怪,我了解的也不多。