我试图在python中运行tesseract:
...image is a numpy array (uint8)...
tessApi = tesseract.TessBaseAPI()
tessApi.Init(".","spa",tesseract.OEM_DEFAULT)
tessApi.SetVariable("tessedit_char_whitelist", "0123456789ACEIMNOPRSTU/imn")
tessApi.SetPageSegMode(tesseract.PSM_AUTO)
# SetImage(imagedata, width, height, bytes_per_pixel, bytes_per_line)
w = int(final.shape[1])
h = int(final.shape[0])
tessApi.setImage(image,w,h,1,w)
text = tessApi.GetUTF8Text()
print text
我收到一个错误: 引发AttributeError(名称) AttributeError:setImage 我无法弄清楚原因。拜托,有人可以帮助我吗?。
答案 0 :(得分:4)
检查https://code.google.com/p/python-tesseract/source/browse/python-tesseract-0.9/src/tesseract.py
class TessBaseAPI(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, TessBaseAPI, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, TessBaseAPI, name)
__repr__ = _swig_repr
def __init__(self):
this = _tesseract.new_TessBaseAPI()
try: self.this.append(this)
except: self.this = this
__swig_destroy__ = _tesseract.delete_TessBaseAPI
__del__ = lambda self : None;
__swig_getmethods__["Version"] = lambda x: _tesseract.TessBaseAPI_Version
if _newclass:Version = staticmethod(_tesseract.TessBaseAPI_Version)
__swig_getmethods__["getOpenCLDevice"] = lambda x: _tesseract.TessBaseAPI_getOpenCLDevice
if _newclass:getOpenCLDevice = staticmethod(_tesseract.TessBaseAPI_getOpenCLDevice)
__swig_getmethods__["CatchSignals"] = lambda x: _tesseract.TessBaseAPI_CatchSignals
if _newclass:CatchSignals = staticmethod(_tesseract.TessBaseAPI_CatchSignals)
def SetInputName(self, *args): return _tesseract.TessBaseAPI_SetInputName(self, *args)
def GetInputName(self): return _tesseract.TessBaseAPI_GetInputName(self)
...
def ClearAdaptiveClassifier(self): return _tesseract.TessBaseAPI_ClearAdaptiveClassifier(self)
def SetImage(self, *args): return _tesseract.TessBaseAPI_SetImage(self, *args)
您要拨打的功能是
def SetImage(self, *args): return _tesseract.TessBaseAPI_SetImage(self, *args)
对SetImage使用uppcase S,而不是小写