用Pytesseract从图像读取文本不起作用

时间:2019-11-11 11:56:34

标签: python opencv python-tesseract

我想从车牌图像中读取字母和数字。我正在使用Python,并且我已经读到可以使用pytesseract来做到这一点。

我写了一个简单的代码,但出现错误:

    raise TesseractNotFoundError()
pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your path

我不知道该如何解决,这是我的代码:

import cv2
import pytesseract

img = cv2.imread('image.jpg')
cv2.imshow('original', img)
cv2.waitKey(0)

text = pytesseract.image_to_string(img, config='')
print("Detected Number is:", text)

这是图片:

pyte

我已经安装了pytesseract。 当我运行此命令时:

import importlib.util
print(importlib.util.find_spec('pytesseract'))

我明白了:

ModuleSpec(name='pytesseract', loader=<_frozen_importlib_external.SourceFileLoader object at 0x02F8F070>, origin='C:\\Users\\Pc\\AppData\\Local\\Programs\\Python\\Python36-32\\lib\\site-packages\\pytesseract\\__init__.py', submodule_search_locations=['C:\\Users\\Pc\\AppData\\Local\\Programs\\Python\\Python36-32\\lib\\site-packages\\pytesseract'])

1 个答案:

答案 0 :(得分:0)

似乎没有安装pytesseract。

尝试一下:

import importlib.util
print(importlib.util.find_spec('ytesseract'))

如果未安装,您将得到:无

如果有它,它将显示目录,这是我,询问我是否有熊猫:

ModuleSpec(name='pandas', loader=<_frozen_importlib_external.SourceFileLoader object at 0x03E66F90>, origin='C:\\Users\\XXX\\AppData\\Local\\Programs\\Python\\Python36-32\\lib\\site-packages\\pandas\\__init__.py', submodule_search_locations=['C:\\Users\\XXX\\AppData\\Local\\Programs\\Python\\Python36-32\\lib\\site-packages\\pandas'])

pytesseract需要tessaract和tessaract-ocr,用于tesseract:

pip install tesseract

对于tessaract-ocr:

 https://github.com/UB-Mannheim/tesseract/wiki

执行安装。我的被​​安装在'C:/ Program Files /'

然后将其粘贴到我的Pytho开发界面中:

  pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files/Tesseract-OCR/tesseract'

我执行了您的代码:

  text = pytesseract.image_to_string(img, config='')

打印结果返回:

  Detected Number is: 7

这不是预期的输出,但是至少“ pytesseract.pytesseract.TesseractNotFoundError:”消失了。