python识别图片使用pytesser模块时__init__.py调用subprocess模块出现WindowsError: [Error 2]

错误详细如下:

Traceback (most recent call last):

  File "E:\kf\pytest.py", line 5, in <module>
    text = image_to_string(im)
  File "C:\Python27\lib\site-packages\pytesser\__init__.py", line 31, in image_to_string
    call_tesseract(scratch_image_name, scratch_text_name_root)
  File "C:\Python27\lib\site-packages\pytesser\__init__.py", line 21, in call_tesseract
    proc = subprocess.Popen(args)
  File "C:\Python27\lib\subprocess.py", line 390, in __init__
    errread, errwrite)
  File "C:\Python27\lib\subprocess.py", line 640, in _execute_child
    startupinfo)

WindowsError: [Error 2] 

在网上找了很多方法都没有用,最后自己解决了。

其实解决方法非常简单,具体步骤:

1.下载pytesser_v0.0.1.zip压缩包,下载地址http://code.google.com/p/pytesser/downloads/list

2.解开压缩包,将文件夹pytesser复制到C:\Python27\Lib\site-packages\(这是我的路径,具体还是根据自己python安装在哪里)

3.将C:\Python27\Lib\site-packages\pytesser文件夹下的pytesser.py改成__init__.py,这个文件的内容是不用改的,我一开始按照别人的方法该里面的路径,但是都没有成功

4.最后将C:\Python27\Lib\site-packages\pytesser添加到Path路径里面就行了

验证方法:

打开pytesser文件夹里面的README,这个文件其实就是用文本编辑器就可以打开了,找到Usage: 这一段,执行下面的四条语句,输出结果与文件给出的结果一样就表示成功了。注意 Image.open('phototest.tif') 最好用绝对路径C:\Python27\Lib\site-packages\pytesser\phototest.tif,或者在图片所在的文件夹下执行


猜你喜欢

转载自blog.csdn.net/jiangyunsheng147/article/details/79104593