我正在使用 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
因此输出文件中不会有任何“页面分隔符”。