python - 关闭 pytessaract 的英语词典单词(对于 alpr 系统)

标签 python image-processing tesseract python-tesseract

我正在使用 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))

这就是我的阅读方式,我将所有可能的字符列入白名单

text = pytesseract.image_to_string(Image.open('images/text.jpg'), config= "-c tessedit_char_whitelist=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ")

现在 pytessaract 正在阅读此内容,就像在寻找字典单词一样 这给出的结果不太理想 有一种方法可以转换字典单词,但我不知道如何在 python 中做到这一点,这是我的问题 谢谢

最佳答案

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

load_system_dawg     F
load_freq_dawg       F

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

init() 函数签名是这样的:

const char *    datapath,
const char *    language,
OcrEngineMode   oem,
char **     configs,
int     configs_size,
const GenericVector< STRING > *     vars_vec,
const GenericVector< STRING > *     vars_values,
bool    set_only_non_debug_params

因此,您需要将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 所述.

关于python - 关闭 pytessaract 的英语词典单词(对于 alpr 系统),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48915449/

相关文章:

Python 按日期和时间对 CSV 进行排序

Python pandas 日期时间差异

c++ - iOS中Opencv人脸检测Cascade编译器报错

ios - OCR:图像到文本?

ocr - Tesseract无法识别德语 "für"

python - 将一张图像与 Cloudinary 存储进行比较

image-processing - 如何使用 GDI+ 将旋转图像居中?

java - 文本识别库,Android、Java 代码?

opencv - NumPy/OpenCV 2 : how to enumerate all pixels from region?

python - 检测德语句子中的时态(使用 SpaCy)