从扫描的文档中提取文本


10

有什么方法可以从扫描的文档中选择文本?(输出是jpg)Ubuntu提供了哪些工具来执行此任务?是否可以使用任何库代替预构建的软件二进制文件来完成相同的工作?我尝试使用Imagemagick将其转换为.pdf,然后尝试选择文本,这显然没有用。

Answers:


9

这类过程的名称为OCR(光学字符识别)。该链接还提供了两种选择:

gocr-命令行OCR
Fuzzyocr-spamassassin插件,用于检查图像附件
libhocr0-希伯来语OCR
ocrad-光学字符识别程序
ocrfeeder-文档布局分析和光学字符识别系统
ocropus-文档分析和OCR系统
Tesseract-ocr
楔形文字-多语言OCR系统 

这表明Tesseract(非常古老的教程)是其中的更好选择。所以试试吧。


3

前一阵子评估了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这个名字,请尝试一下。


2

Tesseract-ocr软件包是命令行。如果您想要带有GUI的程序,我可以使用“ gscan2pdf”,您可以在Ubuntu软件中心找到它。

在gscan2pdf中,您所需要做的就是单击顶部附近的小扫描图标。我认为它为您提供了两个或三个选项,GOCR效果不是很好,而Tesseract效果很好。选择Tesseract,从这一点开始,您需要单击适当的选项卡,以便可以找到分辨率设置。您最好的选择是300甚至600,Tesseract会做得很好。

扫描不良,歪斜或旧文档转换得不好。祝好运!

PS ..我一直在阅读,Tesseract只能读取TIFF图像。对我来说不是这种情况。我也可以导入JPG或PNG。

PPS ...抱歉!您也可以在软件中心尝试OCRFeeder。我还没有尝试过。



0

我有Linux Mint 17.2 x32 Cinnamon。这些步骤可能也可以在Ubuntu 14.04 x32中使用。

  1. 安装Tesseract OCR sudo apt-get install -y tesseract-ocr tesseract-ocr-eng您可以通过安装其他软件包来添加其他语言。该屏幕快照来自SynapticSynaptic中的Tesseract语言包

使用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文件,批量转换也是一种选择。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.