Answers:
前一阵子评估了Ubuntu中的各种OCR软件包,发现Tesseract是其中最差的一个(但足够糟糕),并为OCRing编写了一个包装脚本(因为Tesseract希望使用TIFF这样晦涩的输入格式)。这是我的~/bin/ocr
:
#!/bin/sh
# usage: ocr filename.jpg
if test -z "$1"; then
echo "usage: ocr filename.jpg [...]"
echo "needs imagemagick and tesseract-ocr"
echo "if tesseract fails, check if you've got tesseract-ocr-eng installed"
fi
tmpdir="$(mktemp -d)"
for fn in "$@"; do
convert "$fn" "$tmpdir/page.tif"
tesseract "$tmpdir/page.tif" "$tmpdir/page" 2>&1 | grep -v '^Tesseract Open Source OCR Engine$'
cat "$tmpdir/page.txt"
cp -i "$tmpdir/page.txt" "${fn%.jpg}.txt"
rm "$tmpdir/page.tif" "$tmpdir/page.txt"
done
rm -r "$tmpdir"
用GIMP预处理图像(使用“阈值”工具转换为黑白)似乎有很大帮助。
我希望此后情况有所改善。最近,我在博客文章中看到了OCR Feeder这个名字,请尝试一下。
Tesseract-ocr软件包是命令行。如果您想要带有GUI的程序,我可以使用“ gscan2pdf”,您可以在Ubuntu软件中心找到它。
在gscan2pdf中,您所需要做的就是单击顶部附近的小扫描图标。我认为它为您提供了两个或三个选项,GOCR效果不是很好,而Tesseract效果很好。选择Tesseract,从这一点开始,您需要单击适当的选项卡,以便可以找到分辨率设置。您最好的选择是300甚至600,Tesseract会做得很好。
扫描不良,歪斜或旧文档转换得不好。祝好运!
PS ..我一直在阅读,Tesseract只能读取TIFF图像。对我来说不是这种情况。我也可以导入JPG或PNG。
PPS ...抱歉!您也可以在软件中心尝试OCRFeeder。我还没有尝试过。
我找到了它,叫做Tesseract OCR,希望它可能对您有用。
我有Linux Mint 17.2 x32 Cinnamon。这些步骤可能也可以在Ubuntu 14.04 x32中使用。
使用Tesseract
选项1-通过命令行打开终端,然后转到保存图像文件(jpg,png)的文件夹并运行命令:
a)将所有图像文件转换为文本
for i in *png; do b=`basename "$i" .png`; tesseract -l eng "$i" "$b" text; done
要将所有文本文件合并为一个,请运行命令 cat *.txt >> all.txt
b)将所有图像文件转换为hocr文件(使用Firefox打开)
for i in *png; do b=`basename "$i" .png`; tesseract -l eng "$i" "$b" hocr; done
选项2-通过GUI
a)安装gImageReader,并使用它
sudo add-apt-repository -y ppa:sandromani/gimagereader
sudo apt-get update
sudo apt-get install -y gimagereader
b)第二个应用是VietOCR。实际版本为4.0,因此请下载VietOCR-4.0.zip
解压缩文件并通过Java打开VietOCR.jar:
通过Java打开VietOCR 如果未安装Java,则可以从存储库中安装它,也可以安装正式的Oracle Java8。在Ubuntu 14.04中安装Oracle Java 8的步骤。
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default
我建议您使用VietOCR,因为它允许您将OCR转换为pdf文件,批量转换也是一种选择。