其实也不算自己写的,在网上东找找西找找,合一块问题就解决了。

和谐社会的程序猿不都这样么。。

pytesseract 识别范围 python tesseract_Python

上正菜。

先安装pillow

windows 10上面先打开命令提示符:

注:不知道为啥我装python 3.5的时候蛋疼的选择了管理员安装,所以运行命令提示符的话也需要管理员权限。怎么操作就不说了。

1. 安装Pillow

pytesseract 识别范围 python tesseract_Python_02

2. 安装pytesseract

pytesseract 识别范围 python tesseract_python_03

3. 再安装tesseract-ocr,注意这个很关系是文字识别的核心程序。


pytesseract 识别范围 python tesseract_pytesseract 识别范围_04

报错了,看来前面太顺了,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



相关的程序基本安装完了。

开始做一个小程序参考图如下:

pytesseract 识别范围 python tesseract_pytesseract 识别范围_05

我是在pycharm中练习的,代码如下:

from PIL import Image
import pytesseract
img = Image.open()
text = pytesseract.p_w_picpath_to_string(img)
print (text)

注:我把上面的参考图命名为22.png了,因为我太2了

装好几个程序了,看看效果运行:

"C:\Program Files\Python35\python.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 Files\Python35\lib\site-packages\pytesseract\pytesseract.py", line 122, in p_w_picpath_to_string
    config=config)
  File "C:\Program Files\Python35\lib\site-packages\pytesseract\pytesseract.py", line 46, in run_tesseract
    proc = subprocess.Popen(command, stderr=subprocess.PIPE)
  File "C:\Program Files\Python35\lib\subprocess.py", line 676, in __init__
    restore_signals, start_new_session)
  File "C:\Program Files\Python35\lib\subprocess.py", line 957, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] 系统找不到指定的文件。

M D 找不到指定文件,到这里我也不懂,继续百度。然后找到的文章说要更改 pytesseract.py这个文件的一些配置(第二个安装的模块)。因为这里面配置有一些相关于tesseract-ocr(即第三个安装的程序)

更改如下:

在pycharm中如图打开pytesseract.py:

pytesseract 识别范围 python tesseract_c/c++_06

在右边打开的窗口找到:tesseract_cmd 这行代码:

这一行注释掉:因为pytesseract.py文件内默认的tesseract-ocr的主程序环境变量不知道怎么变的,到了windows 下面就不能运行,上面执行的报错代码中找不到文件,其实就是找不到主程序。所以注释掉原来的,我们再新加一行。上面的路径就是你安装Tesseract-ocr程序时的路径:

#tesseract_cmd = 'tesseract'

新增加一行:

tesseract_cmd = r'C:/Program Files (x86)/Tesseract-OCR/tesseract.exe'

pytesseract 识别范围 python tesseract_pytesseract 识别范围_07


保存,运行我们写的代码,看看效果。

pytesseract 识别范围 python tesseract_python_08

又报错了,伤不起

"C:\Program Files\Python35\python.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 Files\Python35\lib\site-packages\pytesseract\pytesseract.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文件。

于是又从网上找了一些东西,继续更改。

如图

pytesseract 识别范围 python tesseract_python_09

保存,接着运行程序:

pytesseract 识别范围 python tesseract_开发工具_10

啥啥成功了,虽然识别多了一个小数点,不过至少不报错了。


就试到这里了,多的我也不会。



以上大部分内容都是来自网上。我不过做下整理。

那里说错了,莫怪,我了解的也不多。




转载于:https://blog.51cto.com/13136244/1972816