为什么 tesseract 将 ^L 附加到输出

为什么 tesseract 将 ^L 附加到输出

我正在使用 tesseract 对图像中的某些文本进行 OCR,例如这个:

在此处输入图片描述

我的 Ubuntu 20.04 上有此版本的 tesseract:

$ tesseract --version
tesseract 4.1.1
 leptonica-1.79.0
  libgif 5.1.4 : libjpeg 8d (libjpeg-turbo 2.0.3) : libpng 1.6.37 : libtiff 4.1.0 : zlib 1.2.11 : libwebp 0.6.1 : libopenjp2 2.3.1
 Found AVX2
 Found AVX
 Found FMA
 Found SSE
 Found libarchive 3.4.0 zlib/1.2.11 liblzma/5.2.4 bz2lib/1.0.8 liblz4/1.9.2 libzstd/1.4.4

调用方式如下:

tesseract example.png output txt

但是,当我output.txt在 vim 中打开该文件时,我^L在最后一行看到以下内容:

在此处输入图片描述

那个字符是什么意思?为什么它被附加在最后一行?可以去掉它吗?

我查看了的手册页tesseract,但没有找到有关该内容的任何信息。

答案1

我假设这tesseract会在文本末尾添加一个新页面(ASCII“换页符”)字符。您可以使用以下方法将其删除:

sed -i 's/^L//' output.txt

要输入^L上述命令中的字符,请先输入Ctrl+ V,然后输入Ctrl+L

对于 GNUsed你也可以简单地使用以下命令:

sed  -i 's/\x0c//' output.txt

作为一种更直接的方法,您可以使用-c如下选项:

tesseract -c page_separator="" example.png output txt

因此输出文件中不会有任何“页面分隔符”。

相关内容