スキャンしたドキュメントからテキストを抽出する


10

スキャンしたドキュメントからテキストを選択する方法はありますか?(出力はjpgです)Ubuntuはそのようなタスクを実行するためにどのようなツールを提供していますか?ビルド前のソフトウェアバイナリの代わりに使用できるライブラリはありますか?Imagemagickを使用して.pdfに変換してから、テキストを選択しようとしましたが、明らかに機能しませんでした。

回答:


9

このタイプの手順の名前はOCR(光学式文字認識)です。このリンクには、いくつかの選択肢もあります。

gocr-コマンドラインOCR
fuzzyocr-画像の添付ファイルをチェックするspamassassinプラグイン
libhocr0-ヘブライ語OCR
ocrad-光学式文字認識プログラム
ocrfeeder-文書レイアウト分析および光学式文字認識システム
ocropus-ドキュメント分析およびOCRシステム
tesseract-ocr
cuneiform-多言語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フィーダーの名前を見たことがあります。試してみます。


2

Tesseract-ocrパッケージはコマンドラインです。GUIを備えたプログラムが必要な場合は、「gscan2pdf」を使用します。これは、Ubuntuソフトウェアセンターで見つけることができます。

gscan2pdfでは、上部にある小さなスキャンアイコンをクリックするだけで済みます。私はそれがあなたに2つまたは3つの選択肢を与えると思います、GOCRは非常に良くありません、そしてTesseractは見事に機能します。Tesseractを選択し、この時点から適切なタブをクリックして、解像度設定を見つける必要があります。あなたの最善の策は300または600であり、テッセラクトはうまくいきます。

スキャン不良、曲がり、または古いドキュメントはうまく変換されません。幸運を!

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追加のパッケージをインストールすることで、他の言語を追加できます。このスクリーンショットは、synapticからのものです 。SynapticのTesseract言語パッケージ

Tesseractの使用

オプション1-コマンドラインでターミナルを開き、画像ファイル(jpg、png)を保持するフォルダーに移動して、コマンドを実行します。

a)すべての画像ファイルをテキストに変換する

for i in *png; do b=`basename "$i" .png`; tesseract -l eng "$i" "$b" text; done

すべてのテキストファイルを1つにマージするには、コマンドを実行します 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)2番目のアプリケーションはVietOCRです。実際のバージョンは4.0なので、VietOCR-4.0.zipをダウンロードします

ファイルを解凍し、JavaでVietOCR.jarを開きます。

JavaでVietOCRを開く Javaがインストールされていない場合は、リポジトリからインストールするか、公式のOracle Java 8をインストールできます。Ubuntu14.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をお勧めします。PDFファイルをOCRできるため、一括変換もオプションです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.