PDF出力
OCR
GoogleCloudVisionAPI
9
どのような問題がありますか?

この記事は最終更新日から3年以上が経過しています。

投稿日

更新日

Google Cloud VisionのOCR結果を用いた検索可能pdfの作成

Google Cloud VisionのOCR結果(jsonファイル)にはテキストの読取結果とともに画像内での文字の座標が含まれている。

gcv2hocrは、このjsonファイルをhocr形式に変換する。

hocrファイルと元の画像ファイルをhocr-pdf(hocr toolsに含まれる)で処理すると検索可能なpdfが得られる。

この方法で戦前・戦中期の日本のカメラ広告を電子化し、下記で公開している。

縦書き、横書き、旧かな、旧漢字が混在した広告もある程度読み取ることができる。市販のOCRソフトウエアと比較しても読取精度は高いと感じる。

活字ばかりでなく、広告中のロゴタイプも読み取れることがある。

右行頭の横書きでは、語順が逆転する。

複数のスキャン画像から一つの検索可能なpdfを作成するためのシェルスクリプトの例を下記に示す。

a=1
while [ $a -le 32 ]
do
    if [ $a -le 9 ] ; then
       number="00"$a
    fi

    if [ $a -ge 10 -a $a -le 99 ] ; then
       number="0"$a
    fi

    if [ $a -ge 100 ] ; then
       number=$a
    fi

    echo "Google OCR page$number.jpg"
    sh ./gcvocr.sh page$number.jpg [Your API Key]

    echo "Convert page$number.hocr"
    ./gcv2hocr page$number.jpg.json page$number.hocr

    a=`expr $a + 1`
done

echo "Generating out.pdf"
python hocr-pdf ./ > out0.pdf

echo "Reducing pdf size"
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default -dNOPAUSE -dQUIET -dBATCH -sOutputFile=out.pdf out0.pdf

gcvocr.shは画像をGoogle Cloud Visionにアップロードし、jsonファイルを得るためのシェルスクリプト。
pdf作成後にghostscriptを用いてファイルサイズを縮小している。

ユーザー登録して、Qiitaをもっと便利に使ってみませんか。
  1. あなたにマッチした記事をお届けします
    ユーザーやタグをフォローすることで、あなたが興味を持つ技術分野の情報をまとめてキャッチアップできます
  2. 便利な情報をあとで効率的に読み返せます
    気に入った記事を「ストック」することで、あとからすぐに検索できます
ユーザー登録ログイン
dinosauria123

コメント

この記事にコメントはありません。
あなたもコメントしてみませんか :)
ユーザー登録
すでにアカウントを持っている方はログイン
記事投稿イベント開催中
remote.it を使って○○に接続してみた!
~
アルゴリズム強化月間 - 楽しいアルゴリズムの世界を紹介しよう -
~
9
どのような問題がありますか?
ユーザー登録して、Qiitaをもっと便利に使ってみませんか

この機能を利用するにはログインする必要があります。ログインするとさらに下記の機能が使えます。

  1. ユーザーやタグのフォロー機能であなたにマッチした記事をお届け
  2. ストック機能で便利な情報を後から効率的に読み返せる
ユーザー登録ログイン
ストックするカテゴリー