以下に、本願の開示する画像処理装置、画像処理方法及びプログラムの実施例を図面に基づいて説明する。なお、この実施例により本願の開示する画像処理装置、画像処理方法及びプログラムが限定されるものではない。また、実施例において同一の機能を有する構成、及び、同一の処理を行うステップには同一の符号を付す。
[実施例1]
<スキャナ装置の構成>
図1は、実施例1のスキャナ装置の構成例を示す図である。図1において、スキャナ装置10は、画像処理装置20と、読取部12と、操作部16と、表示部17とを有する。画像処理装置20は、制御部11と、記憶部13と、検出部14と、画像処理部15とを有する。
読取部12は、ハードウェアとして、例えば、CIS(Contact Image Sensor)タイプのイメージセンサにより実現される。制御部11、検出部14及び画像処理部15は、ハードウェアとして、例えばプロセッサにより実現される。プロセッサの一例として、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)等が挙げられる。また、制御部11、検出部14及び画像処理部15は、プロセッサと周辺回路とを含むLSI(Large Scale Integrated circuit)によって実現されても良い。さらに、制御部11、検出部14及び画像処理部15は、GPU(Graphics Processing Unit)、ASIC(Application Specific Integrated Circuit)等を用いて実現されても良い。記憶部13は、ハードウェアとして、例えば、メモリによって実現される。メモリの一例として、SDRAM(Synchronous Dynamic Random Access Memory)等のRAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等が挙げられる。操作部16は、ハードウェアとして、例えば、タッチセンサ、または、メカニカルな入力ボタンにより実現される。表示部17は、ハードウェアとして、例えば、液晶ディスプレイにより実現される。操作部16及び表示部17は、ハードウェアとして、例えば、タッチパネルにより実現されても良い。
以下では、画像処理装置20がスキャナ装置10に搭載されて使用される場合を一例に挙げて説明するが、画像処理装置20は、コンピュータ装置または情報処理端末等に搭載されて使用されても良い。
<画像処理装置の処理・動作>
図2〜8,12は、実施例1の画像処理装置の動作例の説明に供する図である。図9〜11は、実施例1の画像処理装置の処理フローの一例を示す図である。
記憶部13には、図2に示すオペレータ設定テーブルOSTが記憶されている。オペレータ設定テーブルOSTの各項目に対する内容は、操作部16を用いてオペレータによって登録されている。制御部11は、オペレータによる操作部16の操作に応じて、記憶部13に記憶されているオペレータ設定テーブルOSTの各内容を登録する。
オペレータ設定テーブルOSTにおいて、項目「タブ検出」に対しては、検出部14がタブ画像の検出を行うか否かを設定可能である。タブ画像の検出を行う場合には「有効」が設定され、タブ画像の検出を行わない場合には「無効」が設定され、デフォルト値は、例えば「有効」である。
項目「判定パラメータ:位置」に対しては、画像処理部15がタブ画像についての判定を行う際のパラメータ(以下では「判定パラメータ」と呼ぶことがある)として原稿画像に対するタブ画像の位置(以下では「タブ画像位置」と呼ぶことがある)を用いるか否かを設定可能である。判定パラメータとしてタブ画像位置を用いる場合には「有効」が設定され、判定パラメータとしてタブ画像位置を用いない場合には「無効」が設定され、デフォルト値は、例えば「有効」である。
項目「判定パラメータ:横幅」に対しては、タブ画像において原稿画像と接する辺の長さ(以下では「タブ画像横幅」と呼ぶことがある)を判定パラメータとして用いるか否かを設定可能である。判定パラメータとしてタブ画像横幅を用いる場合には「有効」が設定され、判定パラメータとしてタブ画像横幅を用いない場合には「無効」が設定され、デフォルト値は、例えば「有効」である。
項目「判定パラメータ:縦幅」に対しては、タブ画像において原稿画像と接する辺と、原稿画像と接する辺の対辺との間の距離(以下では「タブ画像縦幅」と呼ぶことがある)を判定パラメータとして用いるか否かを設定可能である。判定パラメータとしてタブ画像縦幅を用いる場合には「有効」が設定され、判定パラメータとしてタブ画像縦幅を用いない場合には「無効」が設定され、デフォルト値は、例えば「有効」である。
項目「判定パラメータ:色」に対しては、判定パラメータとしてタブ画像の色(以下では「タブ画像色」と呼ぶことがある)を用いるか否かを設定可能である。判定パラメータとしてタブ画像色を用いる場合には「有効」が設定され、判定パラメータとしてタブ画像色を用いない場合には「無効」が設定され、デフォルト値は、例えば「有効」である。
項目「タブ特徴自動登録」に対しては、所定の条件が満たされる場合に、後述するタブの特徴(以下では「タブ特徴」と呼ぶことがある)を後述するタブ特徴テーブルTFTに自動的に登録するか否かを設定可能である。タブ特徴を自動的に登録する場合には「有効」が設定され、タブ特徴を自動的に登録しない場合には「無効」が設定され、デフォルト値は、例えば「有効」である。
項目「非類似タブ処理」に対しては、後述する「非類似タブ」を検出した場合に行う処理を設定可能であり、「オペレータ通知」、「読取終了」、「読取続行(ジョブ分離)」、「読取続行(タブを残す)」、「読取続行(タブを除去)」、「読取続行(タブを分離)」または「読取続行(画像廃棄)」の何れかが設定される。デフォルト値は、例えば「オペレータ通知」である。
項目「判定レベル」に対しては、タブ画像についての判定を行う際のレベルが設定可能であり、「普通」または「厳密」の何れかが設定される。デフォルト値は、例えば「普通」である。
また、記憶部13には、図3に示すタブ特徴テーブルTFTが記憶されている。タブ特徴テーブルTFTには、各タブ特徴に固有のタブID(identification)と、各タブ特徴と、各タブ特徴に対する処理との対応付けがタブデータとして設定されている。タブ特徴は、例えば、サイド(p)、横位置(X)、縦位置(Y)、横幅(w)、縦幅(l)及び色(h)により規定される。タブ特徴テーブルTFTにおける各項目に対する内容は、操作部16を用いてオペレータによって登録されるか、または、画像処理部15によって自動的に登録される。制御部11は、オペレータによる操作部16の操作に応じて、記憶部13に記憶されているタブ特徴テーブルTFTの各内容を登録する。
図4に示すように、サイド(p)は、矩形の原稿画像の四辺のうちタブ画像の存在する辺を示し、「上辺」、「下辺」、「左辺」、「右辺」または「指定なし」の何れを設定される。検出部14は、タブ特徴テーブルTFTを参照し、サイド(p)に対して「上辺」が設定されている場合には原稿画像の上辺を対象にし、「下辺」が設定されている場合には原稿画像の下辺を対象にし、「左辺」が設定されている場合には原稿画像の左辺を対象にし、「右辺」が設定されている場合には原稿画像の右辺を対象にして、タブ画像の検出を試みる。また、サイド(p)に対して「指定なし」が設定されている場合には、検出部14は、原稿画像の四辺のすべてを対象にしてタブ画像の検出を試みる。
横位置(X)は、原稿画像の左辺からタブ画像の左辺までの距離[mm]を示し、0以上の実数、−1または−2の何れかを設定される。横位置(X)が−1に設定されている場合には、タブ画像が原稿画像の左辺または右辺の何れかに付されており、タブ特徴が横位置(X)を有しないことを示す。横位置(X)が−2に設定されている場合には、タブ画像が原稿画像の四辺の何れに付されていても良いことを示す。
縦位置(Y)は、原稿画像の上辺からタブ画像の上辺までの距離[mm]を示し、0以上の実数、−1または−2の何れかを設定される。縦位置(Y)が−1に設定されている場合には、タブ画像が原稿画像の上辺または下辺の何れかに付されており、タブ特徴が縦位置(Y)を有しないことを示す。縦位置(Y)が−2に設定されている場合には、タブ画像が原稿画像の四辺の何れに付されていても良いことを示す。
横幅(w)は、タブ画像横幅[mm]を示し、0、または、0より大きい実数を設定される。横幅(w)が0に設定されている場合には、タブ画像横幅に対する限定が無いことを示す。
縦幅(l)は、タブ画像縦幅[mm]を示し、0、または、0より大きい実数を設定される。縦幅(l)が0に設定されている場合には、タブ画像縦幅に対する限定が無いことを示す。
色(h)は、タブ画像色を示し、0以上360未満の実数、または、−1を設定される。タブ画像色は、赤=0,青=240,緑=120とするHSVモデルの色相で特定される。色(h)が−1に設定されている場合には、タブ画像色に対する限定が無いことを示す。
また、タブ特徴テーブルTFTにおいて、項目「処理」に対しては、画像処理部15が後述する「類似タブ」を検出した場合に行う処理を設定可能であり、「読取終了」、「読取続行(ジョブ分離)」、「読取続行(タブを残す)」、「読取続行(タブを除去)」、「読取続行(タブを分離)」または「読取続行(画像廃棄)」の何れかが設定される。図2及び図4における処理のうち、「読取終了」は、読取部12による原稿の読取を終了すること示す。「読取続行(ジョブ分離)」は、読取部12による原稿の読取を続行しつつ、タブ画像が周囲に存在する原稿画像とタブ画像が周囲に存在しない原稿画像とを互いに異なるファイルにして記憶部13に保存することを示す。「読取続行(タブを残す)」は、読取部12による原稿の読取を続行しつつ、タブ画像を残したままで原稿画像を記憶部13に保存することを示す。「読取続行(タブを除去)」は、読取部12による原稿の読取を続行しつつ、タブ画像を原稿画像から除去した上で原稿画像を記憶部13に保存することを示す。「読取続行(タブを分離)」は、読取部12による原稿の読取を続行しつつ、原稿画像からタブ画像を分離し、分離されたタブ画像と、タブ画像の分離後の原稿画像とを互いに異なるファイルにして記憶部13に保存することを示す。「読取続行(画像廃棄)」は、読取部12による原稿の読取を続行しつつ、タブ画像が周囲に存在する原稿画像を廃棄することを示す。
図3に戻り、例えば、タブデータTD1では、タブID=01に対して、ID=01のタブのタブ特徴として、サイド(p)=指定なし,横位置(X)=−2,縦位置(Y)=−2,横幅(w)=0,縦幅(l)=0,色(h)=−1が対応付けて設定され、このタブ特徴を有する類似タブが検出された場合に行われる処理として、「読取続行(タブを分離)」が対応付けて設定される。また例えば、タブデータTD2では、タブID=02に対して、ID=02のタブのタブ特徴として、サイド(p)=上辺,横位置(X)=130,縦位置(Y)=−1,横幅(w)=0,縦幅(l)=8,色(h)=240が対応付けて設定され、このタブ特徴を有する類似タブが検出された場合に行われる処理として、「読取続行(ジョブ分離)」が対応付けて設定される。タブデータTD3,TD4,TD5におけるタブID=03,04,05に対しても、タブデータTD1,TD2におけるタブID=01,02と同様に、タブ特徴と、設定されたタブ特徴を有する類似タブが検出された場合に行われる処理とが対応付けて設定される。
スキャナ装置10が有するシューター(図示省略)に置かれた複数枚の原稿は、スキャナ装置10が有するADF(Auto Document Feeder)(図示省略)によって一枚ずつスキャナ装置10の中に取り込まれ、読取部12は、スキャナ装置10の中に取り込まれた原稿を読み取り、読み取った画像(以下では「読取画像」と呼ぶことがある)RIを記憶部13に記憶させる。原稿にタブが付されている場合、図5〜8に示すように、読取画像RIは、原稿画像DIとタブ画像TIとから形成される。例えば、右辺に矩形のタブが付されている原稿が読取部12によって読み取られた場合には、図5に示すような読取画像RIが得られる。また例えば、左辺に矩形のタブが付されている原稿が読取部12によって読み取られた場合には、図6に示すような読取画像RIが得られる。また例えば、上辺に矩形のタブが付されている原稿が読取部12によって読み取られた場合には、図7に示すような読取画像RIが得られる。また例えば、下辺に矩形のタブが付されている原稿が読取部12によって読み取られた場合には、図8に示すような読取画像RIが得られる。
図9において、ステップS101では、制御部11は、記憶部13から読取画像RIを取得する。
次いでステップS103では、制御部11は、第一フラグFLGを0にセットする。第一フラグFLGは記憶部13に記憶されている。
次いでステップS105では、制御部11は、オペレータ設定テーブルOSTを参照し、オペレータ設定テーブルOSTにおける項目「タブ検出」が有効に設定されているか否か、つまり、タブ画像の検出を行うか否かを判定する。
オペレータ設定テーブルOSTにおいて項目「タブ検出」が無効に設定されている場合には(ステップS105:No)、ステップS109において、制御部11は、読取部12による原稿の読取を続行する。
一方で、オペレータ設定テーブルOSTにおいて項目「タブ検出」が有効に設定されている場合には(ステップS105:Yes)、ステップS107において、制御部11は、取得した読取画像RIを検出部14に出力し、検出部14は、読取画像RIにおいてタブ画像TIの検出を試みる。検出部14は、原稿画像DIの周囲に凸部が存在するか否かを判定し、凸部が存在する場合には、その凸部をタブ画像TIとして検出する。例えば、検出部14は、矩形の原稿画像DIの四辺の何れかに、何れかの辺から所定の閾値(例えば3[mm])以上の高さを有する凸部が存在する場合に、その凸部をタブ画像TIとして検出する。検出部14が、原稿画像DIの周囲に凸部が存在しないと判定した場合、つまり、タブ画像TIを検出しない場合には(ステップS107:No)、ステップS109において、検出部14は、タブ画像TIを検出しないことを制御部11へ通知し、その通知に応じて、制御部11は、読取部12による原稿の読取を続行する。
一方で、検出部14が、原稿画像DIの周囲に凸部が存在すると判定した場合、つまり、タブ画像TIを検出した場合には(ステップS107:Yes)、ステップS111において、類似判定が行われる。類似判定の詳細については後述する。
類似判定後、ステップS113では、画像処理部15は、第二フラグSTが1にセットされているか否かを判定する。第二フラグSTは記憶部13に記憶されている。第二フラグSTが1に設定されている場合には(ステップS113:Yes)、処理はステップS115へ進む一方で、第二フラグSTが0に設定されている場合には(ステップS113:No)、処理はステップS121へ進む。
ステップS115では、読取画像RIに対して画像処理部15が実行する処理(以下では「実行処理」と呼ぶことがある)が決定される。実行処理の決定の詳細については後述する。
実行処理の決定後、ステップS117では、画像処理部15は、ステップS115で決定した実行処理(以下では「決定処理」と呼ぶことがある)が、オペレータによって選択された処理(以下では「オペレータ選択処理」と呼ぶことがある)であるか否かを判定する。決定処理がオペレータ選択処理である場合には(ステップS117:Yes)、処理はステップS131へ進む。
一方で、決定処理がオペレータ選択処理でない場合には(ステップS117:No)、ステップS119において、画像処理部15は、決定処理を実行する。
また、ステップS121では、画像処理部15は、警告を発する。例えば、画像処理部15は、タブ特徴テーブルTFTにおいて、検出タブ特徴に類似するタブ特徴が存在しないこと(つまり、ステップS107で検出されたタブ画像TIが非類似タブであること)を示すメッセージを表示部17に表示させることによりオペレータに対する警告を行う。
次いでステップS123では、画像処理部15は、オペレータ設定テーブルOSTを参照し、オペレータ設定テーブルOSTにおける項目「タブ特徴自動登録」が有効に設定されているか否かを判定する。オペレータ設定テーブルOSTにおいて項目「タブ特徴自動登録」が有効に設定されている場合には(ステップS123:Yes)、ステップS129において、画像処理部15は、第一フラグFLGを1にセットする。
一方で、オペレータ設定テーブルOSTにおいて項目「タブ特徴自動登録」が無効に設定されている場合には(ステップS123:No)、ステップS125において、画像処理部15は、ステップS107で検出されたタブ画像TIのタブ特徴(以下では「検出タブ特徴」と呼ぶことがある)をタブ特徴テーブルTFTに登録するか否かをオペレータに問い合わせる。例えば、画像処理部15は、タブ特徴をタブ特徴テーブルTFTに登録するか否かを問い合わせるメッセージを表示部17に表示させることによりオペレータに対する問合せを行う。
次いで、ステップS127では、画像処理部15は、ステップS125での問合せに対するオペレータの回答を判定する。ステップS125での問合せに対するオペレータの回答は、操作部16に対するオペレータの操作によって制御部11に入力され、制御部11から画像処理部15へ出力される。ステップS125での問合せに対する回答がYesである場合、つまり、タブ特徴をタブ特徴テーブルTFTに登録する場合には(ステップS127:Yes)、ステップS129において、画像処理部15は、第一フラグFLGを1にセットする。一方で、ステップS125での問合せに対する回答がNoである場合、つまり、タブ特徴をタブ特徴テーブルTFTに登録しない場合には(ステップS127:No)、ステップS129の処理が行われることなく、処理はステップS131へ進む。
ステップS131では、画像処理部15は、処理M1を実行する。画像処理部15は、処理M1として以下の処理を実行する。すなわち、画像処理部15は、決定処理がオペレータ選択処理である場合には、オペレータ選択処理を実行する。一方で、決定処理がオペレータ選択処理でない場合には、画像処理部15は、オペレータ設定テーブルOSTを参照し、オペレータ設定テーブルOSTにおける項目「非類似タブ処理」の内容が「オペレータ通知」であるか否かを判定する。そして、オペレータ設定テーブルOSTにおいて項目「非類似タブ処理」の内容が「オペレータ通知」である場合には、画像処理部15は、実行処理をオペレータに問い合わせる。例えば、画像処理部15は、「読取終了」、「読取続行(ジョブ分離)」、「読取続行(タブを残す)」、「読取続行(タブを除去)」、「読取続行(タブを分離)」及び「読取続行(画像廃棄)」の各処理のメニュー一覧を処理候補として表示部17に表示させることにより実行処理をオペレータに問い合わせる。オペレータは、操作部16に対する操作によってメニュー一覧の中からオペレータが希望する処理を選択する。オペレータの選択結果は、操作部16から制御部11に入力され、制御部11から画像処理部15へ出力される。画像処理部15は、オペレータの選択結果に従って、「読取終了」、「読取続行(ジョブ分離)」、「読取続行(タブを残す)」、「読取続行(タブを除去)」、「読取続行(タブを分離)」及び「読取続行(画像廃棄)」のうち、オペレータにより選択された何れかの処理を実行する。一方で、オペレータ設定テーブルOSTにおいて項目「非類似タブ処理」の内容が「オペレータ通知」でない場合には、画像処理部15は、オペレータ設定テーブルOSTにおいて項目「非類似タブ処理」に設定された処理、つまり、「オペレータ通知」以外の何れかの処理を実行する。ステップS131における処理M1の実行後、処理はステップS133へ進む。
ステップS133では、画像処理部15は、第一フラグFLGが1にセットされているか否かを判定する。第一フラグFLGが1にセットされている場合には(ステップS133:Yes)、処理はステップS135へ進む。一方で、第一フラグFLGが0にセットされている場合には(ステップS133:No)、ステップS135の処理が行われることなく、処理は終了する。
ステップS135では、画像処理部15は、処理M2を実行する。画像処理部15は、処理M2として以下の処理を実行する。すなわち、画像処理部15は、検出タブ特徴とともに、図4における「読取終了」、「読取続行(ジョブ分離)」、「読取続行(タブを残す)」、「読取続行(タブを除去)」、「読取続行(タブを分離)」及び「読取続行(画像廃棄)」の各処理のメニュー一覧とを処理候補として表示部17に表示させることにより、検出タブ特徴に対応付ける処理をオペレータに問い合わせる。オペレータは、操作部16に対する操作によってメニュー一覧の中からオペレータが希望する処理を選択する。オペレータの選択結果は、操作部16から制御部11に入力され、制御部11から画像処理部15へ出力される。画像処理部15は、オペレータの選択結果に従って、「読取終了」、「読取続行(ジョブ分離)」、「読取続行(タブを残す)」、「読取続行(タブを除去)」、「読取続行(タブを分離)」及び「読取続行(画像廃棄)」のうち、オペレータにより選択された何れかの処理と、新たなタブIDとを検出タブ特徴に対応付けた上で、新たなタブIDを付けた検出タブ特徴をタブ特徴テーブルTFTに追加して登録する。
ここで、画像処理部15が「読取終了」を実行する場合、画像処理部15は実行する処理が「読取終了」であることを制御部11に通知し、この通知に従って、制御部11は、ADF及び読取部12の動作を停止させる。また、画像処理部15が「読取続行(ジョブ分離)」を実行する場合、ADF及び読取部12の動作が継続したまま、画像処理部15は、タブ画像が周囲に存在しない原稿画像が保存されているファイルと異なるファイルに読取画像RIを保存して記憶部13に記憶させる。また、画像処理部15が「読取続行(タブを残す)」を実行する場合、ADF及び読取部12の動作が継続したまま、画像処理部15は、タブ画像TIを残したままの原稿画像DIを(つまり、読取画像RIをそのまま)記憶部13に保存する。また、画像処理部15が「読取続行(タブを除去)」を実行する場合、ADF及び読取部12の動作が継続したまま、画像処理部15は、タブ画像TIを原稿画像DIから除去し、タブ画像TIを除去後の原稿画像DIを記憶部13に保存する。また、画像処理部15が「読取続行(タブを分離)」を実行する場合、ADF及び読取部12の動作が継続したまま、画像処理部15は、原稿画像DIからタブ画像TIを分離し、分離したタブ画像TIと、タブ画像TIの分離後の原稿画像DIとを互いに異なるファイルに保存して記憶部13に記憶させる。また、画像処理部15が「読取続行(画像廃棄)」を実行する場合、ADF及び読取部12の動作が継続したまま、画像処理部15は、タブ画像TIが周囲に存在する原稿画像DI(つまり、読取画像RI)を廃棄する。
次いで、図9におけるステップS111での類似判定について図10を用いて説明する。
図10において、ステップS201では、検出部14は、原稿画像DIの周囲に存在する凸部の特徴、つまり、ステップS107で検出したタブ画像TIのタブ特徴を検出し、検出タブ特徴を読取画像RIとともに画像処理部15へ出力する。検出タブ特徴は、図4と同様に、サイド(p)、横位置(X)、縦位置(Y)、横幅(w)、縦幅(l)及び色(h)により規定される。
次いで、ステップS203では、画像処理部15は、タブ特徴テーブルTFTに登録されているタブデータの中に、検出タブ特徴におけるサイド(p)に該当するサイド(p)を有するタブデータ(以下では「同一サイドタブデータ」と呼ぶことがある)が有るか否かを判定する。例えば、画像処理部15は、タブ特徴テーブルTFT(図3)において、タブデータTD1〜TD5を含むすべてのタブデータの中に同一サイドタブデータが有るか否かを判定する。同一サイドタブデータが無い場合には(ステップS203:No)、処理はステップS255へ進む。
一方で、同一サイドタブデータが有る場合には(ステップS203:Yes)、ステップS205において、画像処理部15は、タブ特徴テーブルTFTに登録されているタブデータの中から同一サイドタブデータを取得し、ステップS207において、取得した同一サイドタブデータの個数を取得数Nにセットする。
次いで、ステップS209では、画像処理部15は、第一カウンターnを1にセットするとともに、第二カウンターrを0にセットする。
次いで、ステップS211では、画像処理部15は、ステップS205で取得したN個の同一サイドタブデータのうちn番目のタブデータを取得する。
次いで、ステップS213では、画像処理部15は、ステップS211で取得したn番目のタブデータ(以下では「取得タブデータ」と呼ぶことがある)におけるサイド(p)が「上辺」または「下辺」であるか否かを判定する。
取得タブデータにおけるサイド(p)が「上辺」または「下辺」である場合には(ステップS213:Yes)、ステップS215において、画像処理部15は、検出タブ特徴における横位置(X)を第一距離z1にセットするとともに、取得タブデータにおける横位置(X)を第二距離z0にセットする。
一方で、取得タブデータにおけるサイド(p)が「上辺」及び「下辺」以外である場合(つまり「左辺」、「右辺」または「指定なし」である場合)には(ステップS213:No)、ステップS217において、画像処理部15は、検出タブ特徴における縦位置(Y)を第一距離z1にセットするとともに、取得タブデータにおける縦位置(Y)を第二距離z0にセットする。
次いで、ステップS219では、画像処理部15は、第二距離z0が−2であるか否かを判定する。第二距離z0が−2でない場合には(ステップS219:No)、処理はステップS221へ進む。一方で、第二距離z0が−2である場合には(ステップS219:Yes)、ステップS221の処理が行われることなく、処理はステップS223へ進む。
ステップS221では、画像処理部15は、第二距離z0と第一距離z1との差の絶対値が、閾値Γz未満であるか否かを判定する。例えば、画像処理部15は、オペレータ設定テーブルOSTにおける項目「判定レベル」が「普通」に設定されている場合には、閾値Γzとして14[mm]を用い、「厳密」に設定されている場合には、閾値Γzとして7[mm]を用いる。14[mm]及び7[mm]の双方の閾値Γzが記憶部13に記憶されている。第二距離z0と第一距離z1との差の絶対値が閾値Γz未満である場合には(ステップS221:Yes)、処理はステップS223へ進む。
一方で、第二距離z0と第一距離z1との差の絶対値が閾値Γz以上である場合には(ステップS221:No)、画像処理部15は、取得タブデータにおけるタブ特徴が検出タブ特徴に類似しないと判定し(つまり、ステップS107で検出されたタブ画像TIが非類似タブであると判定し)、処理はステップS247へ進む。
ステップS223では、画像処理部15は、検出タブ特徴における縦幅(l)を第一縦幅l1にセットするとともに、取得タブデータにおける縦幅(l)を第二縦幅l0にセットする。
次いで、ステップS225では、画像処理部15は、第二縦幅l0が0であるか否かを判定する。第二縦幅l0が0でない場合には(ステップS225:No)、処理はステップS227へ進む。一方で、第二縦幅l0が0である場合には(ステップS225:Yes)、ステップS227の処理が行われることなく、処理はステップS229へ進む。
ステップS229では、画像処理部15は、第二縦幅l0と第一縦幅l1との差の絶対値が、第一縦幅l1と係数αlとの乗算値未満であるか否かを判定する。例えば、画像処理部15は、オペレータ設定テーブルOSTにおける項目「判定レベル」が「普通」に設定されている場合には、係数αlとして10%を用い、「厳密」に設定されている場合には、係数αlとして5%を用いる。10%及び5%の双方の係数αlが記憶部13に記憶されている。第二縦幅l0と第一縦幅l1との差の絶対値が、第一縦幅l1と係数αlとの乗算値未満である場合には(ステップS227:Yes)、処理はステップS229へ進む。
一方で、第二縦幅l0と第一縦幅l1との差の絶対値が、第一縦幅l1と係数αlとの乗算値以上である場合には(ステップS227:No)、画像処理部15は、取得タブデータにおけるタブ特徴が検出タブ特徴に類似しないと判定し(つまり、ステップS107で検出されたタブ画像TIが非類似タブであると判定し)、処理はステップS247へ進む。
ステップS229では、画像処理部15は、検出タブ特徴における横幅(w)を第一横幅w1にセットするとともに、取得タブデータにおける横幅(w)を第二横幅w0にセットする。
次いで、ステップS231では、画像処理部15は、第二横幅w0が0であるか否かを判定する。第二横幅w0が0でない場合には(ステップS231:No)、処理はステップS233へ進む。一方で、第二横幅w0が0である場合には(ステップS231:Yes)、ステップS233の処理が行われることなく、処理はステップS235へ進む。
ステップS233では、画像処理部15は、第二横幅w0と第一横幅w1との差の絶対値が、第一横幅w1と係数αwとの乗算値未満であるか否かを判定する。例えば、画像処理部15は、オペレータ設定テーブルOSTにおける項目「判定レベル」が「普通」に設定されている場合には、係数αwとして10%を用い、「厳密」に設定されている場合には、係数αwとして5%を用いる。10%及び5%の双方の係数αwが記憶部13に記憶されている。第二横幅w0と第一横幅w1との差の絶対値が、第一横幅w1と係数αwとの乗算値未満である場合には(ステップS233:Yes)、処理はステップS235へ進む。
一方で、第二横幅w0と第一横幅w1との差の絶対値が、第一横幅w1と係数αwとの乗算値以上である場合には(ステップS233:No)、画像処理部15は、取得タブデータにおけるタブ特徴が検出タブ特徴に類似しないと判定し(つまり、ステップS107で検出されたタブ画像TIが非類似タブであると判定し)、処理はステップS247へ進む。
ステップS235では、画像処理部15は、検出タブ特徴における色(h)を第一色h1にセットするとともに、取得タブデータにおける色(h)を第二色h0にセットする。
次いで、ステップS237では、画像処理部15は、第二色h0が1であるか否かを判定する。第二色h0が1でない場合には(ステップS237:No)、処理はステップS239へ進む。一方で、第二色h0が1である場合には(ステップS237:Yes)、ステップS239の処理が行われることなく、処理はステップS241へ進む。
ステップS239では、画像処理部15は、以下の式(1)によって表されるΔhが閾値Γh未満であるか否かを判定する。例えば、画像処理部15は、オペレータ設定テーブルOSTにおける項目「判定レベル」が「普通」に設定されている場合には、閾値Γhとして30を用い、「厳密」に設定されている場合には、閾値Γhとして15を用いる。30及び15の双方の閾値Γhが記憶部13に記憶されている。Δhが閾値Γh未満である場合には(ステップS239:Yes)、処理はステップS241へ進む。
一方で、Δhが閾値Γh以上である場合には(ステップS239:No)、画像処理部15は、取得タブデータにおけるタブ特徴が検出タブ特徴に類似しないと判定し(つまり、ステップS107で検出されたタブ画像TIが非類似タブであると判定し)、処理はステップS247へ進む。
ステップS241では、画像処理部15は、ステップS107で検出されたタブ画像TIが類似タブであると判定し、取得タブデータに対して、検出タブ特徴と、取得タブデータにおけるタブ特徴との間の類似度Sを以下の式(2)に従って算出する。
次いで、ステップS243では、画像処理部15は、取得タブデータにおける「タブID」及び「処理」と、ステップS241で算出した類似度Sとを対応付けて類似タブリストSTLに登録する。類似タブリストSTLは、記憶部13に記憶されている。
次いで、ステップS245では、画像処理部15は、第二カウンターrをインクリメントする。
次いで、ステップS247では、画像処理部15は、第一カウンターnが取得数Nに達しているか否かを判定する。第一カウンターnが取得数Nに達していない場合には(ステップS247:No)、ステップS249において、画像処理部15は、第一カウンターnをインクリメントする。ステップS249の処理後、処理は、ステップS211に戻る。
一方で、第一カウンターnが取得数Nに達している場合には(ステップS247:Yes)、ステップS251において、画像処理部15は、第二カウンターrが1以上であるか否かを判定する。
第二カウンターrが1以上である場合には(ステップS251:Yes)、ステップS253において、画像処理部15は、N個の取得タブデータの中に、タブ特徴が検出タブ特徴に類似する取得タブデータ(以下では「類似タブデータ」と呼ぶことがある)が有ると判定し、第二フラグSTを1にセットする。
一方で、同一サイドタブデータが無い場合(ステップS203:No)、または、第二カウンターrが0である場合には(ステップS251:No)、ステップS255において、画像処理部15は、N個の取得タブデータの中に類似タブデータが無いと判定し、第二フラグSTを0にセットする。
ここで、図10に示す一連の処理により、例えば、画像処理部15が、タブ特徴テーブルTFTにおいて、タブデータTD1〜TD5(図3)を含む全タブデータのうちタブデータTD2,TD4,TD5を類似タブデータと判定し、ステップS241において、タブデータTD2,TD4,TD5の各々に対して類似度Sa,Sb,Scを算出した場合には、ステップS243では、図12に示すように、タブデータTD2,TD4,TD5における「タブID」及び「処理」と、類似度Sa,Sb,Scとが対応付けられて類似タブリストSTLに登録される。
次いで、図9におけるステップS115での実行処理の決定について図11を用いて説明する。
図11において、ステップS301では、画像処理部15は、記憶部13から類似タブリストSTLを取得する。
次いで、ステップS303では、画像処理部15は、類似タブリストSTLに登録されている類似度の総和(以下では「総和類似度」と呼ぶことがある)SSを算出する。例えば、図12に示すように、類似タブリストSTLにおいて、タブID=02,04,05の各々に対して類似度Sa,Sb,Scが対応付けられている場合には、総和類似度SSは、類似度Sa,Sb,Scの総和(つまり、SS=Sa+Sb+Sc)となる。
次いで、ステップS305では、画像処理部15は、類似タブリストSTLにおいて、処理「読取終了」に対応付けられている類似度の合計S1を算出する。
次いで、ステップS307では、画像処理部15は、合計S1が総和類似度SSに等しいか否かを判定する。合計S1が総和類似度SSに等しい場合には(ステップS307:Yes)、ステップS309において、画像処理部15は、実行処理を「読取終了」に決定する。
一方で、合計S1が総和類似度SSに等しくない場合には(ステップS307:No)、ステップS311において、画像処理部15は、類似タブリストSTLにおいて、処理「読取続行(ジョブ分離)」に対応付けられている類似度の合計S2を算出する。
次いで、ステップS313では、画像処理部15は、合計S2が総和類似度SSに等しいか否かを判定する。合計S2が総和類似度SSに等しい場合には(ステップS313:Yes)、ステップS315において、画像処理部15は、実行処理を「読取続行(ジョブ分離)」に決定する。
一方で、合計S2が総和類似度SSに等しくない場合には(ステップS313:No)、ステップS317において、画像処理部15は、類似タブリストSTLにおいて、処理「読取続行(タブを残す)」に対応付けられている類似度の合計S3を算出する。
次いで、ステップS319では、画像処理部15は、合計S3が総和類似度SSに等しいか否かを判定する。合計S3が総和類似度SSに等しい場合には(ステップS319:Yes)、ステップS321において、画像処理部15は、実行処理を「読取続行(タブを残す)」に決定する。
一方で、合計S3が総和類似度SSに等しくない場合には(ステップS319:No)、ステップS323において、画像処理部15は、類似タブリストSTLにおいて、処理「読取続行(タブを除去)」に対応付けられている類似度の合計S4を算出する。
次いで、ステップS325では、画像処理部15は、合計S4が総和類似度SSに等しいか否かを判定する。合計S4が総和類似度SSに等しい場合には(ステップS325:Yes)、ステップS327において、画像処理部15は、実行処理を「読取続行(タブを除去)」に決定する。
一方で、合計S4が総和類似度SSに等しくない場合には(ステップS325:No)、ステップS329において、画像処理部15は、類似タブリストSTLにおいて、処理「読取続行(タブを分離)」に対応付けられている類似度の合計S5を算出する。
次いで、ステップS331では、画像処理部15は、合計S5が総和類似度SSに等しいか否かを判定する。合計S5が総和類似度SSに等しい場合には(ステップS331:Yes)、ステップS333において、画像処理部15は、実行処理を「読取続行(タブを分離)」に決定する。
一方で、合計S5が総和類似度SSに等しくない場合には(ステップS331:No)、ステップS335において、画像処理部15は、類似タブリストSTLにおいて、処理「読取続行(画像廃棄)」に対応付けられている類似度の合計S6を算出する。
次いで、ステップS337では、画像処理部15は、合計S6が総和類似度SSに等しいか否かを判定する。合計S6が総和類似度SSに等しい場合には(ステップS337:Yes)、ステップS339において、画像処理部15は、実行処理を「読取続行(画像廃棄)」に決定する。
一方で、合計S6が総和類似度SSに等しくない場合には(ステップS337:No)、ステップS341において、画像処理部15は、類似タブリストSTLに登録されている類似度の中の最大値(以下では「最大類似度」と呼ぶことがある)を求め、最大類似度に対応付けられているタブIDの個数(以下では「最大類似度数」と呼ぶことがある)が1個であるか否かを判定する。例えば、図12に示す類似タブリストSTLにおいて、類似度Saが類似度Sb,Scよりも大きい場合には、最大類似度数は1個と判定され、類似度Sa,Sbが類似度Scよりも大きく、かつ、類似度Sa,Sbが同一の大きさの場合には、最大類似度数は2個と判定される。
最大類似度数が1個である場合には(ステップS341:Yes)、ステップS343において、画像処理部15は、類似タブリストSTLにおいて最大類似度に対応付けられている「処理」を実行処理に決定する。
一方で、最大類似度数が2個以上である場合には(ステップS341:No)、ステップS345において、画像処理部15は、実行処理をオペレータに問い合わせる。例えば、画像処理部15は、「読取終了」、「読取続行(ジョブ分離)」、「読取続行(タブを残す)」、「読取続行(タブを除去)」、「読取続行(タブを分離)」及び「読取続行(画像廃棄)」の各処理のメニュー一覧を処理候補として表示部17に表示させることにより実行処理をオペレータに問い合わせる。オペレータは、操作部16に対する操作によってメニュー一覧の中からオペレータが希望する処理を選択する。オペレータの選択結果は、操作部16から制御部11に入力され、制御部11から画像処理部15へ出力される。
次いで、ステップS347では、画像処理部15は、ステップS345での問合せに対するオペレータの選択結果に従って、「読取終了」、「読取続行(ジョブ分離)」、「読取続行(タブを残す)」、「読取続行(タブを除去)」、「読取続行(タブを分離)」及び「読取続行(画像廃棄)」のうちの何れかのオペレータ選択処理を実行処理に決定する。
次いで、ステップS349では、画像処理部15は、類似タブリストSTLにおいて最大類似度に対応付けられているタブID(以下では「最大類似度タブID」と呼ぶことがある)を特定する。そして、画像処理部15は、タブ特徴テーブルTFTにおいて、最大類似度タブIDに対応付けられている「処理」をオペレータ選択処理によって更新する。
なお、上記では、タブ特徴が、サイド(p)、横位置(X)、縦位置(Y)、横幅(w)、縦幅(l)及び色(h)により規定される場合を一例に挙げて説明した。しかし、タブ特徴は、サイド(p)、横位置(X)、縦位置(Y)、横幅(w)、縦幅(l)及び色(h)のうちの何れか一つまたは複数により規定されても良い。
以上のように、実施例1では、画像処理装置20は、検出部14と、画像処理部15とを有する。検出部14は、読取画像RIに含まれる原稿画像DIの周囲における凸部(つまり、タブ画像TI)の特徴(つまり、タブ特徴)を検出する。画像処理部15は、読取画像RIに対し、検出タブ特徴に対応する画像処理を実行する。画像処理部15は、例えば、原稿の読取に係る処理を画像処理として実行する。また、画像処理部15は、原稿の読取に係る処理として、例えば、「読取終了」、「読取続行(ジョブ分離)」、「読取続行(タブを残す)」、「読取続行(タブを除去)」、「読取続行(タブを分離)」、または、「読取続行(画像廃棄)」の何れか一つを実行する。
こうすることで、タブ特徴に対応する画像処理が自動的に実行されるため、オペレータの手間を軽減することができる。
また、実施例1では、検出部14は、サイド(p)、タブ画像位置(横位置(X)及び縦位置(Y))、タブ画像横幅(w)、タブ画像縦幅(l)及びタブ画像色(h)の少なくとも一つをタブ特徴として検出する。
こうすることで、適切なタブ特徴を検出することができる。
また、実施例1では、画像処理装置20は、記憶部13を有する。記憶部13は、「タブ特徴」と「処理」とが対応付けられているタブ特徴テーブルTFTを記憶する。画像処理部15は、タブ特徴テーブルTFTにおける対応付けに従って実行処理を決定する。
こうすることで、実行処理を簡便に決定することができる。
また、実施例1では、画像処理装置20は、検出タブ特徴と、取得タブデータにおけるタブ特徴との間の類似度Sを算出し、算出した類似度Sに基づいて、実行処理を決定する。
こうすることで、適切な実行処理を決定することができる。
また、実施例1では、画像処理部15は、最大類似度数が2個以上である場合には、処理候補のメニュー一覧において選択された画像処理を実行する。
こうすることで、実行するに相応しい画像処理が複数存在する場合に、オペレータの意向を反映した画像処理を実行することができる。
また、実施例1では、画像処理部15は、タブ特徴テーブルTFTにおける横位置(X)、縦位置(Y)、横幅(w)、縦幅(l)または色(h)が検出タブ特徴に類似しない場合には(ステップS221:No、ステップS227:No、ステップS233:No、または、ステップS239:No)、処理候補のメニュー一覧において選択された画像処理と検出タブ特徴とを対応付けてタブ特徴テーブルTFTに追加する(ステップS135)。
こうすることで、非類似のタブ特徴を画像処理と対応付けて自動的にタブ特徴テーブルTFTに登録することができる。
また、実施例1では、画像処理部15は、タブ特徴テーブルTFTにおける横位置(X)、縦位置(Y)、横幅(w)、縦幅(l)または色(h)が検出タブ特徴に類似しない場合には(ステップS221:No、ステップS227:No、ステップS233:No、または、ステップS239:No)、警告を発する(ステップS121)。
こうすることで、非類似のタブ特徴が検出されたことをオペレータに通知することができる。
以上、実施例1について説明した。
[実施例2]
実施例1では、記憶部13に一つのタブ特徴テーブルTFTが記憶されている場合について説明した。これに対し、実施例2では、記憶部13に複数のタブ特徴テーブルが記憶されている。
<画像処理装置の処理・動作>
図13及び図14は、実施例2の画像処理装置の動作例の説明に供する図である。
例えば、記憶部13には、3名のオペレータにそれぞれ対応するタブ特徴テーブルTFT01,TFT02,TFT03の3個のタブ特徴テーブルが記憶されている。タブ特徴テーブルTFT01と、タブ特徴テーブルTFT02と、タブ特徴テーブルTFT03との間では、同一のタブID(つまり、同一のタブ特徴)に対して、互いに異なる処理が対応付けて設定されている。
例えば、タブ特徴テーブルTFT01では、タブID=01に対して、ID=01のタブのタブ特徴として、サイド(p)=指定なし,横位置(X)=−2,縦位置(Y)=−2,横幅(w)=0,縦幅(l)=0,色(h)=−1が対応付けて設定され、このタブ特徴を有する類似タブが検出された場合に行われる処理として、「読取続行(タブを分離)」が対応付けて設定される。これに対し、タブ特徴テーブルTFT02では、タブID=01に対して、ID=01のタブのタブ特徴として、サイド(p)=指定なし,横位置(X)=−2,縦位置(Y)=−2,横幅(w)=0,縦幅(l)=0,色(h)=−1が対応付けて設定され、このタブ特徴を有する類似タブが検出された場合に行われる処理として、「読取続行(ジョブ分離)」が対応付けて設定される。また、タブ特徴テーブルTFT03では、タブID=01に対して、ID=01のタブのタブ特徴として、サイド(p)=指定なし,横位置(X)=−2,縦位置(Y)=−2,横幅(w)=0,縦幅(l)=0,色(h)=−1が対応付けて設定され、このタブ特徴を有する類似タブが検出された場合に行われる処理として、「読取続行(タブを除去)」が対応付けて設定される。
タブ特徴テーブルTFT01,TFT02,TFT03が記憶部13に記憶されている場合、記憶部13は、さらに、図13に示すオペレータIDテーブルOITを記憶する。オペレータIDテーブルOITには、各オペレータに固有のオペレータIDと、タブ特徴テーブルのテーブル名との対応付けが設定されている。オペレータIDは、操作部16に対するオペレータの操作によって制御部11に入力され、制御部11から画像処理部15へ出力される。画像処理部15は、入力されたオペレータIDに対応するテーブル名をオペレータIDテーブルOITから取得し、記憶部13に記憶されている複数のタブ特徴テーブルのうち、取得したテーブル名を持つタブ特徴テーブルを使用して、実施例1と同様の処理を行う。例えば、画像処理部15は、入力されたオペレータIDがAAAである場合には、AAAに対応付けられているタブ特徴テーブルTFT01を使用し、入力されたオペレータIDがBBBである場合には、BBBに対応付けられているタブ特徴テーブルTFT02を使用し、入力されたオペレータIDがCCCである場合には、CCCに対応付けられているタブ特徴テーブルTFT03を使用して、実施例1と同様にして実行処理を決定する。
また例えば、記憶部13には、4種の原稿サイズにそれぞれ対応するタブ特徴テーブルTFTa,TFTb,TFTc,TFTdの4個のタブ特徴テーブルが記憶されている。タブ特徴テーブルTFTaと、タブ特徴テーブルTFTbと、タブ特徴テーブルTFTcと、タブ特徴テーブルTFTdとの間では、同一のタブID(つまり、同一のタブ特徴)に対して、互いに異なる処理が対応付けて設定されている。タブ特徴テーブルTFTa,TFTb,TFTc,TFTdが記憶部13に記憶されている場合、記憶部13は、さらに、図14に示す原稿サイズテーブルDSTを記憶する。原稿サイズテーブルDSTには、各原稿サイズと、タブ特徴テーブルのテーブル名との対応付けが設定されている。原稿サイズは、例えば、操作部16に対するオペレータの操作によって制御部11に入力され、制御部11から画像処理部15へ出力される。また例えば、画像処理部15が、読取画像RIに含まれる原稿画像DIから原稿サイズを判定する。画像処理部15は、入力または判定された原稿サイズに対応するテーブル名を原稿サイズテーブルDSTから取得し、記憶部13に記憶されている複数のタブ特徴テーブルのうち、取得したテーブル名を持つタブ特徴テーブルを使用して、実施例1と同様の処理を行う。例えば、画像処理部15は、原稿サイズがA4サイズである場合には、A4サイズに対応付けられているタブ特徴テーブルTFTaを使用し、原稿サイズがA5サイズである場合には、A5サイズに対応付けられているタブ特徴テーブルTFTbを使用し、原稿サイズがB4サイズである場合には、B4サイズに対応付けられているタブ特徴テーブルTFTcを使用し、原稿サイズが長尺サイズである場合には、長尺サイズに対応付けられているタブ特徴テーブルTFTdを使用して、実施例1と同様にして実行処理を決定する。
以上のように、実施例2では、記憶部13は、同一のタブ特徴に対して互いに異なる処理がそれぞれ対応付けて設定された複数のタブ特徴テーブルを記憶する。画像処理部15は、記憶部13に記憶されている複数のタブ特徴テーブルのうち、所定の条件に合致するタブ特徴テーブルを使用して、実施例1と同様にして実行処理を決定する。所定の条件として、例えば、オペレータIDまたは原稿サイズ等を用いることが可能である。
こうすることで、各条件に合わせた適切なタブ特徴テーブルを用いて実行処理を決定することができる。
以上、実施例2について説明した。
[実施例3]
画像処理装置20での上記説明における各処理の全部または一部は、各処理に対応するプログラムを画像処理装置20が有するプロセッサに実行させることによって実現しても良い。例えば、上記説明における各処理に対応するプログラムがメモリに記憶され、プログラムがプロセッサによってメモリから読み出されて実行されても良い。また、プログラムは、任意のネットワークを介して画像処理装置20に接続されたプログラムサーバに記憶され、そのプログラムサーバから画像処理装置20にダウンロードされて実行されたり、画像処理装置20が読み取り可能な記録媒体に記憶され、その記録媒体から読み出されて実行されても良い。画像処理装置20が読み取り可能な記録媒体には、例えば、メモリカード、USBメモリ、SDカード、フレキシブルディスク、光磁気ディスク、CD−ROM、DVD、及び、Blu−ray(登録商標)ディスク等の可搬の記憶媒体が含まれる。また、プログラムは、任意の言語や任意の記述方法にて記述されたデータ処理方法であり、ソースコードやバイナリコード等の形式を問わない。また、プログラムは必ずしも単一的に構成されるものに限られず、複数のモジュールや複数のライブラリとして分散構成されるものや、OSに代表される別個のプログラムと協働してその機能を達成するものも含む。
画像処理装置20の分散・統合の具体的形態は図示するものに限られず、画像処理装置20の全部または一部を、各種の付加等に応じて、または、機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。