如何限制tesserocr中识别的字符?
How to restrict the recognized characters in tesserocr?
使用 tesserocr 时,如何将 Tesseract 识别的字符集限制为数字?
我从 this 了解到,如果我使用的是 C++,我可以在配置文件中设置 tessedit_char_whitelist,但我不知道 Python 中 tesserocr 中的类似方法.
一般来说,如果 reader 已经了解 C++ 的 Tesseract API,tesserocr documentation 会提供有用的帮助。由于我不精通c++,我希望避免为了使用tesserocr而必须阅读c++源代码。
如果有人能告诉我我在 python 中实际需要写的内容或从配置设置到 Python 代码的一般规则,那就太好了。提前致谢。
Tesserocr 作为C++ API,可以通过SetVariable
.
函数设置白名单
一个例子:
from tesserocr import PyTessBaseAPI
from string import digits
with PyTessBaseAPI() as api:
api.SetVariable('tessedit_char_whitelist', digits)
api.SetImageFile('image.png')
print api.GetUTF8Text() # it will print only digits
如果您想要另一种更直接且独立于 C++ 的方法 API,请尝试使用 pytesseract 模块。
pytesseract 示例:
import pytesseract
from PIL import Image
from string import digits
image = Image.open('image.png')
print pytesseract.image_to_string(
image, config='-c tessedit_char_whitelist=' + digits)
使用 tesserocr 时,如何将 Tesseract 识别的字符集限制为数字?
我从 this 了解到,如果我使用的是 C++,我可以在配置文件中设置 tessedit_char_whitelist,但我不知道 Python 中 tesserocr 中的类似方法.
一般来说,如果 reader 已经了解 C++ 的 Tesseract API,tesserocr documentation 会提供有用的帮助。由于我不精通c++,我希望避免为了使用tesserocr而必须阅读c++源代码。
如果有人能告诉我我在 python 中实际需要写的内容或从配置设置到 Python 代码的一般规则,那就太好了。提前致谢。
Tesserocr 作为C++ API,可以通过SetVariable
.
一个例子:
from tesserocr import PyTessBaseAPI
from string import digits
with PyTessBaseAPI() as api:
api.SetVariable('tessedit_char_whitelist', digits)
api.SetImageFile('image.png')
print api.GetUTF8Text() # it will print only digits
如果您想要另一种更直接且独立于 C++ 的方法 API,请尝试使用 pytesseract 模块。
pytesseract 示例:
import pytesseract
from PIL import Image
from string import digits
image = Image.open('image.png')
print pytesseract.image_to_string(
image, config='-c tessedit_char_whitelist=' + digits)