关闭Pytesseract的英文字典(用于自动识别车牌系统)

2024-09-29 00:18:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用pytessaract对类似这样的数字板进行图像到文本的转换

number plate

tools = pyocr.get_available_tools()
if len(tools) == 0:
    print("No OCR tool found")
    exit(1)

# The tools are returned in the recommended order of usage
tool = tools[0]
print("Will use tool '%s'" % (tool.get_name()))
# Ex: Will use tool 'libtesseract'

langs = tool.get_available_languages()
print("Available languages: %s" % ", ".join(langs))
lang = langs[0]
print("Will use lang '%s'" % (lang))

我就是这样读的我把所有可能的字符都白名单了

^{pr2}$

现在,皮特萨拉克正在读这篇文章,好像在找字典里的单词一样 但这并不是理想的结果 有一种方法可以转换字典中的单词,但我不知道如何用python实现这一点,这是我的问题 谢谢


Tags: 图像langget字典use数字tool单词
1条回答
网友
1楼 · 发布于 2024-09-29 00:18:53

添加禁用系统和频繁DAWG的配置文件

load_system_dawg     F
load_freq_dawg       F

配置文件应该放在tessdata/configs目录中(例如:tessdata/configs/config),并在Init过程中传递给tesseract。
我不能百分之百地确定它是如何用pytesseract来完成的,但我相信你可以在这里详细说明。在

init()函数签名如下:

^{pr2}$

所以您需要将configs设置为指向"config"的指针,并将configs_size设置为1

所以可能是类似的事情,你可以详细说明,使其发挥作用:

api = tesseract.TessBaseAPI()
api.Init(".","eng",tesseract.OEM_TESSERACT_ONLY, POINTER(ctypes.c_char_p("config")), 1, None, None, False)

编辑:
还要注意,禁用DAWG可能无法解决您的问题。如果我是你-我将简单地迭代结果的备选方案,并以最高的置信度获取字母(如果启用DAWG搜索-默认字母不一定总是具有最高置信度的字母)&如here所述,在改善输入图像质量方面做更多的工作。在

相关问题 更多 >