1

当我使用 pytesser(用于 python 的带有 tesseract-ocr 的图像处理库)并运行时:

image= Image.open(ImagePath)
text = image_to_string(image)
print text

结果我得到了text, 以及来自 tesseract 的这一行:

Tesseract Open Source OCR Engine v3.02 with Leptonica

我认为这条线在image_to_string函数运行时运行。

这确实阻塞了控制台中打印的输出。而且真的很烦人。有谁知道如何摆脱它?也许是python中的一行或什么?

4

4 回答 4

1

首先创建一个配置文件

cat <<CNF >>/usr/share/tessdata/tessconfigs/nobanner
debug_file /dev/null
CNF

请注意,您的 tessconfigs 可能位于其他位置,例如 /usr/local/share/tessdata/tessconfigs。

然后在命令行上使用“nobanner”

tesseract infile.png outprefix -l eng nobanner
于 2015-02-25T19:45:40.110 回答
1

您所做的是pytesser.py在主pytesser文件夹中打开并更改此功能:

def call_tesseract(input_filename, output_filename):
    """Calls external tesseract.exe on input file (restrictions on types),
    outputting output_filename+'txt'"""
    args = [tesseract_exe_name, input_filename, output_filename]
    proc = subprocess.Popen(args)
    retcode = proc.wait()
    if retcode!=0:
        errors.check_for_errors()

def call_tesseract(input_filename, output_filename):
    """Calls external tesseract.exe on input file (restrictions on types),
    outputting output_filename+'txt'"""
    devnull = open(os.devnull, 'w')
    args = [tesseract_exe_name, input_filename, output_filename]
    proc = subprocess.Popen(args, stderr=devnull)
    retcode = proc.wait()
    if retcode!=0:
        errors.check_for_errors()

并添加import os到文件的顶部。

于 2014-07-28T14:39:09.120 回答
1

只有下面的代码成功:

tesseract infile.png outprefix 1>/dev/null 2>&1
于 2015-09-23T17:12:03.383 回答
0

您可以尝试通过设置参数将其重定向到日志文件。debug_file

于 2014-07-27T03:20:13.390 回答