説明

制御装置及びコンピュータプログラム

【課題】読み取られた原稿上の読取画像に対応して、異なるファイル形式のファイルを生成可能な制御装置及びコンピュータプログラムを提供することを目的とする。
【解決手段】原稿を読み取る読取部を制御するための制御装置である。制御装置では、読取部で読み取られた原稿上の読取画像の中から、複数のセル画像を行と列とに並べて構成されるテーブル画像が特定される(S110)。テーブル画像が特定された場合(S110:Yes)、第一のファイル形式にて、読取画像に対応する第一のファイルが生成される(S114、S116、S124)。テーブル画像が特定されなかった場合(S110:No)、第一のファイル形式とはファイル形式が異なる第二のファイル形式にて、読取画像に対応し、第一のファイルとは異なる第二のファイルが生成される(S118、S124)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置と、制御装置のためのコンピュータプログラムとに関する。
【背景技術】
【0002】
従来より、OCRソフトウェアウエアに関する技術が提案されている。特許文献1のOCRソフトウェアウエアでは、表原稿をスキャンし、縦線と横線を認識することで表を認識し、表作成ソフトフォーマットの電子ファイルが作成される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−282095号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、上述した従来の技術は、例えば表作成フォーマットのような単一のファイル形式で電子ファイルを作成するための技術に過ぎない。
【0005】
本発明は、読み取られた原稿上の読取画像に対応して、異なるファイル形式のファイルを生成可能な制御装置及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記従来の課題に鑑みなされた本発明の一側面は、原稿を読み取る読取部を制御するための制御装置であって、前記読取部で読み取られた原稿上の読取画像の中から、複数のセル画像を行と列とに並べて構成されるテーブル画像を特定する特定部と、前記特定部で前記テーブル画像が特定された場合、第一のファイル形式にて、前記読取画像に対応する第一のファイルを生成し、前記特定部で前記テーブル画像が特定されなかった場合、前記第一のファイル形式とはファイル形式が異なる第二のファイル形式にて、前記読取画像に対応し、前記第一のファイルとは異なる第二のファイルを生成する生成部と、を備える、制御装置である。これによれば、原稿上の読取画像の中から、テーブル画像が特定されたか否かに応じて、異なるファイル形式のファイルを生成することができる。
【0007】
この制御装置は、次のような構成とすることもできる。すなわち、前記第一のファイル形式は、複数のセル領域を行と列とに並べて構成されるテーブル構造を含むファイル形式であって、前記生成部は、前記複数のセル画像が、それぞれ対応する前記複数のセル領域内に配置された、前記第一のファイル形式の前記第一のファイルを生成する、ようにしてもよい。これによれば、読取画像の中にテーブル画像が特定された場合、テーブル画像に対応した形式のテーブル構造を含む、利便性の高い第一のファイル形式の第一のファイルを生成することができる。
【0008】
また、前記特定部で特定された前記テーブル画像が、所定の面積より大きいか否かを判断する面積判断部を、さらに備え、前記生成部は、前記面積判断部にて、特定された前記テーブル画像が所定の面積より大きいと判断された場合、第一種の第一のファイル形式にて、第一種の第一のファイルを生成し、前記面積判断部にて、特定された前記テーブル画像が所定の面積より小さいと判断された場合、前記第一種の第一のファイル形式とはファイル形式が異なる第二種の第一のファイル形式にて、前記第一種の第一のファイルとは異なる第二種の第一のファイルを生成する、ようにしてもよい。これによれば、第一のファイル形式の第一のファイルを、テーブル画像の面積に応じて、異なるファイル形式にて出力することができる。このとき、テーブル画像の面積に応じた適切なファイル形式を選択することができる。
【0009】
また、前記第一のファイル形式は、複数のセル領域を行と列とに並べて構成されるテーブル構造を含むファイル形式であって、前記生成部は、前記特定部で前記テーブル画像が特定された場合、前記複数のセル画像を、それぞれ別のイメージデータとして生成し、生成された複数のイメージデータが、それぞれ対応する前記複数のセル領域内に配置された、前記第一のファイル形式の前記第一のファイルを生成する、ようにしてもよい。これによれば、複数のセル画像をイメージデータとして取り扱うため、生成時の処理を好適に行うことができる。
【0010】
また、前記第一のファイル形式は、複数のセル領域を行と列とに並べて構成されるテーブル構造を含むファイル形式であって、前記特定部で特定された前記テーブル画像の前記セル画像が、文字であるか否かを判断する文字判断部を、さらに備え、前記生成部は、前記文字判断部にて、特定された前記テーブル画像の前記セル画像が、文字であると判断された場合、前記セル画像をテキストデータとして生成し、生成されたテキストデータが、対応する前記セル領域内に配置された、前記第一のファイル形式の前記第一のファイルを生成し、前記文字判断部にて、特定された前記テーブル画像に含まれるセル画像が、文字ではないと判断された場合、前記セル画像をイメージデータとして生成し、生成されたイメージデータが、対応する前記セル領域内に配置された、前記第一のファイル形式の前記第一のファイルを生成する、ようにしてもよい。これによれば、セル画像が文字と判断される場合、テキストデータがセル領域内に配置された第一のファイル形式の第一のファイルを生成することができる。そのため、第一のファイル形式の第一のファイルを利便性の高いファイルとすることができる。
【0011】
また、前記特定部で特定された前記テーブル画像の前記セル画像の中で、略同色で表される最も広い領域を判断する領域判断部を、さらに備え、前記生成部は、前記特定部で前記テーブル画像が特定された場合、複数のセル領域を行と列とに並べて構成されるテーブル構造を含み、前記略同色に基づき決定する色が前記セル領域内の背景色として設定された、前記第一のファイル形式の前記第一のファイルを生成する、ようにしてもよい。これによれば、セル領域の背景色が、テーブル画像のセル画像の色に基づき好適に設定された第一のファイル形式の第一のファイルを生成することができる。
【0012】
また、前記生成部は、前記読取部で複数枚の原稿が読み取られる場合、前記特定部にて1枚目に読み取られた原稿に対応する読取画像の中から前記テーブル画像が特定されたことを条件に、前記第一のファイル形式を決定し、且つ決定した前記第一のファイル形式にて、前記複数枚の原稿にそれぞれ対応する複数の読取画像に対応する第一のファイルを生成し、前記特定部にて1枚目に読み取られた原稿に対応する読取画像の中から前記テーブル画像が特定されなかったことを条件に、前記第二のファイル形式を決定し、且つ決定した前記第二のファイル形式にて、前記複数枚の原稿にそれぞれ対応する複数の読取画像に対応する第二のファイルを生成する、ようにしてもよい。これによれば、複数枚の原稿が読み取られる場合において、複数枚の原稿にそれぞれ対応する複数の読取画像に対応する1つのファイルを生成することができる。
【0013】
なお、上記の制御装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータが読取可能な記録媒体も、新規で有用である。
【発明の効果】
【0014】
本発明によれば、読み取られた原稿上の読取画像に対応して、異なるファイル形式のファイルを生成可能な制御装置及びコンピュータプログラムを得ることができる。
【図面の簡単な説明】
【0015】
【図1】システムの構成の一例を示す図であって、システムに含まれるスキャナ装置及び情報処理装置のハードウェア構成の一例を示すブロック図である。
【図2】メイン処理のフローチャートである。
【図3】紙面に対する表(テーブル画像)の大きさが50%以上である原稿上の読取画像の一例を示す図である。
【図4】紙面に対して表(テーブル画像)の大きさが50%未満である原稿上の読取画像の一例を示す図である。
【図5】第一実施例に係るスキャン中間データ生成処理のフローチャートである。
【図6】第二実施例に係るスキャン中間データ生成処理のフローチャート(その1)である。
【図7】第二実施例に係るスキャン中間データ生成処理のフローチャート(その2)である。
【発明を実施するための形態】
【0016】
本発明を実施するための実施形態について、図面を用いて説明する。本発明は、以下に記載の構成に限定されるものではなく、同一の技術的思想において種々の構成を採用することができる。例えば、以下に示す構成の一部は、省略し又は他の構成等に置換してもよい。また、他の構成を含むようにしてもよい。
【0017】
<システムの概要>
本実施形態におけるシステム10は、スキャナ装置20と、情報処理装置60とを含む。スキャナ装置20と情報処理装置60とは、通信ケーブル90にてデータ通信可能に接続されている。なお、各装置間の接続は、どのような形態であってもよい。例えば、各装置は、USB接続される場合は、通信ケーブル90が、USBケーブルで構成される。また、各装置は、ネットワーク接続される場合は、通信ケーブル90が、LANケーブルで構成される。なお、各装置は、無線接続されてもよい。この場合、通信ケーブル90は、省略される。スキャナ装置20は、原稿をスキャンし(読み取り)、スキャンされた原稿上の読取画像に対応するファイル(電子ファイル)を生成する。情報処理装置60は、例えば、パーソナルコンピュータである。
【0018】
詳細は後述するが、スキャナ装置20では、スキャンされた原稿上の読取画像に対応した、各種のファイル形式のファイルが生成される。例えば、スキャナ装置20では、表計算用のアプリケーションソフトウェアで取り扱われる形式のファイルが生成される。以下では、表計算用のアプリケーションソフトウェアを、「表計算ソフト」という。表計算ソフトで取り扱われるファイルの形式(ファイルフォーマット)を、「表計算フォーマット」といい、表計算フォーマットのファイルを、「表計算ファイル」という。表計算フォーマットは、ワークシートと称される単位で区切られたデータ構造を有する。すなわち、表計算ファイルは、少なくとも1つのワークシートにて構成されている。各ワークシートは、複数のセル領域を行と列に並べて構成される。なお、表計算ソフトとしては、例えば、マイクロソフト社製の「エクセル」が例示される。
【0019】
また、スキャナ装置20では、文書作成用のアプリケーションで取り扱われる形式のファイルが生成可能である。以下では、文書作成用のアプリケーションソフトウェアを、「ワープロソフト」という。ワープロソフトで取り扱われるファイルの形式を、「ワープロフォーマット」といい、ワープロフォーマットのファイルを、「ワープロファイル」という。ワープロフォーマットは、ページ単位で区切られたデータ構造を有する。すなわち、ワープロファイルは、少なくとも1ページ分のデータによって構成される。なお、ワープロソフトとしては、例えば、マイクロソフト社製の「ワード」が例示される。ワープロソフトでは、上述したような構成の表等を、ページ中に挿入することができる。
【0020】
さらに、スキャナ装置20では、例えば、TIFF(Tagged Image File Format)形式やPDF(Portable Document Format)形式等のファイル、及び、ビットマップ形式やJPEG形式であるイメージファイルが生成可能である。TIFF形式及びPDF形式のような形式は、ページ単位で区切られたデータ構造を有する。すなわち、このような形式は、少なくとも1ページ分のデータによって構成される。なお、以下では、イメージファイルについて、PDFファイルを例に説明することとし、そのファイル形式を、PDFフォーマットという。
【0021】
本実施形態では、表計算ファイル、ワープロファイル及びイメージファイルは、全て、スキャナ装置20でスキャンされた原稿上の読取画像に対応するファイルであるから、これらファイルは、総称すると、例えば画像ファイル(読取画像ファイル)ということもできる。なお、通常、上述したビットマップ形式等のイメージファイルを、画像ファイルと称することもある。しかし、スキャンされた原稿上の読取画像に対応する本実施形態の画像ファイルは、通常の画像ファイルより、広い意味を有する。
【0022】
<スキャナ装置のハードウェア構成>
スキャナ装置20は、例えば、図1に示すように、CPU22と、ROM24と、RAM26と、記憶部28と、読取部30と、表示部32と、操作部34と、接続インターフェース(以下、「接続I/F」という。)36とを備える。これら各部22〜36は、バスライン38に接続されている。
【0023】
CPU22は、演算処理を実行する。ROM24は、コンピュータプログラムを記憶する。ROM24に記憶されたコンピュータプログラムには、例えば、後述する図2に示すメイン処理と、図5、又は、図6及び図7とに示すスキャン中間データ生成処理とのためのコンピュータプログラムが含まれる。RAM26は、CPU22がコンピュータプログラムを実行する際に利用される記憶領域となる。CPU22は、ROM24に記憶されたコンピュータプログラムを、RAM26上で実行する等して、スキャナ装置20を制御する。これによって、スキャナ装置20では、各種の処理及び機能が実現される。
【0024】
記憶部28は、フラッシュメモリ等によって構成され、例えば、スキャナ装置20で生成された最終ファイル(後述する図2のS124参照)としての画像ファイル等を記憶する。読取部30は、CIS(Contact Image Sensor)、CCD(Charge Coupled Devices)等のスキャン機構を備える。読取部30は、原稿をスキャンする(読み取る)。表示部32は、LCD等によって構成され、各種の情報(画像)を表示する。操作部34は、複数のキーによって構成される。ユーザは、操作部34を構成する所定のキーを操作する等して、スキャナ装置20に所定の指令を入力する。接続I/F36は、USB接続等のローカル接続I/F及びネットワークI/Fで構成される。接続I/F36は、接続形態が有線接続である場合、通信ケーブル90を接続するための接続口を備え、同じく通信ケーブル90が接続された情報処理装置60との間で、データ通信を行う。
【0025】
<情報処理装置のハードウェア構成>
情報処理装置60は、例えば、図1に示すように、CPU62と、ROM64と、RAM66と、記憶部68と、表示部70と、操作部72と、接続I/F74とを備える。これら各部62〜74は、バスライン76に接続されている。
【0026】
CPU62、ROM64及びRAM66は、上述したスキャナ装置20が備えるCPU22、ROM24及びRAM26と同様の構成である。そのため、これら各部62,64,66の構成に関する説明は省略する。記憶部68は、例えばハードディスクによって構成され、情報処理装置60において実行される処理のためのコンピュータプログラムを記憶する。記憶部68には、例えば、後述する図2のメイン処理で生成された、表計算ファイルのための表計算ソフトと、ワープロファイルのためのワープロソフトと、PDFファイルのためのビューワソフトとがインストールされている。また、記憶部68には、スキャナ装置20を動作・制御するためのドライバプログラムがインストールされている。なお、後述する「変形例(1)」の構成が採用される場合、記憶部68には、後述する図2と、図5、又は、図6及び図7とに示す各処理のためのコンピュータプログラムが記憶される。CPU62は、記憶部68に記憶されたコンピュータプログラムを、RAM66上で実行する等して、情報処理装置60を制御する。これによって、情報処理装置60では、各種の処理及び機能が実現される。
【0027】
表示部70は、例えばLCDによって構成され、各種の情報(画像)を表示する。操作部72は、キーボード及びマウス等によって構成される。ユーザは、操作部72を操作する等して、情報処理装置60に所定の指令を入力する。接続I/F74は、スキャナ装置20が備える接続I/F36と同様の構成である。そのため、接続I/F74に関する説明は省略する。
【0028】
<メイン処理>
スキャナ装置20において実行されるメイン処理について、図2等を参照して説明する。メイン処理は、例えば、ユーザが操作部34を操作し、メイン処理の開始を指示したときに開始される。この他、メイン処理は、接続I/F36を介して、情報処理装置60から、メイン処理の開始のための指令が入力されたときに開始されるようにしてもよい。メイン処理を開始したCPU22は、読取部30を制御し、スキャナ装置20にセットされた原稿のスキャンを実行する(S100)。続けて、CPU22は、今回のスキャンが、スキャナ装置20にセットされた1枚目の原稿を対象としたものであるかについて判断する(S102)。
【0029】
1枚目の原稿のスキャンである場合(S102:Yes)、CPU22は、S100でスキャンされた原稿上の読取画像を対象として、読取画像を示すイメージデータを画像解析し、読取画像から直線を検出する。イメージデータの形式としては、ビットマップデータ等が例示される。その後、CPU22は、S104で直線を検出したかについて判断する(S106)。直線が検出された場合(S106:Yes)、CPU22は、検出された直線が、表(テーブル画像)を構成しているかを判定する(S108)。続けて、CPU22は、S108の判定によって、表が検出されたかについて判断する(S110)。
【0030】
S108でCPU22は、例えば、第一方向(図3及び図4に基づけば、表の「行」の方向)に延在する複数の直線102と、第一方向と交差(直交)する第二方向(図3及び図4に基づけば、表の「列」の方向)に延在する複数の直線104とが、S104で検出されているかを特定する。各方向のそれぞれにおいて、例えば、図3及び図4に示すように、複数の直線102,104が特定される場合、CPU22は、さらに、読取画像のイメージデータを画像解析し、第一方向の複数の直線102と、第二方向の複数の直線104とが、交差し、これによって複数のセル画像が「行」と「列」とに並べられた構成が検出されるかを特定する。
【0031】
複数のセル画像が「行」と「列」とに並べられた構成が特定された場合、CPU22は、表が検出されたとして、S110の判断を肯定する(S110:Yes)。例えば、スキャンされた原稿上の読取画像が、図3及び図4のような場合、S110の判断は、肯定される(S110:Yes)。図3の読取画像において、セル画像は、項目名として「名前」「連絡先」及び「住所」が記載された領域と、各項目に対応した情報が、それぞれ記載された四角枠領域である。図3では、39個(13行×3列)のセル画像が含まれる。図4の読取画像において、セル画像は、未記入の9個(3行×3列)の四角枠領域である。
【0032】
これに対して、複数のセル画像が「行」と「列」とに並べられた構成が検出されない場合、CPU22は、表が検出されないとして、S110の判断を否定する(S110:No)。なお、CPU22は、第一方向の複数の直線102、又は、第二方向の複数の直線104が検出されない場合も、S110の判断を否定する(S110:No)。
【0033】
S110の判断が肯定された場合(S110:Yes)、CPU22は、紙面の全体に対して、検出された表の大きさが50%以上であるかについて判断する(S112)。なお、S112の判断は、検出された表の大きさ(面積又は画素数(横幅×高さ))が、予め定めた基準値より大きいか否かに従って判断するようにしてもよい。そのような場合、具体的には、検出された表の大きさ(面積又は画素数)が、基準値以上である場合、S112の判断を肯定し(S112:Yes)、基準値未満である場合、S112の判断を否定する(S112:No)。
【0034】
S112の判断について、図3に示すような読取画像であった場合、紙面に対する表の大きさは50%以上である。そのため、CPU22は、S112の判断を肯定する(S112:Yes)。なお、図3において、図示された破線は、後述する説明のためのものであって、読取画像を構成するものではない(図4において同じ)。また、破線で囲まれた太線は、文字が記述されていることを示すものである(図4において同じ)。続けて、CPU22は、スキャン中間データ生成処理を実行する(S114)。S114で実行されるスキャン中間データ生成処理では、表計算フォーマットに対応するスキャン中間データが生成される。スキャン中間データ生成処理については、後述する。S114を実行した後、CPU22は、処理をS120に移行する。
【0035】
図4に示すような読取画像であった場合、紙面に対する表の大きさは50%未満である。そのため、CPU22は、S112の判断を否定する(S112:No)。続けて、CPU22は、スキャン中間データ生成処理を実行する(S116)。S116で実行されるスキャン中間データ生成処理では、ワープロフォーマットに対応するスキャン中間データが生成される。スキャン中間データ生成処理については、後述する。S116を実行した後、CPU22は、処理をS120に移行する。
【0036】
説明を前述したS106及びS110に戻す。S106の判断が否定された場合(S106:No)、又は、S110の判断が否定された場合(S110:No)、CPU22は、今回のスキャン(S100参照)でスキャンされた読取画像を示すイメージデータを、PDFフォーマットに対応するスキャン中間データを生成する(S118)。生成されたスキャン中間データは、RAM26上の所定の領域に出力(格納)される。S118を実行した後、CPU22は、処理をS120に移行する。
【0037】
S120でCPU22は、スキャナ装置20に、スキャン対象となる次の原稿がセットされているかについて判断する(S120)。S120の判断は、スキャナ装置20が備えるセットされた原稿を検出するためのセンサ(不図示)による検出に従い行われる。次の原稿が検出された場合、CPU22は、次の原稿があると判断し(S120:Yes)、処理をS100に戻し、スキャナ装置20にセットされた次の原稿をスキャンする(S100)。
【0038】
処理をS100に戻し、再度、S100を実行したCPU22は、上述したS102を実行する。この場合、今回のスキャンは、スキャナ装置20にセットされた2枚目以降の原稿を対象としたものであるため、CPU22は、S102の判断を否定する(S102:No)。続けて、CPU22は、1枚目の原稿をスキャンした際、生成済みのスキャン中間データのファイルフォーマットを特定する。また、CPU22は、今回のスキャンされた2枚目以降の原稿上の読取画像を示すイメージデータを、特定されたファイルフォーマットに対応するデータに変換し、変換後のデータを、生成済みのスキャン中間データに追加する(S122)。
【0039】
S102の判断が否定される場合(S102:No)、CPU22は、特定のファイルフォーマットを特定することなく、既に生成されているスキャン中間データと同一のファイルフォーマットを特定する。S122において、イメージデータの変換は、S114、S116又はS118と同様の手順によって行われる。S122を実行した後、CPU22は、処理をS120に移行する。
【0040】
なお、S122では、1枚目の原稿をスキャンした際に特定されたファイルフォーマットが、表計算フォーマット又はワープロフォーマットであると特定された場合、2枚目以降の原稿上の読取画像を示すイメージデータに対してS104〜S110を実行して表が検出されたかについて判断した後、S114又はS116によりスキャン中間データ生成処理を実行して特定されたファイルフォーマットに対応するスキャン中間データを生成し、生成済みのスキャン中間データに追加する。一方、1枚目の原稿をスキャンした際に特定されたファイルフォーマットが、PDFフォーマットであると特定された場合、S104〜S110を実行することなく表が検出されたかについて判断せず、S118によりPDFフォーマットに対応するスキャン中間データを生成し、生成済みのスキャン中間データに追加する。
【0041】
説明をS120に戻し、スキャナ装置20にセットされた原稿が全てスキャンされる等して、次の原稿がない場合(S120:No)、CPU22は、RAM26上に出力された少なくとも1枚の原稿上の読取画像に対応したスキャン中間データを、1枚目の原稿をスキャンした際に特定されたファイルフォーマットの最終ファイルに変換する(S124)。その後、S124でCPU22は、変換された、最終ファイルとしての、表計算ファイル、ワープロファイル又はPDFファイルを、記憶部28に保存(記憶)する。S124を実行した後、CPU22は、メイン処理を終了する。
【0042】
S124で生成される最終ファイルについて、具体的に説明する。先ず、S114が実行されていた場合、CPU22は、表計算フォーマットに対応するスキャン中間データを、表計算ファイルに変換する。複数枚の原稿がスキャンされていた場合、1つの表計算ファイルにおいて、スキャンされた原稿上の読取画像は、それぞれ、複数のワークシート毎に分割された状態とされる。また、S116が実行されていた場合、CPU22は、ワープロフォーマットに対応するスキャン中間データを、ワープロファイルに変換する。複数枚の原稿がスキャンされていた場合、1つのワープロファイルにおいて、スキャンされた原稿上の読取画像は、それぞれ、複数のページ毎に分割された状態とされる。さらに、S118が実行されていた場合、CPU22は、PDFフォーマットに対応するスキャン中間データを、PDFファイルに変換する。複数枚の原稿がスキャンされていた場合、1つのPDFファイルにおいて、スキャンされた原稿上の読取画像は、それぞれ、複数のページ毎に分割された状態とされる。
【0043】
なお、メイン処理が、情報処理装置60からの指令に従い開始されていた場合、S124でCPU22は、接続I/F36を介して、表計算ファイル、ワープロファイル又はPDFファイルが、情報処理装置60の記憶部68に記憶されるように制御する。具体的に、CPU22は、表計算ファイル、ワープロファイル又はPDFファイルを、接続I/F36から情報処理装置60に送信する。
【0044】
以上説明したメイン処理によれば、原稿上の読取画像に表が含まれているかについて判断される(S110)、判断の結果、表が含まれている場合(S110:Yes)、紙面に対する表の大きさが判断される(S112)。このような判断によって、読取画像の態様に応じた、適切なファイルフォーマットを特定し、特定されたファイルフォーマットに対応する、読取画像を示すスキャン中間データを生成することができる(S114、S116、S118)。そして、生成されたスキャン中間データから、特定されたファイルフォーマットの最終ファイルを生成することができる(S124)。ユーザは、生成された最終ファイルを、情報処理装置60にインストールされた対応するアプリケーションソフトを用いて、表示、印刷及び/又は編集等することができる。
【0045】
<スキャン中間データ生成処理>
図2等を参照して説明したメイン処理のS114及びS116で実行されるスキャン中間データ処理について、2つの実施例を説明する。ここで、S114で実行されるスキャン中間データ生成処理と、S116で実行されるスキャン中間データ生成処理とは、生成されるスキャン中間データの種類が異なるのみであり、実行される手順については、同様である。すなわち、S114及びS116では、図5に示す実施例1に係るスキャン中間データ生成処理、又は、図6及び図7に示す実施例2に係るスキャン中間データ生成処理の何れかが、それぞれ実行される。なお、スキャン中間データの種類が異なるとは、各ファイルフォーマットにそれぞれ対応した、独自の中間データの形式が存在するという意味である。
【0046】
<実施例1>
図2のS114又はS116の何れかで、図5に示すスキャン中間データ生成処理を開始したCPU22は、読取画像において表が配置された位置に、表を配置したスキャン中間データを生成する(S200)。S200で生成されるスキャン中間データは、スキャン中間データ生成処理が、図2のS114で実行されていた場合、表計算フォーマットに対応する中間データの形式とされ、図2のS116で実行されていた場合、ワープロフォーマットに対応する中間データの形式とされる。また、スキャン中間データに含まれる表は、読取画像に含まれる表を構成するセル画像がそれぞれ配置された位置に対応する位置に、セル領域をそれぞれ配置したテーブル構造を有する。すなわち、読取画像に含まれる表が、複数のセル画像を行と列とに並べて構成される場合、スキャン中間データに含まれる表は、読取画像における表の位置に対応した位置に配置され、且つ読取画像の表と同様、複数のセル領域が行と列とに並べて構成される。なお、この時点において、セル領域は、何も含まない(空欄である)。
【0047】
続けて、CPU22は、読取画像の表を構成する複数のセル画像のうちの1つのセル画像を対象として、セル画像内の画像をイメージデータとして切り出す(S202)。イメージデータの形式としては、ビットマップデータ等が例示される。また、S202でCPU22は、S200で生成したスキャン中間データに含まれる表を構成し、画像を切り出したセル画像に対応するセル領域に、この切り出したイメージデータを配置する。その後、CPU22は、S202が、全てのセル画像を対象として実行されたかについて判断する(S204)。未処理のセル画像がある場合(S204:No)、CPU22は、処理をS202に戻し、未処理のセル画像の1つを対象として、S202を繰り返して実行する。一方、全てのセル画像についてS202の処理が終了していた場合(S204:Yes)、CPU22は、読取画像から、表以外の部分をイメージデータとして切り出し、切り出したイメージデータを、スキャン中間データの対応する位置に配置する(S206)。
【0048】
例えば、図3又は図4に示すような読取画像であった場合、S206でCPU22は、読取画像から、図3又は図4において破線で囲まれた部分をイメージデータとして切り出す。イメージデータの形式としては、ビットマップデータ等が例示される。続けて、CPU22は、読取画像において表以外の破線部分が配置されていた位置に従い、切り出したイメージデータを、スキャン中間データの対応した位置に配置する。なお、読取画像が、表のみを含むような画像、例えば図3の破線部分を含まず、破線部分の上方に図示された表のみを含むような画像であったとする。この場合、表以外の部分は含まれないため、S206では、前述したような処理は実質的に実行されず、CPU22は、そのままS206を終了する。
【0049】
S206が実行され又は終了したことで、図2のメイン処理のS100でスキャンされた原稿上の読取画像を示すスキャン中間データが生成される。スキャン中間データ生成処理が、図2のS114で実行されていた場合、図2のS100でスキャンされた原稿上の読取画像を示す、表計算フォーマットに対応するスキャン中間データが生成される。スキャン中間データ生成処理が、図2のS116で実行されていた場合、図2のS100でスキャンされた原稿上の読取画像を示す、ワープロフォーマットに対応するスキャン中間データが生成される。S206を実行等した後、CPU22は、実施例1に係るスキャン中間データ生成処理を終了し、図3のメイン処理のS120に処理を戻す。
【0050】
以上説明した実施例1に係るスキャン中間データ生成処理によれば、スキャンされた原稿上の読取画像に含まれる表のセル画像内の画像を示すイメージデータを切り出し、対応するセル領域に配置することができる(S202参照)。従って、イメージデータを配置したセル領域で表を構成し、この表を含むスキャン中間データを、適切に生成することができる。
【0051】
<実施例2>
図2のS114又はS116の何れかで、図6及び図7に示すスキャン中間データ生成処理を開始したCPU22は、読取画像において表が配置された位置に、表を配置したスキャン中間データを生成する(S300)。S300は、実施例1に係る図5のS200と同様の処理である。そのため、S300についての説明は、上述した通りであり、省略する。
【0052】
S300を実行した後、CPU22は、読取画像の表を構成する複数のセル画像のうちの1つのセル画像を対象として、セル画像内の画像をイメージデータとして切り出す。イメージデータの形式としては、ビットマップデータ等が例示される。続けて、切り出したイメージデータの色に関するヒストグラムを取得する(S302)。S302において、CPU22は、イメージデータを構成する各画素について、色(階調、色相)を分析する。その後、CPU22は、各画素について分析した結果、取得された色に関してヒストグラムを取得する。ヒストグラムは、例えば、横軸を色の要素とし、縦軸を画素数とする。
【0053】
次に、CPU22は、S302で取得したヒストグラムを分析し、イメージデータから複数色が検出されたかについて判断する(S304)。S304の判断では、色の要素が一定の範囲に含まれる画素については、同一色とみなした取り扱いとするようにしてもよい。例えば、色の要素が、255階調で示される場合、中心から前後5階調の範囲に含まれる色は、同一色とみなしてもよい。以下では、このような構成を採用した場合を例に説明する。S304でCPU22は、S302で取得したヒストグラムにおいて、画素数が高くなる色の要素が1色である又は1色とみなせる場合、S304の判断を否定する(S304:No)。一方、CPU22は、画素数が高くなる色の要素が複数色である場合、S304の判断を肯定する(S304:Yes)。なお、複数色に含まれる各色についても、1色とみなした取り扱いがなされる。
【0054】
S304の判断が否定された場合(S304:No)、CPU22は、S304で分析された1色の色又は1色とみなされた色が、白色であるかについて判断する(S306)。白色であった場合(S306:Yes)、CPU22は、処理をS322に移行する。この場合、CPU22は、後述するS308のように、白色をセル領域の背景色として設定しない。これは、表計算ソフト又はワープロソフトの多くが、通常、背景を白色としているためである。一方、白色ではない場合(S306:No)、白色ではない色を検出し、検出された色を、処理の対象とされているセル画像に対応するセル領域の背景色として設定する(S308)。CPU22は、セル画像内の画像として切り出したイメージデータにおいて、最も広い領域を占める色を、背景色として設定する。S304において1色とみなされた取り扱いがなされていた場合を含め、最も広い領域を占める色は、ヒストグラムにおいて、最も画素数が多くなる特定色である。S308を実行した後、CPU22は、処理をS322に移行する。
【0055】
説明をS304に戻し、S304の判断が肯定された場合(S304:Yes)、CPU22は、S304で分析された1色が黒色(黒色とみなされた場合を含む)と、背景色(1色の背景色とみなされた場合を含む)との2色で構成されているかについて判断する(S310)。黒色を含まない場合、又は、3色以上の色で構成されている場合(S310:No)、CPU22は、処理をS320に移行する。一方、黒色及び背景色の2色で構成されていた場合(S310:Yes)、CPU22は、イメージデータのうち、黒色の部分を画像解析し、黒文字判定処理を実行する(S312)。黒文字判定処理は、黒色と検出された部分が、文字を構成しているか否かを判定するための処理である。
【0056】
S312を実行したCPU22は、黒文字判定処理の結果、黒色の部分が、黒文字であったかについて判断する(S314)。黒色の部分が、黒文字ではなかった場合(S314:No)、CPU22は、処理をS320に移行する。一方、黒色の部分が、黒文字であった場合(S314:Yes)、CPU22は、黒文字とされた部分に対して、OCR(Optical Character Reader)処理を実行し、これによって検出された黒文字を示すテキストデータを、処理の対象とされているセル画像に対応するセル領域に設定する(S316)。
【0057】
続けて、CPU22は、テキストデータを設定した処理の対象であるセル領域に対して、背景色として検出された色を設定する(S318)。CPU22は、セル画像内の画像として切り出したイメージデータにおいて、文字を構成した黒以外で、最も広い領域を占める色を、背景色として設定する。S310において1色とみなされた取り扱いがなされていた場合を含め、最も広い領域を占める色は、ヒストグラムにおいて、最も画素数が多くなる特定色である。なお、背景色として白色が検出されている場合、S306の判断が肯定された場合と同様の処理としてもよい。なお、白色が検出されている場合には、白色とみなされた場合が含まれる。S318を実行した後、CPU22は、処理をS322に移行する。
【0058】
S310の判断が否定され(S310:No)、又は、S314の判断が否定されて(S314:No)、処理をS320に移行させたCPU22は、処理の対象であるセル領域に、S302で切り出したイメージデータを配置する(S320)。S320を実行した後、CPU22は、処理をS322に移行する。
【0059】
S322でCPU22は、読取画像の表を構成する全てのセル画像を対象として、上述した各処理が実行されたかについて判断する(S322)。未処理のセル画像がある場合(S322:No)、CPU22は、処理をS302に戻し、未処理のセル画像を対象として、S302以降の処理を繰り返して実行する。一方、全てのセル画像について上述した各処理が終了していた場合(S322:Yes)、CPU22は、処理を図7のS324に移行する。
【0060】
図7のS324でCPU22は、スキャン中間データに対応するファイルフォーマットが、表計算フォーマットであるかについて判断する。CPU22は、S300で生成したスキャン中間データに従い、この判断を行う。なお、S300で生成されたスキャン中間データに対応するファイルフォーマットは、スキャン中間データ生成処理が、図2のS114で実行されていた場合、表計算フォーマットであり、図2のS116で実行されていた場合、ワープロフォーマットである。
【0061】
スキャン中間データに対応するファイルフォーマットが表計算フォーマットであった場合(S324:Yes)、CPU22は、読取画像から、表以外の部分をイメージデータとして切り出す。イメージデータの形式としては、ビットマップデータ等が例示される。続けて、CPU22は、読取画像において表以外の部分が配置されていた位置に従い、切り出したイメージデータを、スキャン中間データの対応するセル領域に配置する。これによって、図2のS100でスキャンされた原稿上の読取画像を示す、表計算フォーマットに対応するスキャン中間データが生成される。S326は、実施例1に係る図5のS206と同様の処理である。そのため、図3に基づいたS326の具体的な説明は、上記同様であり、省略する。
【0062】
スキャン中間データに対応するファイルフォーマットが表計算フォーマットではなく、ワープロフォーマットであった場合(S324:No)、CPU22は、読取画像から、表以外の部分をイメージデータとして切り出す。イメージデータの形式としては、ビットマップデータ等が例示される。続けて、CPU22は、切り出したイメージデータをOCR処理し、テキストデータを取得する。その後、CPU22は、読取画像において表以外の部分が配置されていた位置に従い、取得したテキストデータを、スキャン中間データの対応する位置に設定する。これによって、図2のS100でスキャンされた原稿上の読取画像を示す、ワープロフォーマットに対応するスキャン中間データが生成される。
【0063】
例えば、図4に示すような読取画像であった場合、S328でCPU22は、読取画像から、図4において破線で囲まれた部分をイメージデータとして切り出し、文字と認識される部分(図4において「報告書」との記述及び文字を示す「太線」の部分)を対象として、OCR処理を実行する。続けて、CPU22は、読取画像において表以外の部分が配置されていた位置に従い、取得したテキストデータを、スキャン中間データの対応する位置に設定する。なお、図4における円グラフの部分は、イメージデータとして切り出され、スキャン中間データの対応する位置に配置される。S326又はS328を実行した後、CPU22は、実施例2に係るスキャン中間データ生成処理を終了し、図3のメイン処理のS120に処理を戻す。
【0064】
以上説明した実施例2に係るスキャン中間データ生成処理によれば、スキャンされた原稿上の読取画像に含まれる表内に、文字(黒文字)が記載されている場合(図6のS314:Yes参照)、この黒文字を、テキストデータ化することができる(図6のS316参照)。そして、テキストデータがセル領域に配置されたスキャン中間データを生成することができる(図7のS326、S328参照)。このようなスキャン中間データから生成された、最終ファイルとしての表計算ファイル又はワープロファイルによれば、最終ファイルのファイルフォーマットに応じた表計算ソフト又はワープロソフトを用いて、表のセル領域内の文字(テキストデータ)を、再編集及び再利用等することができる。従って、利便性に優れた最終ファイルを生成することができる。
【0065】
<変形例>
本実施形態の構成は、次のようにすることもできる。なお、以下に示す変形例によっても、上述した構成と同様の機能が実現され、同様の効果を得ることができる。
【0066】
(1)上記では、スキャナ装置20において、スキャン中間データ生成処理(図5、又は、図6及び図7参照)を含むメイン処理(図2参照)が実行されることとした。このような処理(以下に説明する変形例(2)〜(5)を採用した場合を含む)は、スキャナ装置20に接続された情報処理装置60で実行されるようにしてもよい。この場合、情報処理装置60のCPU62は、図2のS100のタイミングで、接続I/F74を介して、スキャナ装置20を動作させるための指令を、スキャナ装置20に送信する。この指令を受信したスキャナ装置20では、自装置にセットされた原稿をスキャンし、スキャンされた原稿上の読取画像を示すイメージデータを、接続I/F36を介して情報処理装置60に送信する。情報処理装置60は、スキャナ装置20から送信される読取画像を示すイメージデータを、接続I/F74を介して受信する。CPU62は、受信された読取画像を示すイメージデータを対象として、図2のS104〜S118を実行し、表計算フォーマット、ワープロフォーマット及びPDFファイルフォーマットに対応する何れかのスキャン中間データを生成する(図2のS114、S116又はS118参照)。また、CPU62は、2枚目以降の原稿上の読取画像を示すイメージデータを、順次受信し、生成済みのスキャン中間データに追加する(図2のS122参照)。その後、図2のS120の判断が否定される場合(S120:No参照)、CPU62は、最終ファイル、具体的には、表計算ファイル、ワープロファイル及びPDFファイルの何れかを適宜生成する(図2のS124参照)。
【0067】
(2)上記では、実施例2に係るスキャン中間データ生成処理において、読み取られた原稿上の読取画像から表が検出され(図2のS110:Yes参照)、検出された表のセル画像内に、文字(上記に基づけば、黒文字)が検出されるような場合(図6のS312、S314参照)、CPU22は、セル画像に対応したセル領域に、OCR処理によって取得されたテキストデータを設定することとした(図6のS316参照)。この他、文字が検出された場合については、セル領域にテキストデータを設定せず、セル領域が空欄となるようにしてもよい。この場合、図6のS316に相当する処理は、省略される。スキャンされた原稿上の読取画像に対応し、テキストデータが設定されていないセル領域を含む最終ファイル(表計算ファイル又はワープロファイル)が生成される(図2のS114、S116及びS124参照)。
【0068】
このような構成の場合、スキャン対象の原稿が、例えば所定の書式に基づきレイアウトされた記入用紙であって、既に、セル画像内(枠内)に、何らかの文字等が記入されているような場合、空欄のセル領域によって構成された未記入の状態の表を含む表計算ファイル又はワープロファイルを生成することができる。なお、このような構成は、図6のS320においても採用することができる。これによれば、上述した構成において、イメージデータに基づいた画像が配置されるセル領域についても、空欄とすることができる。ユーザが、新たな記入用紙を所望する場合、記録用紙上において、既に記載された文字を消去するような作業を行わなくてもよい。また、このようにして生成された表計算ファイルを表計算ソフトで印刷し、又は、ワープロファイルをワープロソフトで印刷すれば、新たな記入用紙を得ることができる。
【0069】
さらに、このような構成をS316において採用せず、S320にて採用すれば、OCR処理によって文字が記入されていると判定されるセル領域のみを残して、その他のセル領域を空欄とすることもできる。例えば、プリンタ等で印刷されている文字を文字と判断でき、手書きの文字を文字と判断できないような精度のOCR処理を実行する装置の場合、このような構成によってプリンタ等で所定の文字がレイアウトされた記入用紙であって、空欄のセル領域によって構成された未記入の状態の表を含む表計算ファイル又はワープロファイルを生成することができる。
【0070】
(3)上記では、実施例2に係るスキャン中間データ生成処理において、読取画像に含まれる表を構成する個々のセル画像を対象として、図6のS302にて切り出されたセル画像内の画像を示すイメージデータに対して、OCR処理を実行することとした(図6のS316参照)。この他、読取画像の全体を示すイメージデータを対象として、事前に、OCR処理を実行し、テキストデータを取得しておくようにしてもよい。この場合、図6のS316では、OCR処理は実行されない。S316では、事前に取得されたテキストデータから、処理の対象とされているセル画像の位置に配置された文字を示すテキストデータが特定される。その後、特定されたテキストデータは、処理の対象とされているセル画像に対応するセル領域に設定される。
【0071】
(4)上記では、実施例2に係るスキャン中間データ生成処理において、黒文字を対象とした(図6のS310、S312及びS314参照)。文字色としては、黒以外の色、又は、黒のような特定の色を含む複数色を対象としてもよい。
【0072】
(5)実施例2に係るスキャン中間データ生成処理における図6のS326は、S328と同様な処理としてもよい。この場合、S326でCPU22は、S328と同様、読取画像の表以外の部分を、OCR処理し、テキストデータを取得する。続けて、CPU22は、読取画像において表以外の部分が配置されていた位置に従い、取得したテキストデータを、スキャン中間データの対応するセル領域に設定する。
【0073】
(6)上記では、原稿上の読取画像を示すイメージデータに対して表が検出された場合に、表計算フォーマット又はワープロフォーマットにて最終ファイルを生成し、表が検出されなかった場合に、PDFフォーマットにて最終ファイルを生成している。しかしながら、フォーマットの特定はこのような態様に限らず、例えば、表が検出された場合に、PDFフォーマット等にてイメージファイルを最終ファイルとして生成してもよいし、表が検出されなかった場合に、表計算フォーマット又はワープロフォーマットにて最終ファイルを生成してもよい。
【0074】
<本発明との対応>
以上説明した本実施形態と本発明との対応は、次の通りである。スキャナ装置20における、CPU22と、ROM24(ROM24に記憶されたコンピュータプログラム)と、RAM26とによって、本発明の制御装置が構成される。また、情報処理装置60における、CPU62と、記憶部68(記憶部68に記憶されたコンピュータプログラム)と、RAM66とによって、本発明の制御装置が構成される。表計算ファイル及びワープロファイルは、本発明の第一のファイル形式の第一ファイルに対応する。詳細には、表計算ファイルは、本発明の第一種の第一のファイル形式の第一種の第一のファイルに対応する。ワープロファイルは、本発明の第二種の第一のファイル形式の第二種の第一のファイルに対応する。PDFファイルのようなイメージファイルは、第二のファイル形式の第二ファイルに対応する。
【0075】
また、図2のS104〜S110で実行される処理が、本発明の特定部が実行する処理に対応する。図2のS114、S116(共に、詳細は、図5、又は、図6及び図7)、S118、S122及びS124で実行される処理が、本発明の生成部で実行される処理に対応する。図2のS112で実行される処理が、本発明の面積判断部で実行される処理に対応する。図6のS312及びS314で実行される処理が、本発明の文字判断部で実行される処理に対応する。図6のS304、S306及びS310で実行される処理が、本発明の領域判断部で実行される処理に対応する。
【符号の説明】
【0076】
10 システム
20 スキャナ装置
22 CPU、 24 ROM、 26 RAM、 28 記憶部、 30 読取部
32 表示部、 34 操作部、 36 接続インターフェース(接続I/F)
38 バスライン
60 情報処理装置
62 CPU、 64 ROM、 66 RAM、 68 記憶部、 70 表示部
72 操作部、 74 接続インターフェース(接続I/F)、 76 バスライン
90 通信ケーブル

