フリーソフトを用いた納品書画像の処理(2)長谷川 浩史大阪公立大学 杉本キャンパス 納品検収センター

１．はじめに筆者は、納品検収センターで検収業務を担当しながら事務のペーパーレス化を図っている。ペーパーレス化（システム）は 5 年前に提案し、1 昨年は、acrobat reader の注釈機能を用いて、納品書（画像）の高速検索と集計を行わせる機能を追加した。この機能は高度であるが、納品書へのテキストの付加に少し負担が存在している。この負担を軽減するために、納品書の自動読取りシステムの構築に取り組ん
でいる１）２）。構築には、画像からの文字の抽出（文字認識）、文字の検索、検索された文字が画像化されている納品書の指定等の機能が必要になる。文字認識には Tesseract を用いているが、認識精度を高めるために、画像にいくつかの制約を設けることも必要と考えている。その制約の一つとして、納品書の構成要素は文字のみであり、要素の重なりはないものとしている。この条件を満たすために、画像から文字以外の要素である印影や罫線等を抽出し消去する必要がある。又、印影抽出は、要素の重なりをなくする以外に、社名認識への利用の可能性も持つ。検収済印の場合は、押印忘れのチェックや抽出数をカウントすることにより、検収数の集計への利用の可能性も考えられることから備えたい機能である。本
報告では、これらの機能を実現するために、検討しているフリーソフトの適用について述べる。
２．ペーパーレス化
ペーパーレス化とは、紙媒体の利用に代わり電子メディアの利用を図ることである。本センターでは、主として納品書の電子メディアへの複写を行っている。複写は、複合機（FUJI Xerox ApeosPort-ⅦC3373）のスキャナー機能を用いて行い、TIFF ファイルとして複合機内に保存する（親展ボックス）。そして、センター内のパソコンに取込み、課の共有メモリに格納する。検収は、大抵、センター内で行っているが、容量や重量の大きなものは、出向いて行う場合がある。その場合は、デジタルカメラで納品書等を撮像（JPEG）し、利用している。
３．ファイル変換、高速検索と集計
TIFF と JPEG のファイルは、これまでの互換性を考慮して PDF に変換する（XnConvert を利用）
。JPEGのカラー画像は、グレースケールに変換する（JTrim の一括変換を利用）。それから A4 サイズに調整し（Pixllion の無償版を利用）、PDF に変換する。PDF ファイルは、圧縮（Reduce PDF Size を利用）し、結合する（CubePdfPage を利用）
。そして、納品書にはほとんど使われていないと思われる記号、ここでは、†（短剣符）と納品先、業者名等を acrobat reader の注釈機能を用いてファイルに付加する。これをメニュー「編集」の「高度な検索」を用いて検索する。検索語句を†とすると検索数が集計になる。因みに、ファイル変換に用いる 5 個のフォルダー内のテンポラリファイルは、フリーソフトの TaskShl(タスクシュレッダー)で変換後一括して消去している。
４．Tesseract と Tresgrep を用いたテキストの抽出と検索2 で述べた複合機は、原稿送り装置に複数枚の納品書をセットし、連続してスキャンさせると、マルチページの TIFF 画像ファイルを生成する。それで、ページ毎のファイルに分割し（Xnconvert を利用）、1 ファイル=1 画像としている。親展ボックス毎の画像のファイル名は、日時、親展ボックス名、連番を付けた名前に、リネームする(Namery を利用)。そして、次のコマンドからなるバッチファイル（拡張子.bat）を実行すると、
for %fname in (*.tif) do (tesseract.exe %fname %~nfname -l jpn txt)
リネームされた拡張子.tif の画像は、順次、変数 fname にファイル名（拡張子付き）が読み込まれ、tesseract.exe で処理され、認識された文字は、テキスト形式で、画像と同じ名前のファイルに出力される。
このテキストファイルから納品先等の文字列を検索する。検索には、TresGrep を利用する。TresGrep 起
動後の基本画面で、検索する文字列を「ファイル名絞込」欄の下に入力し、「検索実行」ボタンをクリッ

クすると「マッチした箇所」欄にファイル名、行、列、文字列等のリストが表示される。
「外部ビューア起動ボタン」、「エクスプローラで選択」をクリックすると、検索されたテキストファイルが指定されてくる。このファイルが属するフォルダーには、拡張子が異なる同じ名前の画像ファイルが存在する。エ
クスプローラを名前昇順か降順にセットしておくと、テキストファイルの近傍に画像ファイルが表示されることを利用して画像を指定する。
５．OpenCV（Open Source Computer Vision Library）を用いた納品書画像の処理
Tesseract は、高度な文字認識の能力を備えたプログラムであるが、認識精度を高めるためには、処理する画像への制約も検討する必要がある。制約として、1）画像は傾きや位置ずれが少ない。2)納品書の構成要素は文字だけである。3）構成要素の重なりはない。等を検討している。実現のために、1）は、納品書の複合機へのセット時に意識すること。2）、3）では、文字以外の構成要素を抽出し消去すること。
等が必要になる。3）は、印影や手書き文字で発生することが多くなる。印影抽出は、この重なりをなくする以外にも、1 で述べたような機能の実現の可能性を持ち重要である。抽出には、画像処理技術が必要で、本報告では、フリーソフトの OpenCV を利用する。OpenCV は、Intel 社で開発された画像処理ライブラリであり、コンパイラ等の統合開発環境(IDE)には、フリーソフトの Visual Studio Community を用いる。
５．１ 印影の抽出
印影は朱色でなくても良くなっているが、本センターでは朱肉（油性顔料）を使用していることから朱色であるとして、画像からこの色の領域を抽出する。色抽出には、RGB（OpenCV では BGR）を用いる手法と、HSV（H は色相、S は彩度、V は明度を示す）を用いる手法がある。C++言語と OpenCV を用いた抽出プログラムは、処理する画像を読み込み（imread 関数）、BGR、又は、HSV の各々の最大値と最小値を定め、この範疇にある画素を抽出する（inRange 関数）。HSV を用いる場合は、BGR からの変換が必要である（cvtColor 関数）。そして、結果を表示し（imshow 関数）、必要ならばファイルに出力（imwrite 関数）する。図 1 は原画（320×300 画素）を、図 2 は HSV 値を用い、160 ≤H≤ 180、50 ≤𝑆 ≤255、50 ≤ 𝑉 ≤ 255とした場合の処理結果を示す。
６．おわりにペーパーレス化とフリーソフトを用いた納品書画像の処理について述べた。朱色以外の印影の抽出を検討する必要がある。又、抽出した色の領域からの文字や印影の認識等を検討する必要がある。
参考文献
[1]

長谷川浩史：”ペーパーレス化と高速検索と自動読取り”、令和 3 年度機器・分析技術研究会 in 山口宇部オンライン発表予稿集、pp48-49、2021[2]

長谷川浩史：“フリーソフトを用いた納品書画像の処理”、2022 年度機器・分析技術研究会報告集、P-29

図 1 原画

図 2 処理結果