OCRを使用し,読み取り精度を確認してみます。UbuntuでOCR?「日本語でOCR」と聞くと,プロプライエタリの牙城というか,高価なソフトを購入しないと実用に耐えないというイメージがあるかもしれません。しれませんが,いずれにせよ日本語の文字は難しいのでOCRで高い精度を出すのはなかなか難しそうに思えます。少なくとも筆者はそう考えていたので,OCRで高精度の結果を出すのは困難,ましてやオープンソースで......と考えていました。OCRのバージョン4.0以降では日本語でもかなりの高精度で認識するという話を小耳に挟みました。実際に試してみると想定していた以上の結果だったので,ここで紹介することにします。OCRはOCRエンジンのみです。コマンドラインのフロントエンドも用意されていますが,やはりGUIフロントエンドがほしいところです。OCR自体がマルチプラットフォームであることもあり,たくさんのGUIフロントエンドが開発されています。そのなかで現在も継続して開発が進んでおり,かつUbuntuのリポジトリにあるものということでgImageReaderを選択しました。OCRの精度を確認することを主旨としているため,gImageReaderのさまざまな機能には触れません(※1⁠)⁠。Writerの形式(ODT形式)やPDFで保存できたりしますが,一部うまく動かないところもありました。使用するUbuntuは19.04です。OCRのバージョンは4.0のリリース版です。LTSだと4.0の開発版⁠)⁠,同様の結果にならないかもしれません。快適に動作させるにはそれなりのスペックのPCが必要です。逆にいえば,ハードウェアのスペックが高ければ高いほど短時間で処理が行なえます。OCRとそのフロントエンドであるgImageReaderはUbuntuのリポジトリにありますので,これをインストールするだけです。注意点としては言語データが言語ごとに分かれてパッケージングされており,また日本語の場合は日本語(横書き)と縦書き日本語に分かれているため,その両方をインストールします。端末を起動し,次のコマンドを実行してください。Writerを起動してキーボードのd→t→F3を順番に押すと挿入されるダミーテキストを使用することにします。書式はデフォルトだとレイアウトがあまりきれいではないため,第440回を参考に適宜修正しています。続けてこれを画像として保存しますが,「⁠ファイル⁠」⁠-「⁠エクスポート」でPNGやJPEGで保存する方法もありますし,「⁠スクリーンショット」(⁠GNOMEスクリーンショット)を起動して「取得する領域の選択」で文字の部分だけを保存する方法もあります。今回は後者を使用します。図1が実際に使用した画像です。横書きサンプルあまり縦書きのOCRを使用することはないでしょうが,縦書きの画像も用意して試してみることにします。ダミーテキストも縦書きになりますが,こちらはページサイズをA5にしています。図2が実際の画像です。縦書きサンプル読み込みと実行ではgImageReaderを起動し,画像の文字を読み取っていきます。起動はアクティビティから行ってください。昨今あまり見なくなった情報量多めのアイコンが目印です。起動直後のスクリーンショットは図3です。下のほうにスペルチェックがインストールされていない旨の警告が表示されています。again」をクリックします。gImageReaderの起動直後また中央やや右側にフォントが正しく表示されていない(いわゆるトーフ状態)の文字列が見えます。これは実は言語データで,これを元に文字の読み取りが行われるのですが,見にくくて仕方がないので変更します。右にある歯車アイコンをクリックし,さらに「Preference」をクリックします。name」を書き換えます。(縦書⁠)⁠」としました(図5,※2⁠)⁠。※2ただしこの変更は恒久的なものではなく,一度gImageReaderを終了して再起動するとまた元に戻ります。言語データのトーフが直ったこれで準備は完了で,続けて画像を読み込みます。左側のペインにある緑色のアイコンをクリックするとファイルダイアログが表示されるので,読み込ませる画像を選択してください。この状態だと縦書きの言語データが選択されているため,「⁠∨」アイコンをクリックして「日本語[jpn]」に変更します(図6⁠)⁠。mode」に変更します。日本語[jpn](ja)」をクリックします。すると処理が実行され,認識された文字が右ペインに表示されます(図7⁠)⁠。Writerに貼り付けるというのも一つの手です。読み取った結果は右ペインに表示される縦書きも言語データを縦書きのものに変更することを除けばおおむね同じ方法で実行できます。TeamとLibreOffice日本語チームのメンバー。LibreOffice,VirtualBox,Joplin,Budgieデスクトップなどの翻訳を手がける。