【特許請求の範囲】
【請求項1】
原稿を読み取る読取部を制御するための制御装置であって、
前記読取部で読み取られた原稿上の読取画像の中から、複数のセル画像を行と列とに並べて構成されるテーブル画像を特定する特定部と、
前記特定部で前記テーブル画像が特定された場合、第一のファイル形式にて、前記読取画像に対応する第一のファイルを生成し、前記特定部で前記テーブル画像が特定されなかった場合、前記第一のファイル形式とはファイル形式が異なる第二のファイル形式にて、前記読取画像に対応し、前記第一のファイルとは異なる第二のファイルを生成する生成部と、
を備える、制御装置。
【請求項2】
前記第一のファイル形式は、複数のセル領域を行と列とに並べて構成されるテーブル構造を含むファイル形式であって、
前記生成部は、前記複数のセル画像が、それぞれ対応する前記複数のセル領域内に配置された、前記第一のファイル形式の前記第一のファイルを生成する、請求項1に記載の制御装置。
【請求項3】
前記特定部で特定された前記テーブル画像が、所定の面積より大きいか否かを判断する面積判断部を、さらに備え、
前記生成部は、前記面積判断部にて、特定された前記テーブル画像が所定の面積より大きいと判断された場合、第一種の第一のファイル形式にて、第一種の第一のファイルを生成し、前記面積判断部にて、特定された前記テーブル画像が所定の面積より小さいと判断された場合、前記第一種の第一のファイル形式とはファイル形式が異なる第二種の第一のファイル形式にて、前記第一種の第一のファイルとは異なる第二種の第一のファイルを生成する、請求項1又は請求項2に記載の制御装置。
【請求項4】
前記第一のファイル形式は、複数のセル領域を行と列とに並べて構成されるテーブル構造を含むファイル形式であって、
前記生成部は、前記特定部で前記テーブル画像が特定された場合、前記複数のセル画像を、それぞれ別のイメージデータとして生成し、生成された複数のイメージデータが、それぞれ対応する前記複数のセル領域内に配置された、前記第一のファイル形式の前記第一のファイルを生成する、請求項1から請求項3の何れか1項に記載の制御装置。
【請求項5】
前記第一のファイル形式は、複数のセル領域を行と列とに並べて構成されるテーブル構造を含むファイル形式であって、
前記特定部で特定された前記テーブル画像の前記セル画像が、文字であるか否かを判断する文字判断部を、さらに備え、
前記生成部は、前記文字判断部にて、特定された前記テーブル画像の前記セル画像が、文字であると判断された場合、前記セル画像をテキストデータとして生成し、生成されたテキストデータが、対応する前記セル領域内に配置された、前記第一のファイル形式の前記第一のファイルを生成し、前記文字判断部にて、特定された前記テーブル画像に含まれるセル画像が、文字ではないと判断された場合、前記セル画像をイメージデータとして生成し、生成されたイメージデータが、対応する前記セル領域内に配置された、前記第一のファイル形式の前記第一のファイルを生成する、請求項1から請求項4の何れか1項に記載の制御装置。
【請求項6】
前記特定部で特定された前記テーブル画像の前記セル画像の中で、略同色で表される最も広い領域を判断する領域判断部を、さらに備え、
前記生成部は、前記特定部で前記テーブル画像が特定された場合、複数のセル領域を行と列とに並べて構成されるテーブル構造を含み、前記略同色に基づき決定する色が前記セル領域内の背景色として設定された、前記第一のファイル形式の前記第一のファイルを生成する、請求項1から請求項5の何れか1項に記載の制御装置。
【請求項7】
前記生成部は、前記読取部で複数枚の原稿が読み取られる場合、前記特定部にて1枚目に読み取られた原稿に対応する読取画像の中から前記テーブル画像が特定されたことを条件に、前記第一のファイル形式を決定し、且つ決定した前記第一のファイル形式にて、前記複数枚の原稿にそれぞれ対応する複数の読取画像に対応する第一のファイルを生成し、前記特定部にて1枚目に読み取られた原稿に対応する読取画像の中から前記テーブル画像が特定されなかったことを条件に、前記第二のファイル形式を決定し、且つ決定した前記第二のファイル形式にて、前記複数枚の原稿にそれぞれ対応する複数の読取画像に対応する第二のファイルを生成する、請求項1から請求項6の何れか1項に記載の制御装置。
【請求項8】
原稿を読み取る読取部を制御するための制御装置が読み取り可能なコンピュータプログラムであって、
前記制御装置を、
前記読取部で読み取られた原稿上の読取画像の中から、複数のセル画像を行と列とに並べて構成されるテーブル画像を特定する特定部と、
前記特定部で前記テーブル画像が特定された場合、第一のファイル形式にて、前記読取画像に対応する第一のファイルを生成し、前記特定部で前記テーブル画像が特定されなかった場合、前記第一のファイル形式とはファイル形式が異なる第二のファイル形式にて、前記読取画像に対応し、前記第一のファイルとは異なる第二のファイルを生成する生成部と、
して機能させるためのコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate