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