原代码如下:
import tesserocr
from PIL import Image
image = Image.open('code.jpg')
image = image.convert('L')
threshold = 127 # 二值化阈值
table = []
for i in range(256):
if i < threshold:
table.append(0)
else:
table.append(1)
image = image.point(table, '1')
result = tesserocr.image_to_text(image)
print(result)
报错信息:
解决方法
网上解决方法
我的anaconda是安装在D盘中的,而Tesserocr则是安装在c盘中,我在网上查找了许多种方法,最后还是没能成功。
网上解决的方法有:
- 方法一
- 方法二
- 方法三
但是最后的结果还是提示Failed to init API, possibly an invalid tessdata path: C:\anaconda3\,或者使用方法三添加“TESSDATA_PREFIX”到系统环境变量后,报错的路径从Anaconda3变成Tesseract-OCR。
我的解决方法
- 把原先的版本给卸载了,安装旧版本。例如我安装的是3.05版本,我是将其安装在和anaconda同一个盘里,未验证安装到其他盘行不行。各版本下载网站。
- 根据报错信息创建目录,将tessdata复制到目录下。例如我的报错是possibly an invalid tessdata path: C:\anaconda3\,那我就在c盘中创建anaconda3的目录,复制tessdata过来。
最后成功解决问题。