LoginSignup
5
10

More than 5 years have passed since last update.

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

Last updated at Posted at 2017-08-31

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を用いてファイルサイズを縮小している。

5
10
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
10