以下、本実施の形態について図面を参照しながら説明する。なお、機能が同じ構成要素および処理には、全図面を通して同じ符合を付与し、重複する説明を省略する。
図1に、画像形成装置10の要部斜視図を示す。画像形成装置10は一例として、紙等の記録媒体に形成された画像を画像データとして読み込むスキャナ機能、画像データに対応した画像を記録媒体に形成する印刷機能、公衆回線等に接続された他の画像形成装置等に対して、画像データを送信するファクシミリ(facsimile:FAX)機能、及び記録媒体に形成された画像を他の記録媒体に複写する複写機能を有する。
なお、画像形成装置10が有する機能はスキャナ機能、印刷機能、FAX機能、及び複写機能に限定されず、例えば3次元プリンタのように3Dデータに基づいて立体物を形成する機能を含むものであってもよい。
画像形成装置10には、画像形成装置10に備えられた各機能を制御する制御部2が含まれる。そして、画像形成装置10の上部には、例えば原稿読み取り部12が設けられ、原稿読み取り部12の下方に画像形成ユニット19が設けられている。
原稿読み取り部12は、図示しない原稿読み取り装置と原稿カバー16内の原稿搬送部18を含んで構成される。原稿搬送部18は、原稿カバー16に設けられている原稿台16A上に載せられた原稿20を順に引き込んで、図示しない搬送原稿読み取りガラス(「プラテンガラス」ともいう)上に搬送する。そして、原稿読み取り部12は、図示しない搬送原稿読み取りガラス上に搬送された原稿20の画像を、図示しない光学読み取り装置で入力画像70として読み取る。その後、原稿搬送部18は、画像の読み込みが終了した原稿20を原稿カバー16に設けられている排出台16B上に排出する。
一方、画像形成ユニット19は、記録媒体の種別やサイズ毎に分類された用紙収容部28に収容される記録媒体上に、例えば電子写真方式によって入力画像70に基づく画像を形成する。なお、画像形成ユニット19が記録媒体に形成する画像の色に制約はなく、カラー画像であっても白黒画像であってもよい。画像形成ユニット19は、画像形成手段の一例である。
画像形成装置10の利用者(以降、単に「利用者」という)によってスキャナ機能の使用が指示された場合、制御部2は、原稿読み取り部12を制御し、原稿読み取り部12で読み取った原稿20の入力画像70を、例えばハードディスク等の記憶媒体に記憶する。
また、利用者によって印刷機能の使用が指示された場合、制御部2は、画像形成ユニット19を制御し、ユーザによって指定された入力画像70に基づく画像を、例えば紙等の記録媒体に形成する。
また、利用者によってFAX機能の使用が指示された場合、制御部2は、原稿読み取り部12を制御して原稿読み取り部12で読み取った原稿20の入力画像70に基づく画像、又はユーザによって指定された画像を、公衆回線等に接続されたFAX機能を有する指定先の他の画像形成装置へ送信すると共に、当該他の画像形成装置から画像データを受信した場合、画像形成ユニット19を制御して、受信した画像データに基づく画像を記録媒体に形成する。
また、利用者によって複写機能の使用が指示された場合、制御部2は、原稿読み取り部12を制御して原稿読み取り部12で読み取った原稿20の入力画像70に基づく画像、又はユーザによって指定された画像を、画像形成ユニット19を制御して記録媒体に形成する。
一方、画像形成装置10には、利用者による各種機能の実行に関する操作を受け付けると共に、画像形成装置10の機能に関する各種情報を表示するユーザインターフェース装置22(以降、「UI装置22」という)が設けられている。具体的には、UI装置22には、例えばタッチパネルが重畳され、ソフトウェアプログラムによってユーザからの操作を受け付ける表示ボタン等や各種情報が表示される液晶ディスプレイ24、並びに、テンキー及びスタートボタンなどのハードウェアキー26等が設けられている。
更に、UI装置22には、例えばUniversal Serial Bus(USB)メモリやメモリカード等の可搬型記憶媒体を接続し、可搬型記憶媒体に記憶された画像データで表される画像を画像形成装置10に読み込むと共に、例えばスキャナ機能で原稿20から読み取った入力画像70を表す画像データ等、画像形成装置10内部のデータを可搬型記憶媒体に書き込むインターフェースとなる外部端子30を備える。
UI装置22が備えるデバイスは上記の内容に限られず、例えば音声で利用者に情報を通知するスピーカ、または音声で利用者の指示を受け付けるマイク等を備えるようにしてもよい。このように、UI装置22は、画像形成装置10での処理内容を文字、記号、図形、画像および音声等の少なくとも1つを用いて利用者に知らせる報知手段の一例である。
図2は、画像形成装置10の構成例を示す機能ブロック図である。画像形成装置10は、原稿読み取り装置25を備えた原稿読み取り部12、取得部13、設定部15、画像出力部17、画像形成ユニット19およびUI装置22を含む。UI装置22には、例えばタッチパネルおよびハードウェアキー26等を備えた入力部22A、並びに、液晶ディスプレイ24等を備えた出力部22Bを含む。
取得部13は取得手段の一例であり、原稿読み取り部12で読み取られた原稿20の画像を入力画像70として取得し、設定部15へ通知する。また、取得部13は、利用者によってUI装置22の入力部22Aから入力された指示等を取得する。
設定部15は、取得部13から入力画像70を受け付けると、入力画像70に含まれる原稿20の変曲点を検出し、検出した変曲点を線で接続した閉領域を形成することによって、入力画像70における原稿20の範囲を示す基準範囲62を設定する。ここで、変曲点とは、線の進行方向が変化し始める位置に対応した点のことである。また、基準範囲62とは、入力画像70における原稿20の仮の位置を表す範囲である。
設定部15は、設定した基準範囲62を拡張することで、入力画像70における原稿20の確定した位置を表す範囲(以降、「原稿画像66の範囲」という)を設定し、設定した原稿画像66の範囲を画像出力部17に通知する。すなわち、設定部15は設定手段の一例である。
また、設定部15は、UI装置22の出力部22Bと接続され、取得部13から受け付けた入力画像70や、原稿画像66の範囲の設定に伴う各種情報を、出力部22Bを介して利用者に通知する。
画像出力部17は、原稿画像66の範囲を設定部15から受け付けると、入力画像70から原稿画像66の範囲で示された領域を抽出して、抽出した原稿画像66を例えば画像形成ユニット19に出力する。すなわち、画像出力部17は出力手段の一例である。
なお、本実施の形態では、画像出力部17は、抽出した原稿画像66を画像形成ユニット19に出力するものとして説明するが、画像出力部17による原稿画像66の出力先は画像形成ユニット19に限られない。例えば、外部端子30に挿入された可搬型記憶媒体に原稿画像66を出力してもよい。また、例えばインターネット等の通信回線に接続された通信装置を介して、通信回線に接続されたスマートフォンまたはタブレット端末、若しくはパーソナルコンピュータ等の情報端末に原稿画像66を出力するようにしてもよい。
画像形成ユニット19は、画像出力部17から原稿画像66を受け付けると、受け付けた原稿画像66を記録媒体に形成する。
次に、図3を参照して、画像形成装置10の電気系統の要部構成について説明する。画像形成装置10の制御部2は、例えばコンピュータ50を用いて構成される。
コンピュータ50は、CPU(Central Processing Unit)51、RAM(Random Access Memory)52、ROM(Read Only Memory)53、不揮発性メモリ54および入出力インターフェース(Input Output:I/O)55がバス56を介して各々接続され、I/O55には画像形成ユニット19、液晶ディスプレイ24、原稿読み取り装置25、入力デバイス29および通信装置27が接続されている。液晶ディスプレイ24および入力デバイス29は、UI装置22に含まれるデバイスである。
なお、I/O55に接続される液晶ディスプレイ24は一例であり、原稿読み取り装置25で読み取った原稿20の画像を利用者に表示するデバイスであればどのようなものであってもよく、有機EL(Electroluminescence)ディスプレイまたは電子ペーパー等であってもよい。また、入力デバイス29は、マイク、タッチパネルおよびハードウェアキー26といった、利用者からの指示を受け付けるデバイスの総称である。
通信装置27は、画像形成装置10を公衆回線に接続し、FAX機能を有する他の画像形成装置とFAX機能を用いて画像を送受信する。また、通信装置27は、公衆回線だけではなくインターネット等の通信回線に接続し、例えば原稿画像66等のデータを送受信する。
RAM52は、CPU51によるプログラムの実行時のワークエリア等として用いられ、ROM53には、画像形成装置10の動作を規定したプログラムが予め記憶されている。更に、不揮発性メモリ54には、プログラムの実行時にCPU51が参照する各種パラメータ及びテーブル等が予め記憶される。CPU51は、取得部13、設定部15および画像出力部17に相当する機能を実行する
なお、図3に示したI/O55に接続される装置は一例であり、図3に示した装置等に限られないことは言うまでもない。
次に、本実施形態に係る画像形成装置10の作用について説明する。
図4は、原稿読み取り装置25で原稿20が読み取られた場合に、制御部2のCPU51によって実行される画像処理プログラムにおける画像処理の流れの一例を示すフローチャートである。以降では、原稿20の一例である身分証明書60を原稿読み取り装置25で読み取る例について説明する。
まず、ステップS10において、CPU51は、原稿読み取り装置25で読み取った入力画像70を取得し、例えばRAM52の予め定めた領域に記憶する。
入力画像70の形状は原稿読み取り装置25における原稿20の読み取り領域の形状に従う。ここでは一例として、原稿20の読み取り領域は矩形とする。すなわち、入力画像70の形状は矩形となる。そして、例えば入力画像70の左上の頂点の座標を原点とし、原点から入力画像70の右上の頂点に沿った方向をX軸、原点から入力画像70の左下に沿った方向をY軸とするXY座標系を入力画像70に対して設定する。
ステップS20において、CPU51は、ステップS10で取得した入力画像70に対して、例えば公知のエッジ検出処理等を実行し、身分証明書60の輪郭に相当する線分を抽出する。そして、CPU51は、エッジ検出処理を実行した入力画像70を予め定めた方向に走査しながら線分の変曲点を検出し、検出した線分の変曲点の座標を身分証明書60の角に相当する座標とする。
ここで、「予め定めた方向」とはX軸に沿った方向をいい、CPU51は、原点からX軸に沿って入力画像70を走査しながら入力画像70の画素を読み込み、入力画像70の右端まで達すると、今度は走査ラインをY軸方向に1ラインずらすことで、入力画像70全体を走査する。
図5は、矩形の身分証明書60を含む入力画像70から検出した、身分証明書60の角に相当する座標の一例を示す図である。この場合、線分の変曲点は矩形の頂点となることから、身分証明書60の4つの頂点に対応した座標P1〜座標P4が身分証明書60の角に相当する座標として検出される。
一方、図6は、四隅の角に丸みを帯びた身分証明書60を含む入力画像70から検出した、身分証明書60の角に相当する座標の一例を示す図である。この場合、図5に示した矩形の身分証明書60とは異なり、身分証明書60の輪郭に沿って直線から曲線に移行する4つの位置が、身分証明書60の4つの角に相当する座標P1〜座標P4として検出される。
ステップS30において、CPU51は、ステップS10で取得した入力画像70に身分証明書60が含まれるか否かを判定する原稿確認処理を実行する。
図7は、原稿確認処理の流れの一例を示すフローチャートである。
ステップS300において、CPU51は、図4のステップS20で、身分証明書60の角に相当する3つ以上の座標を検出したか否かを判定する。身分証明書60の中には、四隅の角に丸みを帯びた身分証明書60があるとはいえ、身分証明書60の形状は、円や台形等の形状に比べて矩形に近いことが多いため、例えば3つの座標が検出されていれば、未検出の身分証明書60の角に相当する座標は、検出された3つの座標から推定される。
また、3つ以上の複数の座標が検出されていることから、検出された座標は、プラテンガラスに付着したごみや疵によるものとは考えにくく、身分証明書60の輪郭における変曲点に対応した座標と考えられる。
更に、検出された座標が4つの場合は、検出された座標が3つの場合よりも原稿20である蓋然性が高い。
したがって、ステップS300の判定処理が肯定判定の場合には、後ほど説明するステップS340に移行する。
一方、ステップS300の判定処理が否定判定の場合、すなわち、身分証明書60の角に相当する座標が2つ以下しか検出されていない場合は、ステップS310に移行する。
ステップS310において、CPU51は、図4のステップS20で検出された身分証明書60の角に相当する座標が、2つであるか否かを判定し、否定判定の場合、すなわち、検出された座標が1つ以下の場合には、ステップS350に移行する。
図8は、原稿読み取り装置25における原稿20の読み取り領域に対して、例えば身分証明書60の3隅がはみ出すように置かれたため、入力画像70から身分証明書60の3隅がはみ出している場合の一例を示す模式図である。
この場合、入力画像70に含まれる身分証明書60の角に相当する座標は座標P11つであるため、検出された座標P1から他の角に相当する座標P2〜座標P4を推定することは困難である。また、検出された座標が1つであることから、座標P1がプラテンガラスに付着したごみや疵に対応した座標であることも考えられる。
したがって、ステップS350において、CPU51は、例えばRAM52に記憶されるフラグFの値を“0”に設定し、図7に示す原稿確認処理を終了する。ここで、フラグFは、値が“0”の場合、入力画像70に何れの原稿20も含まれないことを表し、値が“1”の場合、入力画像70に何らかの原稿20が含まれることを表す変数である。
一方、ステップS310の判定処理が肯定判定の場合、すなわち、検出された座標が2つの場合には、ステップS320に移行する。
図9は、原稿読み取り装置25における原稿20の読み取り領域に対して、例えば身分証明書60の2隅がはみ出すように置かれたため、入力画像70から身分証明書60の2隅がはみ出している場合の一例を示す模式図である。
検出された座標が2つであっても、当該座標間を接続する直線L1の長さが、画像形成装置10に予め登録されている原稿20の幅または高さに近い値であれば、登録されている原稿20の何れかが入力画像70に含まれる蓋然性が高いと考えられる。
したがって、ステップS320において、CPU51は、検出された2つの座標(図9の例では、座標P1と座標P2)を接続する直線L1の長さを算出する。
ステップS330において、CPU51は、ステップS320で算出した直線L1の長さが、例えば不揮発性メモリ54に予め記憶されている原稿20の幅または高さと同じか否かを判定する。なお、「直線L1の長さが原稿20の幅または高さと同じ」とは、直線L1の長さが、登録されている原稿20の幅または高さと同じとみなせる範囲の長さである場合も含まれる。
図10は、不揮発性メモリ54に記憶される原稿20の大きさの一例を示す図である。なお、原稿20の幅Wとは、原稿20の記載内容が天地逆転しないように、原稿20を原稿読み取り装置25の原稿20の読み取り領域に置いた場合の水平方向に沿った長さであり、原稿20の高さHとは、原稿20の幅Wと直交する方向の長さをいう。
図10に示すように、不揮発性メモリ54には、例えば身分証明書60の一例であるIDカード60A、2つ折りした戸籍(半面)60B、戸籍(半面)60Bを折り目に従って展開した戸籍(全面)60C、2つ折りしたパスポート(半面)60Dおよびパスポート(半面)60Dを折り目に従って展開したパスポート(全面)60E等の各々の幅Wおよび高さHが含まれる。
登録された原稿20の幅Wまたは高さHに、ステップS320で算出した直線L1の長さと同じ長さが含まれる場合には、入力画像70に身分証明書60が含まれる蓋然性が高いと考えられる。また、例えば2つの座標しか検出されていなくても、登録された原稿20の大きさと検出された2つの座標から、未検出の身分証明書60の角に相当する残り2つの座標が推定される。したがって、登録された原稿20の幅Wまたは高さHに、ステップS320で算出した直線L1の長さと同じ長さが含まれる場合には、ステップS340に移行する。この際、CPU51は、算出した直線L1の長さから特定した身分証明書60の種類を、例えばRAM52に記憶する。
なお、図10に示すように、例えば身分証明書60がパスポートの場合、パスポート(半面)60Dとパスポート(全面)60Eでは、共に高さHが135mmであることから、パスポート(半面)60Dとパスポート(全面)60Eを区別することが困難な場合がある。
この場合、CPU51は、UI装置22の液晶ディスプレイ24を制御して、利用者にパスポート(半面)60Dとパスポート(全面)60Eの何れを画像形成装置10で読み取ろうとしたかを選択させる画面を表示すればよい。
図11は、直線L1の長さが複数の登録された原稿20の大きさと同じ場合に液晶ディスプレイ24に表示される情報画面32の一例である。
情報画面32には、例えば情報領域24Aと情報領域24Bの2つの領域が含まれ、情報領域24Aには、原稿読み取り装置25から取得した入力画像70が表示される。また、情報領域24Bには、例えば文字、記号または図形を用いた利用者への通知、並びに、利用者の指示を受け付けるソフトウェアボタン等が表示される。
図11の例では、情報領域24Bに身分証明書60の半面を読み取ろうとしているのか、全面を読み取ろうとしているのかを利用者に選択させる「半面」ボタンと「全面」ボタンが表示される。したがって、押下されたボタンの種類と算出した直線L1の長さから、未検出の身分証明書60の角に相当する残り2つの座標が推定されることになる。
ステップS340において、CPU51は、フラグFの値を“1”に設定し、図7に示す原稿確認処理を終了する。なお、上述したように、ステップS300の判定処理が肯定判定の場合にもステップS340が実行されるため、フラグFの値は“1”に設定される。
一方、登録された原稿20の幅Wまたは高さHに、ステップS320で算出した直線L1の長さと同じ長さが含まれない場合には、身分証明書60の大きさを推定する情報が存在しないため、検出された2つの座標から身分証明書60の未検出の角に相当する残り2つの座標を推定することは困難である。したがって、ステップS350に移行する。
ステップS350において、CPU51は、フラグFの値を“0”に設定し、図7に示す原稿確認処理を終了する。以上の処理が、図4のステップS30における原稿確認処理である。
なお、上記では身分証明書60を例にして原稿確認処理について説明したが、原稿確認処理は身分証明書60以外の種類の原稿20に対しても適用されることは言うまでもない。
ステップS40において、CPU51は、ステップS30の原稿確認処理での処理結果を参照して、入力画像70に身分証明書60が含まれているか否かを判定する。具体的には、フラグFの値が“0”であれば、入力画像に身分証明書60が含まれていないと判定し、ステップS140に移行する。
ステップS140において、CPU51は、UI装置22の液晶ディスプレイ24を制御して、身分証明書60全体が入力画像70に含まれるように、身分証明書60を原稿読み取り装置25における原稿20の読み取り領域に配置することを表示する。これによって、利用者に身分証明書60の再読み取り(「再スキャン」ともいう)の実行を喚起して、図4に示した画像処理を終了する。
図12は、ステップS140で液晶ディスプレイ24に表示される情報画面32の一例である。ステップS140の処理では、情報領域24Bに、例えば「原稿全体が表示されるように、原稿を置きなおしてください。」という文章と共に、「OK」ボタンが表示される。これにより、利用者に身分証明書60の再スキャンの実行を喚起する。更に、利用者に「OK」ボタンを押下させることで、表示した文章を利用者に確認させる効果を高める。
また、ステップS140の処理では、情報領域24Aに入力画像70を表示することで、利用者に身分証明書60の位置ずれを視覚的に認識させ、身分証明書60を原稿20の読み取り領域にどのように置けば、身分証明書60全体が入力画像70に含まれるようになるかを把握させるための情報を提供する。
一方、ステップS40の判定処理が肯定判定の場合、すなわち、フラグFの値が“1”であれば、入力画像に身分証明書60が含まれると判定し、ステップS50に移行する。
ステップS50において、CPU51は、ステップS20で検出された座標が4つか否かを判定する。
検出された座標が4つあれば、図13に示すように、検出された座標から、入力画像70における身分証明書60の範囲を示す基準範囲62が設定される。したがって、後述するステップS60およびステップS70の処理を実行することなく、ステップS80に移行する。
一方、検出された座標が4つない場合、ステップS60に移行する。具体的には、ステップS40の判定処理で、入力画像70に身分証明書60が含まれていると判定されていることから、検出された座標が2つまたは3つの場合にステップS60に移行することになる。
ステップS60において、CPU51は、身分証明書60の未検出の座標を算出する。
ステップS20で検出された座標が3つの場合、上述したように、身分証明書60の形状は矩形で近似されることから、検出された3つの座標から、身分証明書60の未検出の角に相当する残り1つの座標が算出される。
ステップS20で検出された座標が2つの場合、ステップS30の原稿確認処理で入力画像70に含まれる身分証明書60の種類が特定されることから、特定された身分証明書60の種類と検出された2つの座標を用いて、身分証明書60の未検出の角に相当する残り2つの座標が算出される。
ステップS70において、CPU51は、ステップS60で算出した身分証明書60の未検出の角に相当する座標が、入力画像70の範囲外であるか否かを判定する。
算出した座標が入力画像70の範囲外にある場合は、身分証明書60が原稿読み取り装置25における原稿20の読み取り領域をはみ出すように置かれたと考えられるため、ステップS140に移行し、利用者に身分証明書60の再読み取りの実行を喚起する。
一方、算出した座標が入力画像70の範囲内にある場合は、身分証明書60の基準範囲62が入力画像70に含まれるため、ステップS80に移行する。
なお、ステップS70では、ステップS60で算出した身分証明書60の未検出の角に相当する座標が入力画像70の範囲外にあるか否かを判定したが、ステップS20で検出した座標とステップS60で算出した座標とを合わせた4つの座標が、入力画像70の範囲外にあるか否かを判定するようにしてもよい。
身分証明書60の角に相当する4つの座標がわかれば、基準範囲62が設定されることから、基準範囲62を身分証明書60の範囲としてもよい。しかし、四隅の角に丸みを帯びた身分証明書60の場合、各々の座標は変曲点の座標であるため、身分証明書60の四隅の角から離れた地点を示すことがある。したがって、図14に示すように、基準範囲62を身分証明書60の範囲に設定すると、身分証明書60の枠部分64が切り取られてしまうことがある。
また、身分証明書60が矩形であっても、原稿読み取り装置25における入力画像70の読み取り精度が低くなるに従って、検出した座標の位置が矩形の頂点からずれていく傾向がある。例えば、原稿読み取り装置25における入力画像70の読み取り精度が25dpi(dots per inch)の場合、入力画像70の読み取り精度が600dpiの原稿読み取り装置25に比べて、矩形の頂点に対する検出した座標のずれ量が大きくなる。
したがって、図15に示すように、身分証明書60が矩形であっても、基準範囲62を身分証明書60の範囲に設定すると、身分証明書60の枠部分64が切り取られてしまうことがある。
したがって、ステップS80において、CPU51は、身分証明書60の枠部分64が切り取られないように原稿画像66の範囲を設定する枠切れ補正処理を実行する。
図16は、枠切れ補正処理を説明するための模式図である。CPU51は、身分証明書60の全体が含まれるように基準範囲62を拡張することで、原稿画像66の範囲を設定する。具体的には、例えば、CPU51は、基準範囲62を設定する各々の座標P1〜座標P4を、座標移動方向に予め定めた幅だけ基準範囲62の外側に向かって移動させ、移動後の座標P1〜座標P4に対応するそれぞれの座標P1A〜座標P4Aを、原稿画像66の範囲に設定する。
ここで、「座標移動方向」とは座標P1〜座標P4の移動方向であり、座標P1〜座標P4が基準範囲62の外側に向かう方向であれば特に制約はない。例えば、座標P1と座標P2を接続する線分の延長方向、座標P1と座標P4を接続する線分の延長方向または基準範囲62の対角線の延長方向であってもよい。一例として、図16では、基準範囲62を設定する各々の線分に対して135度の傾斜角を有する線分の方向ARを座標移動方向としている。
また、「予め定めた幅」とは、座標P1〜座標P4の座標移動方向に沿った移動量であり、身分証明書60の形状によらずに身分証明書60の全体が含まれるような移動量が、画像形成装置10の実機による実験や画像形成装置10の設計仕様に基づくコンピュータシミュレーション等により設定されている。
座標P1〜座標P4の移動に伴って基準範囲62が拡張されることから、以降では、座標P1〜座標P4の座標移動方向に沿った移動量を「拡張幅」ということがある。
ステップS80の枠切れ補正処理によって、身分証明書60全体を含む原稿画像66の範囲が得られる。原稿画像66には身分証明書60全体が含まれることから、原稿画像66には、身分証明書60を配置した原稿20の読み取り領域が、身分証明書60の背景として含まれることになる。
しかしながら、座標P1〜座標P4の拡張幅によっては、図17に示すように、原稿画像66の範囲が入力画像70の範囲を超える場合がある。この場合、設定した範囲の原稿画像66が入力画像70から抽出されない。
したがって、ステップS90において、CPU51は、ステップS80で設定した原稿画像66の範囲を示す座標P1A〜座標P4Aの各々が、入力画像70の範囲内に含まれるか否かを判定する。
座標P1A〜座標P4Aの各々が入力画像70の範囲内に含まれる場合、後述するステップS100を実行することなく、ステップS110に移行する。
一方、座標P1A〜座標P4Aの少なくとも1つが入力画像70の範囲外にはみ出している場合、ステップS100に移行する。
ステップS100において、CPU51は、ステップS80で設定した原稿画像66の範囲を入力画像70の範囲内に補正する枠切れ再補正処理を実行する。
図18は、枠切れ再補正処理の流れの一例を示すフローチャートである。
ステップS400において、CPU51は、入力画像70の範囲外にはみ出している座標のうちで、はみ出し量が最も少ない座標を選択する。座標のはみ出し量は、例えば入力画像70の範囲外にはみ出している各座標から座標移動方向に沿った入力画像70の輪郭線までの距離で算出すればよい。
なお、例えば図17に示したように、1つの座標P2Aしか入力画像70の範囲外にはみ出していない場合については、座標のはみ出し量を算出することなく、入力画像70の範囲外にはみ出している座標を選択すればよい。
ステップS410において、CPU51は、ステップS400で選択した座標(以降、「選択座標」という)が入力画像70の範囲内に含まれるように、選択座標を座標移動方向に沿って移動させる。
なお、移動させた選択座標と原稿画像66の範囲を示す他の3つの座標をそのまま直線で接続した場合、原稿画像66の形状が矩形と異なる形状となってしまう。したがって、CPU51は、原稿画像66の形状が矩形となるように、原稿画像66の輪郭線に沿って選択座標と隣り合う他の2つの座標(以降、「隣接座標」という)の位置も補正する。
図19は、座標P2Aが入力画像70の範囲外にはみ出している場合の座標P2Aの移動について示した模式図である。
CPU51は、座標P2Aが入力画像70の範囲内に含まれるように座標P2Bに移動させた後、原稿画像66の形状が矩形となるように、座標P2Aの隣接座標である座標P1Aと座標P3Aの位置を原稿画像66の輪郭線に沿って移動させる。
ステップS420において、CPU51は、ステップS410で入力画像70の範囲内に移動させた選択座標を含むように、原稿画像66の範囲を設定する。図19の例では、座標P1B、座標P2B、座標P3Bおよび座標P4Aを頂点とする矩形が原稿画像66の範囲となる。したがって、選択座標および隣接座標における座標移動方向の拡張幅は、ステップS80で拡張した基準範囲62に対する拡張幅よりも縮小される。
ステップS430において、CPU51は、ステップS420で再設定した原稿画像666の範囲を参照し、入力画像70の範囲外にはみ出している座標がまだあるか否かを判定する。肯定判定の場合にはステップS400に移行し、上述したステップS400〜S430を繰り返すことで、原稿画像66の範囲が入力画像70の範囲内に含まれるようにする。
なお、この場合、変曲点P1から座標P1Bまでの距離、変曲点P2から座標P2Bまでの距離、変曲点P3から座標P3Bまでの距離、および変曲点P4から座標P4Aまでの距離を、基準範囲62を表す輪郭の各頂点における拡張幅とみなす。この場合、変曲点P1に対する拡張幅と、変曲点P3に対する拡張幅は同じになる。
図20は、2つの座標(座標P2Aと座標P3A)が入力画像70の範囲外にはみ出している原稿画像66の一例を示す図である。
この場合、座標P2Aと座標P3Aのうち、はみ出し量が少ない座標P2AがステップS400で最初に選択される。そして、図21に示すように、座標P2Aが入力画像70の範囲内に含まれるように座標P2Aを移動させることによって、座標P1B、座標P2B、座標P3Bおよび座標P4Aで示される原稿画像66の範囲が設定される。
しかしながら、座標P2Aを入力画像70の範囲内に含めるように補正しても、依然として座標P3Bは入力画像70の範囲外に含まれる。この場合、ステップS430の判定処理が肯定判定となり、今度は座標P3Bを選択座標として、ステップS400〜S430が実行される。そして、図22に示すように、座標P3Bが入力画像70の範囲内に含まれるように座標P3Bを座標P3Cの位置まで移動させることによって、座標P1B、座標P2C、座標P3Cおよび座標P4Bで示される原稿画像66の範囲が設定される。
座標P1B、座標P2C、座標P3Cおよび座標P4Bを頂点とする矩形で示される原稿画像66は入力画像70に含まれ、かつ、原稿画像66には身分証明書60全体が含まれる。
なお、入力画像70の範囲外にはみ出している座標が3つ以上の場合でも、上述した処理と同様の処理によって、原稿画像66の範囲が入力画像70の範囲内に設定されることになる。
以上の処理によって、全ての座標が入力画像70の範囲内に含まれると、ステップS430の判定処理が否定判定となり、図18に示す枠切れ再補正処理が終了する。
引き続き、図4のステップS110において、CPU51は、ステップS80で設定された原稿画像66の範囲またはステップS100で再設定された原稿画像66の範囲を入力画像70から切り出して、原稿画像66を抽出する。
ステップS110で抽出した原稿画像66は、場合によっては入力画像70上に設定したX軸方向に対して傾斜していることがある。
図23は、X軸方向に対して原稿画像66が傾斜している場合の一例を示す図である。図23に示すように、例えばX軸方向に対して原稿画像66の幅方向が傾斜角αで傾斜している場合、そのまま画像形成ユニット19で原稿画像66を記録媒体に形成すると、原稿画像66が記録媒体の各辺に対して傾斜することになり、原稿画像66の内容が読み取りにくくなる。
したがって、ステップS120において、CPU51は、傾斜角αが0度に近づくように原稿画像66を回転移動して、原稿画像66の幅方向がX軸方向の方向に沿うように配置する原稿画像角度補正処理を実行する。
ステップS130において、CPU51は、ステップS120で配置を補正した原稿画像66の画像データを画像形成ユニット19に出力して、図4に示した画像処理を終了する。
原稿画像66に対応した画像データを受け付けた画像形成ユニット19は、記録媒体に原稿画像66を形成する。
このように、図4に示した画像処理を実行するCPU51を含む制御部2は、画像処理装置として機能する。
なお、図4のステップS20では変曲点を検出するため、XY座標系の原点からX軸に沿って入力画像70を走査しながら入力画像70の画素を読み込み、入力画像70の右端まで達すると、今度は走査ラインをY軸方向に1ラインずらすことで、入力画像70全体を走査することを説明した。
したがって、四隅の角に丸みを帯びた身分証明書60の角に相当する座標を検出する場合、原稿20の読み取り領域に対する身分証明書60の配置状態によっては、座標の検出精度が変化することがある。
図24は、四隅の角に丸みを帯びた身分証明書60の幅方向を、X軸方向に沿って配置した場合の入力画像70の一例を示す図である。この場合、身分証明書60の上辺を示す輪郭線に沿って変曲点Pの検出が行われるため、身分証明書60の角(点PN)から離れた位置に変曲点Pが検出されることがある。
一方、図25は、四隅の角に丸みを帯びた身分証明書60の幅方向を、X軸方向に対して傾斜させて配置した場合の入力画像70の一例を示す図である。この場合、身分証明書60の四隅の角に近い位置から変曲点Pの検出が行われるため、図24の配置と比較して、点PNに近い位置に変曲点Pが検出される傾向が見られる。
検出される変曲点Pが点PNに近づく程、変曲点Pを接続して得られる基準範囲62が、身分証明書60の大きさに近づくことになる。
したがって、CPU51は、入力画像70のX軸方向に対する基準範囲62の幅方向の傾斜角が大きくなるに従って、基準範囲62に対する拡張幅を予め定めた拡張幅より小さくするようにしてもよい。この場合、基準範囲62に対する拡張幅を予め定めた拡張幅より小さくしても、身分証明書60全体が原稿画像66の範囲に含まれる。したがって、原稿画像66の大きさが身分証明書60の原寸大に近づき、原稿画像66において、身分証明書60の周囲に写り込む背景の割合が抑制される。
なお、入力画像70のX軸方向に対する基準範囲62の幅方向の傾斜角は、約35度以上約55度以下が好ましく、約45度が特に好ましい。したがって、CPU51は、利用者に身分証明書60の配置方向を指示する情報を通知するように、UI装置22を制御してもよい。
図26は、身分証明書60の配置に関する情報を表示する情報画面32の一例を示す図である。CPU51は、例えば図4のステップS20で検出した変曲点Pの座標から、入力画像70のX軸方向に対して身分証明書60が傾斜しているか否か判定し、身分証明書60の傾斜角が基準傾斜角以下の場合には、液晶ディスプレイ24に図26に示す情報画面32を表示してもよい。
図26の情報画面32における情報領域24Aには、例えば入力画像70を表示し、利用者に身分証明書60の配置状態を視覚的に認識させる。また、情報領域24Bには、例えば「身分証明書が斜め45度になるように配置してください」という文章と共に、「OK」ボタンを表示して、利用者に原稿20の読み取り領域に身分証明書60を傾斜して配置した上で、身分証明書60の再スキャンの実行するよう喚起する。
また、原稿読み取り装置25における入力画像70の読み取り精度が高くなるに従って、身分証明書60の角を表す点PNに近い位置に変曲点Pが検出される傾向が見られる。したがって、CPU51は、原稿読み取り装置25における入力画像70の読み取り精度が高くなるに従って、基準範囲62に対する拡張幅を予め定めた拡張幅より小さくするようにしてもよい。
例えば、原稿読み取り装置25における入力画像70の読み取り精度が25dpiの場合は、基準範囲62に対する拡張幅を4mm、600dpiの場合は、基準範囲62に対する拡張幅を2mmにするといったように、原稿読み取り装置25の読み取り精度と拡張幅との対応関係を不揮発性メモリ54に記憶しておけば、原稿読み取り装置25の読み取り精度に応じた拡張幅が基準範囲62に適用される。
この場合も、原稿画像66に身分証明書60全体が含まれた状態で原稿画像66の大きさが身分証明書60の原寸大に近づくため、原稿画像66において、身分証明書60の周囲に写り込む背景の割合が抑制される。
また、利用者によっては、自らの意思に基づいて原稿画像66の大きさを調整したい場合がある。したがって、画像形成装置10は、利用者から基準範囲62に適用する拡張幅の指定を受け付け、受け付けた拡張幅で基準範囲62を拡張するようにしてもよい。
図27は、拡張幅の設定を受け付ける情報画面32の一例を示す図である。情報画面32の情報領域24Bには、例えば2mm、3mm、4mmといった規定の拡張幅を設定するためのソフトウェアボタン34A、34B、34Cと、任意の拡張幅を設定するためのエディットボックス34Dが表示される。
利用者によってソフトウェアボタン34Aが押下された場合は“2mm”、ソフトウェアボタン34Bが押下された場合は“3mm”、ソフトウェアボタン34Cが押下された場合は“4mm”が拡張幅として設定される。また、利用者によってエディットボックス34Dに数値が入力された場合は、入力された数値(単位はmm)が拡張幅として設定される。
また、図4に示した画像処理において、ステップS130で例えば画像形成ユニット19に原稿画像66を出力する前に、画像処理プログラムに従って自動的に算出された拡張幅が設定された原稿画像66を、情報画面32の情報領域24Aに表示するようにしてもよい。
この場合、画像形成装置10は、拡張幅を修正するための編集画面を情報画面32の情報領域24Bに表示し、利用者が指定した拡張幅の修正量に従って原稿画像66の大きさを調整するようにしてもよい。
また、利用者によっては、身分証明書60の表面と裏面を1枚の記録媒体に複写したいことがある。
この場合、画像形成装置10は、原稿読み取り装置25で身分証明書60の表面と裏面が読み込まれてから、身分証明書60の表面を含む入力画像70と、身分証明書60の裏面を含む入力画像70の各々に対して、図4に示した画像処理を実行する。そして、画像形成装置10は、図4に示した画像処理によって得られた身分証明書60の表面と裏面に対応する各々の原稿画像66を1つの記録媒体に形成するように、RAM52で原稿画像66の配置編集を行う。
画像形成装置10が原稿画像66の配置編集を行う場合に、同じ身分証明書60でありながら、身分証明書60の表面と裏面に対応する各々の原稿画像66の大きさが異なると、各々の原稿画像66の大きさが同じ場合と比較して、身分証明書60の有効性の確認等に時間を要することがある。
したがって、画像形成装置10は、同じ種類の身分証明書60の画像を含む複数の原稿画像66に対して配置編集を行う場合、各々の原稿画像66に身分証明書60全体が含まれ、かつ、各々の原稿画像66の大きさが同じになるように、拡張幅を調整してもよい。
更に、利用者によっては、家族の同じ種類の身分証明書60を1枚の記録媒体に複写したいことがある。
この場合、利用者は、原稿読み取り装置25における原稿20の読み取り領域に、複数の同じ種類の身分証明書60を配置して、各々の身分証明書60を原稿読み取り装置25で読み込む。したがって、画像形成装置10では、複数の同じ種類の身分証明書60の画像が含まれた入力画像70が取得される。
画像形成装置10は、こうした入力画像70から抽出した、各々の身分証明書60に対応する原稿画像66に対して配置編集を行う場合にも、各々の原稿画像66に身分証明書60全体が含まれ、かつ、各々の原稿画像66の大きさが同じになるように、拡張幅を調整してもよい。
このように本実施の形態に係る画像形成装置10によれば、原稿読み取り装置25から取得した入力画像70に含まれる線分の変曲点Pを検出して、原稿20の基準範囲62を設定する。そして、画像形成装置10は、原稿20の基準範囲62に拡張して、原稿20全体を含む原稿画像66の範囲を設定する。
したがって、画像形成装置10では、原稿読み取り装置25の解像度または原稿20の形状に関わらず、原稿の背景部分の映り込みを抑制しつつ、原稿20全体が含まれる原稿画像66が得られる。
以上、実施の形態を用いて本発明について説明したが、本発明は実施の形態に記載の範囲には限定されない。本発明の要旨を逸脱しない範囲で実施の形態に多様な変更又は改良を加えることができ、当該変更又は改良を加えた形態も本発明の技術的範囲に含まれる。例えば、本発明の要旨を逸脱しない範囲で処理の順序を変更してもよい。
上述した実施の形態では、一例として画像形成装置10における画像処理をソフトウェアで実現する形態について説明したが、図4に示したフローチャートと同等の処理をハードウェアで処理させるようにしてもよい。この場合、画像処理をソフトウェアで実現する場合に比べて、処理の高速化が図られる。
また、上述した実施の形態では、画像処理プログラムがROM52にインストールされている形態を説明したが、これに限定されるものではない。本発明に係る画像処理プログラムは、コンピュータ読み取り可能な記録媒体に記録された形態で提供することも可能である。例えば、本発明に係る画像処理プログラムを、CD(Compact Disc)−ROM、又はDVD(Digital Versatile Disc)−ROM等の光ディスクに記録された形態で提供してもよい。また、本発明に係る画像処理プログラムを、USBメモリ及びフラッシュメモリ等の半導体メモリに記録された形態で提供してもよい。
更に、本発明に係る画像処理プログラムを、通信回線を介して接続された他の情報端末から取得するようにしてもよい。