(57)【要約】【課題】撮像画像と基準画像を比較して撮像画像の良否を検査する画像検査装置において、原稿が撮像範囲からはみ出していても検査精度を向上させる。【解決手段】  エッジ有効部直線式算出部１２６は、上下左右の各辺についてエッジ有効部直線式算出処理を行なう。原稿頂点設定処理部１３２は、算出された直線式を参照して撮像画像における原稿の頂点座標を特定する。はみ出し場所判定処理部１３４は、頂点座標が撮像範囲からはみ出しているか否かを判定する。境界部分特定処理部１３６は、頂点座標が撮像範囲からはみ出していると判定された原稿頂点についての撮像範囲との境界部分を特定する。非検査領域設定部１３８は、境界部分を示す座標情報とはみ出している原稿頂点の座標情報とに基づいて非検査領域を画定する。画像検査処理部２００は、非検査領域設定部１３８により確定された非検査領域を検査対象から除外して検査を行なう。【選択図】図４
2004310726.tif 000002
【特許請求の範囲】
【請求項１】
原稿を光学的に読み取って得た撮像画像と検査用の基準画像とを比較することにより前記撮像画像を検査する画像検査方法であって、
前記撮像画像における前記原稿の辺縁を示す線分を求め、
この求めた線分と撮像範囲を示す境界線との位置関係を特定し、
この特定した位置関係に基づいて、撮像範囲からはみ出している原稿部分を非検査領域に設定し、
前記非検査領域を検査対象から除外しつつ、前記基準画像と前記撮像画像における前記原稿部分の画像とを比較することで、前記原稿部分の画像を検査する
ことを特徴とする画像検査方法。
【請求項２】
原稿を光学的に読み取って得た撮像画像と検査用の基準画像とを比較することにより前記撮像画像を検査する画像検査装置であって、
前記原稿を撮影して撮像画像を取得する撮像部と、
前記撮像部により取得された前記撮像画像における前記原稿の辺縁を示す線分を求める線分算出部と、
前記線分算出部により求められた線分と撮像範囲を示す境界線との位置関係を特定する位置関係特定処理部と、
前記位置関係特定処理部により特定された位置関係に基づいて撮像範囲からはみ出している原稿部分を非検査領域に設定する非検査領域設定部と、
前記非検査領域設定部により設定された前記非検査領域を検査対象から除外しつつ、前記基準画像と前記撮像画像における前記原稿部分の画像とを比較する画像比較部と、
前記画像比較部による比較結果に基づいて、前記原稿部分の画像を検査する画像検査部と
を備えたことを特徴とする画像検査装置。
【請求項３】
前記原稿の形状が略角形状を呈しており、
前記線分算出部は、前記撮像部により取得された、前記略角形状の原稿の辺縁のうちの撮像範囲内に存する原稿辺縁を示す直線を求め、
前記位置関係特定処理部は、前記線分算出部が求めた前記直線について、所定の２つの直線の組合せによる交点座標を特定することで前記略角形状の原稿の頂点の座標を特定し、前記線分算出部が求めた前記直線の数が前記略角形状の原稿の辺縁の数よりも少ないときには、前記線分算出部が求めた前記直線と、略角形状の前記原稿に対応した基準画像の各辺縁間の比とに基づいて、撮像範囲外に存在する前記略角形状の、原稿の頂点の座標を特定し、
前記非検査領域設定部は、前記位置関係特定処理部により特定された前記原稿の頂点の座標に基づいて、撮像範囲からはみ出している原稿部分を非検査領域に設定する
ことを特徴とする請求項２に記載の画像検査装置。
【請求項４】
前記原稿の形状が略角形状を呈しており、
前記線分算出部は、前記撮像部により取得された、前記略角形状の原稿の辺縁を示す直線式を求める直線式算出部であり、
前記位置関係特定処理部は、前記直線式算出部により求められた直線式と撮像範囲を示す境界線との交点座標を特定する境界部分特定処理部である
ことを特徴とする請求項２に記載の画像検査装置。
【請求項５】
前記直線式算出部により求められた直線式を参照して撮像画像における原稿の頂点座標を特定する原稿頂点設定処理部と、
前記原稿頂点設定処理部が特定した頂点座標の内、撮像範囲からはみ出している頂点座標を特定するはみ出し場所判定処理部とを備え、
前記非検査領域設定部は、前記はみ出し場所判定処理部により特定された前記頂点座標を参照して前記非検査領域を設定する
ことを特徴とする請求項４に記載の画像検査装置。
【請求項６】
前記直線式算出部により求められた撮像範囲内に存する原稿辺縁を示す直線式を参照して撮像範囲内に存する原稿頂点座標を特定する原稿頂点設定処理部と、
前記原稿頂点設定処理部が取得した撮像範囲内の原稿頂点と、略角形状の前記原稿に対応した基準画像の各辺縁間の比とに基づいて、撮像範囲外に存在する原稿頂点の座標を推測するはみ出し頂点座標推定処理部と
を備え、
前記非検査領域設定部は、前記原稿頂点設定処理部が取得した撮像範囲内の原稿頂点と、前記はみ出し頂点座標推定処理部が取得した、撮像範囲内の原稿頂点との各座標を参照して、前記非検査領域を設定する
ことを特徴とする請求項４に記載の画像検査装置。
【請求項７】
前記撮像画像からエッジ部分を抽出するエッジ抽出部と、
前記エッジ抽出部により抽出されたエッジ部分における有効成分を特定するエッジ有効部検出部と
を備え、
前記直線式算出部は、前記エッジ有効部検出部により特定された有効なエッジ部分を参照して前記直線式を求める
ことを特徴とする請求項３または４に記載の画像検査装置。
【請求項８】
前記エッジ有効部検出部は、
前記エッジ抽出部により抽出されたエッジ部分に対して、所定方向にエッジ画素を探索するエッジ追跡部と、当該エッジ追跡部が探索したエッジ画素の数をカウントするエッジ画素カウント部と
を有し、
前記エッジ追跡部が前記エッジ抽出部により抽出された前記エッジ部分をほぼ直線状に探索する過程で、前記エッジ画素カウント部によってエッジ画素が所定数以上カウントされたとき、それらのエッジ画素を前記有効なエッジ部分として検出する
ことを特徴とする請求項７に記載の画像検査装置。
【請求項９】
前記はみ出し場所判定処理部は、前記直線式算出部が前記エッジ有効部検出部により特定された有効なエッジ部分を参照して求めた前記直線式の交点座標を前記原稿の前記頂点座標とする
ことを特徴とする請求項７に記載の画像検査装置。
【請求項１０】
前記境界部分特定処理部は、前記エッジ有効部検出部により検出された前記有効なエッジ部分の両端の座標が、略角形状の撮像範囲の複数の境界線のうちの何れの境界線に接するかによって、原稿がはみ出した方向を判定して前記境界線との交点座標を特定する
ことを特徴とする請求項９に記載の画像検査装置。
【請求項１１】
前記はみ出し場所判定処理部は、前記原稿頂点設定処理部が特定した頂点座標と、撮像範囲を示す境界線とを比較して、前記撮像範囲に対してはみ出した頂点の位置関係を特定し、撮像時に原稿がどの方向にはみ出していたかを判定する
ことを特徴とする請求項５から１０のうちの何れか１項に記載の画像検査装置。
【請求項１２】
前記非検査領域設定部は、前記はみ出し場所判定処理部が判定した前記原稿のはみ出し方向に基づいて、前記非検査領域を設定する
ことを特徴とする請求項７に記載の画像検査装置。
【請求項１３】
原稿を光学的に読み取って得た撮像画像と検査用の基準画像とを比較することにより前記撮像画像を検査するためのプログラムであって、
コンピュータを、
前記撮像画像における前記原稿の辺縁を示す線分を求める線分算出部と、
前記線分算出部により求められた線分と撮像範囲を示す境界線との位置関係を特定する位置関係特定処理部と、
前記位置関係特定処理部により特定された位置関係に基づいて、撮像範囲からはみ出している原稿部分を非検査領域に設定する非検査領域設定部と、
前記非検査領域設定部により設定された前記非検査領域を検査対象から除外しつつ、前記基準画像と前記撮像画像における前記原稿部分の画像とを比較する画像比較部と、
前記画像比較部による比較結果に基づいて、前記原稿部分の画像を検査する画像検査部と
して機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、紙などの媒体に記載された文字や図形あるいは画像などの情報を読み取り、この読み取った撮像画像と基準画像とを比較することにより画像検査をする方法および装置、並びに、電子計算機（コンピュータ）を利用して画像検査を行なうためのプログラムに関する。
【背景技術】
【０００２】
原稿の画像を読み取る画像読取装置、いわゆるスキャナ装置が種々の分野で利用されている。たとえば単体で使用されることもあれば、複写装置などに組み込まれて使用されることもある。あるいは、読み取った画像と検査用の基準画像とを比較して画像欠陥などを検査をする画像検査装置に利用されることもある。
【０００３】
画像検査においては、検査対象物である印刷物を撮像カメラなどにより画像メモリに取り込んだ撮像画像と、予め設定されている基準画像とを比較することで、画像欠陥を検出する方法を採っている。なお、画像欠陥の検出方法は、撮像画像と基準画像とで画素ごとの減算を行なうほか、分割した基準画像をテンプレートとして正規化相互相関を計算し、相関係数が基準値を下回った部分に画像欠陥が生じているとして検出する方法がある。
【０００４】
たとえば、特許文献１には、複写装置に画像検査の仕組みを取り入れたものとして、原画像と複写画像との画像差分により画質の調整を自動的に行なう手法が開示されている。この手法においては、画質調整用の標準原稿データを記憶しておき、画質調整時に標準原稿データを出力し、その出力用紙を画像読取装置によって電子化し、２つの画像データにおいて規定の比較点の濃度の差分をとる。この差分値によって、複写装置の各部のパラメータを調整して画質を維持しようとしている。
【０００５】
【特許文献１】特開平０８−１９０６３０号公報
【０００６】
一方、画像読取装置としては、たとえば原稿載置台としてのプラテンガラスの上に原稿を置き、その下をラインセンサが走査して読み取るフラットベッド型イメージスキャナ、使用者がイメージセンサを手で走査して原稿を読み取るハンディ型イメージスキャナ、あるいは、原稿と撮像デバイス（センサ）との間にある程度の距離を置いて、原稿を間接的に読み取る間接型イメージスキャナ（非接触型イメージスキャナともいわれる）などがある。間接型イメージスキャナは、読み取る対象物に大きさや平面度の制約が少ないという利点を有する。
【０００７】
間接型イメージスキャナの一例としては、たとえば特許文献１には、斜め上方からエリアセンサなどの撮像デバイスで印刷画像を読み取って正面から見た画像に変換する方式のものが提案されている。斜め上方から撮影する方式では、画像が略台形状に歪む（画像の幾何学歪みという）問題や、原稿の手前と奥とで焦点がズレて画像の暈け度合いに場所による差、つまり暈け特性の場所依存性が生じ、画質が低下する問題がある。
【０００８】
このため、特許文献２に記載の発明では、撮像画像における幾何学的形状の場所依存性（幾何学歪み）や暈け特性の場所依存性を補正するために、補正を施す注目画素から撮影カメラまでの距離を測定し、この測定結果に基づいて所定の計算をし、距離値に応じて幾何学歪みや暈けを補正するための補正係数を制御することで、高画質な撮像画像を得るようにしている。
【０００９】
【特許文献２】特開２０００−２２８６９号公報
【００１０】
また、特許文献３には、出力物のラスタ展開前の原画像データを取得し、画像読取装置の特性に応じて画像処理を施して基準画像データとし、出力物との比較により画像を検査する手法が提案されている。また、画像読取装置における位置の偏位を見込んだ比較を行なうことも提案されている。この手法では、ラスタ展開前の画像データを得て画像処理を行なうので、基準データとして正確なデータが得られる。
【００１１】
【特許文献３】特開２０００−１２３１７６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、欠陥がない出力原稿が撮像範囲からはみ出して読み取られた場合において、撮像画像と基準画像とを比較すると、はみ出した部分の影響により欠陥検出の精度が低下してしまう。たとえば、はみ出した部分を含むテンプレートでは、相関係数が基準値を下回ってしまうので、はみ出した部分を欠陥として誤検出してしまう。
【００１３】
本発明は、上記事情に鑑みてなされたものであり、出力原稿が撮像範囲からはみ出して読み取られた場合においても、精度よく撮像画像を検査することのできる画像検査方法を提供することを目的とする。また本発明は、本発明の画像検査方法を実施する画像検査装置、おとび画像検査装置を電子計算機を用いてソフトウェア的に実現するために好適なプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
すなわち、本発明に係る画像検査方法は、原稿を光学的に読み取って得た撮像画像と検査用の基準画像とを比較することにより前記撮像画像を検査する画像検査方法であって、撮像画像における原稿の辺縁を示す線分を求め、この求めた線分と撮像範囲を示す境界線との位置関係を特定し、この特定した位置関係に基づいて、撮像範囲からはみ出している原稿部分を非検査領域に設定し、この非検査領域を検査対象から除外しつつ、基準画像と撮像画像における原稿部分の画像とを比較することで原稿部分の画像を検査することとした。
【００１５】
たとえば、原稿の形状が４角形などの角形状を呈していれば、角形状の原稿の辺縁を示す直線式を求め、求めた直線式と撮像範囲を示す境界線との交点座標を特定することで、原稿辺縁と撮像範囲を示す境界線との位置関係を特定する。
【００１６】
本発明に係る画像検査装置は、原稿を光学的に読み取って得た撮像画像と検査用の基準画像とを比較することにより前記撮像画像を検査する画像検査装置であって、原稿を撮影して撮像画像を取得する撮像部と、撮像部により取得された撮像画像における原稿の辺縁を示す線分を求める線分算出部と、線分算出部により求められた線分と撮像範囲を示す境界線との位置関係を特定する位置関係特定処理部と、位置関係特定処理部により特定された位置関係に基づいて撮像範囲からはみ出している原稿部分を非検査領域に設定する非検査領域設定部と、非検査領域設定部により設定された非検査領域を検査対象から除外しつつ、基準画像と撮像画像における原稿部分の画像とを比較する画像比較部と、画像比較部による比較結果に基づいて原稿部分の画像を検査する画像検査部とを備えるものとした。
【００１７】
また従属項に記載された発明は、本発明に係る画像検査装置の、さらなる有利な具体例を規定する。また、本発明に係るプログラムは、本発明に係る画像検査方法や装置を、電子計算機（コンピュータ）を用いてソフトウェアで実現するために好適なものである。なお、プログラムは、コンピュータ読取り可能な記憶媒体に格納されて提供されてもよいし、有線あるいは無線による通信手段を介して配信されてもよい。
【００１８】
たとえば、４角形などの角形状を呈している原稿を取り扱う場合であれば、線分算出部を撮像部により取得された撮像画像における原稿の辺縁を示す直線式を求める直線式算出部とし、位置関係特定処理部を、直線式算出部により求められた直線式と撮像範囲を示す境界線との交点座標を特定する境界部分特定処理部とし、非検査領域設定部を境界部分特定処理部により特定された交点座標に基づいて撮像範囲からはみ出している原稿部分を非検査領域に設定するものとすればよい。
【発明の効果】
【００１９】
本発明の構成に依れば、撮像画像における原稿の辺縁を示す線分を求め、この線分と撮像範囲を示す境界線との位置関係（たとえば交点座標）を特定することで、撮像範囲からはみ出している原稿部分を非検査領域に設定するようにした。そして、非検査領域を検査対象から除外しつつ、基準画像と撮像画像における原稿部分の画像とを比較することで原稿部分の画像を検査するようにした。
【００２０】
これにより、出力原稿が撮像範囲からはみ出して読み取られた場合であっても、そのはみ出し部分を検査対象外とすることにより、欠陥の誤検出をせずに出力原稿の検査を行なうことが可能になり、検査精度が向上する。
【発明を実施するための最良の形態】
【００２１】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【００２２】
図１は、本発明に係る画像処理装置の一実施形態を備えた画像検査装置を示す概略図である。ここで、図１（Ａ）は、カメラヘッドの設置状態を示す図、図１（Ｂ）は、プリントエンジンの一例を示す図である。
【００２３】
図１（Ａ）に示すように、画像検査装置５は、画像読取装置の一例である画像読取部１００、画像読取部１００で読み取った画像に欠陥があるか否かを検査する画像検査処理部２００、画像読取部１００で読み取った画像や画像検査処理部２００で検査用に使用する基準画像あるいはデータ処理中の中途データを格納するデータ格納部３００、および画像読取部１００で読み取られた画像を所定の記録媒体に出力するプリンタ部５００を備えている。
【００２４】
プリンタ部５００は、排出口５８２および排紙トレイ５８４を有し、筐体内にはプリントエンジンが配されている。原稿設置台としての機能を有する排紙トレイ５８４は、原稿（印刷済みの用紙）Ｐと下地（ここでは排紙トレイの色）の判別ができるような色が付いている。
【００２５】
画像読取部１００は、原稿Ｐの画像を読み取る撮像部の一例であるカメラヘッド１０２を有している。カメラヘッド１０２は、撮影レンズ１０４、ＣＣＤ撮像素子１０６、および読取信号処理部１０８を有している。このカメラヘッド１０２は、図示しない支持部材により、排紙トレイ５８４上に排出されたＰに対する撮影レンズ１０４の向きが調整可能に支持されかつ排出口５８２の上部に排紙トレイ５８４の全体を撮影範囲にできるように設置されており、画像を斜め上から撮影して撮像画像を取得する。
【００２６】
プリンタ部５００は、画像読取部１００の各種機能とともに動作可能であって、画像検査装置５をデジタル印刷システムとして稼働させるためのラスタ出力スキャン（ＲＯＳ;Raster Output Scanner）ベースのプリントエンジン５７０を備える。
【００２７】
プリントエンジン５７０は、電子写真プロセスを利用して画像を所定の記録媒体に記録するものである。このプリントエンジン５７０は、クライアント端末から入力された印刷データに基づいて可視画像を所定の記録媒体上に形成する印刷装置（プリンタ）として機能するようになっている。
【００２８】
すなわち、図１（Ｂ）に示すように、プリントエンジン５７０は、画像読取部１００との間のインターフェース（ＩＯＴコントローラ）の機能を有するとともに、画像読取部１００から出力された画像データＤ１０に対してプリント出力用の所定の処理をするプリント出力処理部５７２と、光ビームを発するレーザ光源５７４と、プリント出力処理部５７２から出力されたデータに従ってレーザ光源５７４を制御すなわち変調するレーザ駆動部５７６と、レーザ光源５７４から発せられた光ビームを感光性部材５７９に向けて反射させるポリゴンミラー（回転多面鏡）５７８とを有する。
【００２９】
プリント出力処理部５７２は、画像データＤ１０に対して、周知技術に従って、複数、好ましくは最低３つの分解色を表すデータを生成しレンダリング（ラスタデータに展開）する。たとえばデータＤ１０が表すＹＣｒＣｂ表色系から最低３つ（好ましくは４つ）、たとえばＣＭＹ表色系あるいはＣＭＹＫ表色系へのマッピングをし、プリント出力用に色分解されたラスタデータを生成する。
【００３０】
またプリント出力処理部５７２は、このようなラスタデータ化の処理に際して、カラー画像のＣＭＹ成分を減色するアンダーカラー除去（ＵＣＲ）、あるいは減色されたＣＭＹ成分を部分的にＫ成分と交換するグレー成分交換（ＧＣＲ）をする。さらにプリント出力処理部５７２は、出力データ（ＣＭＹＫなど）に応答して作成される出力画像のトナー像を調整するために、色分解の直線化または同様の処理をすることもある。
【００３１】
この構成により、プリントエンジン５７０は、レーザ光源５７４が発生する光ビームをポリゴンミラー５７８上の複数の面で反射させて感光性部材５７９を露光し、スキャン走査によって感光性部材５７９上に潜像を形成する。潜像が形成されると、当該技術分野で公知の多数の方法のうち任意の方法に従って像を現像し、画像読取部１００にて読み取られたカラー画像を可視像として出力する。なお、カラー画像を可視像として出力する際には、画像を表すデータは最低３つ（好ましくは４つ）の色分解データ（たとえばＣ，Ｍ，Ｙ，Ｋなど）を含み、各色は別個の画像面として、または輝度−クロミナンス形式で処理される。
【００３２】
＜＜第１実施形態＞＞
図２は、図１に示した画像検査装置５の、第１実施形態の詳細例を示すブロック図である。第１実施形態の画像検査装置５は、略矩形状の原稿の頂点が撮像範囲からはみ出した撮影画像に対して透視変換処理（幾何変換処理）を施すとともに、透視変換処理された矩形状の撮像画像に基づいて、原稿部分の撮像範囲からはみ出している領域（以下非検査領域ともいう）を特定するための位置情報（以下非検査領域情報ともいう）を求め、透視変換処理された撮像画像と基準画像とを比較して画像検査を行なう際に、先に求めた非検査領域情報を参照して、原稿の非検査領域を検査対象から除外して画像検査を行なう点に特徴を有する。以下、具体的に説明する。
【００３３】
第１実施形態の画像検査装置５は、画像を撮影して撮像画像を取得する画像読取部１００と画像検査処理部２００とデータ格納部３００と、画像検査装置５の各部を制御する制御部３２０と、処理中のデータなどを一時的に格納するＲＡＭ（Random Access Memory）３２２とを備える。
【００３４】
データ格納部３００は、カメラヘッド１０２が取得した撮像画像、撮像画像処理部１１０により処理された処理済画像、あるいは画像検査における処理に用いられる各種の途中演算結果などを保持する。
【００３５】
画像読取部１００は、カメラヘッド１０２によって取得された撮像画像に対して所定の処理を施す撮像画像処理部１１０を備えている。撮像画像処理部１１０は、カメラヘッド１０２にて読み取られた撮像画像の照度むら（光学系の光量分布特性）やセンサ画素特性ばらつきを補正するシェーディング補正部１１２と、シェーディング補正部１１２によりシェーディング補正された撮像画像に対し主に撮影レンズ１０４に起因する歪曲（湾曲）収差を補正する光学歪補正部１１４と、光学歪補正部１１４により補正された撮像画像を矩形状に変換（透視変換）する透視変換部（幾何変換部）１１６とを備える。
【００３６】
シェーディング補正部１１２が行なうシェーディング補正は、撮影領域の照度むらやＣＣＤ撮像素子１０６の各画素の特性ばらつきなどを補正する処理である。たとえば、カメラヘッド１０２は、予め白紙を撮影して白基準ＤＷ（ｉ，ｊ）としてデータ格納部３００に保存しておく。ｉ，ｊは画素位置を表す。次にシェーディング補正部１１２は、撮影画像Ｄ（ｉ，ｊ）に対し式（１）に基づき補正する。
【００３７】
【数１】
2004310726.tif 000003
【００３８】
ここで、“ｎ”は、補正後のビット分解能で、８ビット分解能ならｎ＝８となり、“０〜２５５”階調の値をとる。ここでは、全画素について白基準データを保持する方法を述べたが、たとえば簡易的には、撮影された画像全体のピーク値を白基準ＤＷとする方法や、ラインごとのピーク値ＤＷ（ｊ）を白基準とする方法などが適用可能である。
【００３９】
光学歪補正部１１４は、撮影レンズ１０４に起因する収差を以下のようにして補正する。たとえば撮影レンズ１０４への入射角θでの収差をｄ、撮影レンズ１０４からＣＣＤ撮像素子１０６の結像面までの距離をｃ、結像面における結像位置の光軸からの距離をｒとすると、収差ｄは次式（２）で表される。そこで、光学歪補正部１１４は、この特性に基づいて歪曲収差を補正する。なお収差ｄは、一般にｒの３乗に比例するのでレンズ特性に基づいて比例定数を求めて歪曲収差を補正することもできる。
【００４０】
【数２】
2004310726.tif 000004
【００４１】
本実施形態では、カメラヘッド１０２は、原稿Ｐを斜め上方から撮影するので、矩形である原稿Ｐは撮影された画像データ上では撮像画像エリアに対して台形状に変形している。透視変換部１１６は、元の矩形状と一致するように撮像画像を変換する。
【００４２】
また撮像画像処理部１１０は、撮像画像における原稿Ｐの領域を特定するとともに、原稿部分の撮像範囲からはみ出している領域（以下非検査領域ともいう）を特定する非検査領域特定処理部１２０を備える。非検査領域特定処理部１２０は、原稿部分の撮像範囲からはみ出している非検査領域を特定し、この非検査領域を示す情報（以下非検査領域情報という）をデータ格納部３００に格納する。
【００４３】
非検査領域特定処理部１２０は、カメラヘッド１０２によって画像を撮像する都度、毎回撮像画像から原稿領域を抽出する。そして、撮影の都度抽出された原稿領域情報を参照して、撮像範囲からはみ出している非検査領域を特定する。
【００４４】
原稿Ｐが排紙トレイ５８４に排出される場所や向きはある程度一定していると考え検査対象範囲を固定することも考えられるが、実際には、排紙トレイ５８４上の上下左右の位置がズレたり、傾いて排紙されたりする。その量が大きい場合には、原稿部分が撮像範囲からはみ出して読み取られる。この場合、そのはみ出し部分を欠陥として誤検出してしまう可能性がある。したがって、本実施形態のように、実際の原稿Ｐの部分や非検査領域を撮影の都度特定して、この特定した非検査領域を画像検査処理の対象から除外することで、精度のよい欠陥検出ができるようになる。
【００４５】
なお、カメラヘッド１０２により読み取られた撮像画像と検査用の基準画像との誤差をより小さくするための誤差補正を施す仕組みとして、たとえば本願出願人が特願２００１−３３４１６３号にて提案したような補正係数算出部および画像補正処理部を設けてもよい。なお、補正係数算出部や画像補正処理部の詳細は、特願２００１−３３４１６３号を参照するとよい。
【００４６】
たとえば、画像補正処理部は、カメラヘッド１０２により取得された撮像画像に対して、画像処理で一般的に用いられるエッジ強調フィルタなどを適用して強調処理（シャープネス処理）を施したり、撮像画像が有するノイズ成分を低減させるノイズ低減部の一例であって、平滑化フィルタなどを適用してモアレを除去したり、中間調データを平滑化することで撮像画像が有するノイズ成分を低減させるノイズ除去処理（平滑化処理）を施す。
【００４７】
補正係数算出部は、カメラヘッドにより取得された撮像画像のチルトスキャンに起因した暈け特性の場所依存性を補正するための暈け特性補正係数を算出する。たとえば、台形の原稿領域から強調処理やノイズ除去処理のライン単位の補正係数を算出し、この算出した補正係数を画像補正処理部にセットする。
【００４８】
画像補正処理部は、強調処理や平滑化処理を施す際には、それぞれのフィルタのパラメータを補正係数算出部により算出された補正係数で調整する。またこの際には、さらに好ましくは、ライン単位でシャープネスとノイズ除去の度合いを両方ともに変化させる、つまり、強調処理とノイズ除去処理をライン単位で同時に施すのが好ましい。
【００４９】
画像検査処理部２００は、本願出願人が特願２００１−３３４１６３号にて提案した構成と同様に、データ格納部３００に格納してある画像検査の基準となる基準画像（元画像データ）をカメラヘッド１０２にて取得された撮像画像と同じように解像度変換しかつ暈かし処理（平滑化処理）をすることで両画像を比較する際の誤差を少なくする基準画像処理部２１０と、基準画像処理部２１０から出力された基準画像に基づいて撮像画像の良否を検査する画像検査部２３０とを備える。
【００５０】
基準画像処理部２１０は、データ格納部３００から読み出した基準画像に対して線形補間法などを用いて解像度変換処理を施す解像度変換部２１４と、解像度変換処理が施された基準画像に対して高周波成分を低減させる暈かし処理を施す暈かし処理部２１６と、暈かし処理が施された基準画像から撮像範囲をはみ出した部分に対応する領域を検査対象領域から除外する非検査領域削除処理部２１８とを有する。
【００５１】
暈かし処理部２１６は、解像度変換部２１４により解像度変換が施された基準画像に対して、撮像画像の暈け具合と同じになるように、ガウス関数の分散σに基づいて（つまりガウスフィルタを用いて）検査用の基準画像の鮮鋭度を調整する（一般的には低下させる）。要するに、撮像画像データのカメラヘッド１０２の光学系に起因する暈けを反映させる。この際には、撮像直後の原稿領域の台形形状を参照してガウスフィルタ処理の補正係数を算出し、これを元に基準画像に暈かし処理（ガウスフィルタ処理）を施す。なお、分散σを適用したガウスフィルタ処理は、たとえば、特開平５−２２５３８８号などに示されているように、公知の技術であるので、その詳細な説明を割愛する。
【００５２】
図３は、撮像画像と基準画像との関係を示す図であって、カメラヘッド１０２により読み取られる画像の撮影状態を示す図（Ａ）、撮像画像を示す図（Ｂ）、および撮像画像を矩形状に変換した場合の画像を示す図（Ｃ）である。
【００５３】
本実施形態では、カメラヘッド１０２は、矩形状の原稿を任意のチルト角で撮影するので、カメラヘッド１０２により撮影された撮像画像における原稿部分は、図３（Ｂ）に示すように、台形画像に変形されて取得される。この台形画像を表す画像データは、一旦データ格納部３００に蓄えられる。
【００５４】
また、カメラヘッド１０２にて、図３（Ａ）に示すように、原稿Ｐの手前の縁（図中太線）に焦点があった状態で、チルトスキャンにより原稿Ｐを撮影する。この場合、撮影画像データのうち台形の原稿領域（図３（Ｂ）参照）では、原稿Ｐの下底（下辺）に焦点が合っているため、上底（上辺）に向かって焦点がしだいにズレていることになる。つまり画素位置に応じて画像の暈け量が異なる。
【００５５】
この影響を補正するため、透視変換部１１６は、台形状に撮像された画像の形状を、元の矩形状に合致させる。このためには、たとえば、図３（Ｂ）に示すような撮像画像の台形形状を、図３（Ｃ）に示すような矩形状に戻す際に使用される変換式を適用する方法がある。
【００５６】
たとえば、撮像画像の台形形状を矩形状に戻す透視変換処理として、原稿Ｐからカメラまでの距離、カメラ高さｈ、パン角度、チルト角度に基づいて変換する方法が知られている。これは同次座標表現を用いた行列演算を解いて変換式を導出したものであり、変換式は以下の式（３），（４）で示される。
【００５７】
【数３】
2004310726.tif 000005
【００５８】
【数４】
2004310726.tif 000006
【００５９】
ここで、ｕ，ｖは変換後の座標、ｘ，ｙはソース画像の座標、ｈは原稿面からのカメラ高さ、α（＝tan-1(d/h))はカメラのチルト角、βはカメラのパン角である。予め測定したカメラ高さｈ，チルト角α，パン角βから透視変換の式に撮影画像の各画素を代入することで、台形の原稿領域を矩形に戻す、すなわち透視変換処理することができる。
【００６０】
図４は、第１実施形態の非検査領域特定処理部１２０の一構成例を示すブロック図である。図示するように、非検査領域特定処理部１２０は、撮像画像からエッジ部分を抽出するエッジ抽出部１２２と、エッジ抽出部１２２により抽出されたエッジ部分における有効成分を選択するエッジ有効部検出部１２４と、エッジ有効部検出部１２４により特定された有効なエッジ部分を参照して撮像画像における原稿部分を確定するための直線式を算出する線分算出部の一例であるエッジ有効部直線式算出部１２６とを備える。
【００６１】
また、非検査領域特定処理部１２０は、エッジ有効部直線式算出部１２６により算出された直線式を参照して、原稿の撮像範囲からはみ出している領域（非検査領域に相当）を特定する非検査領域特定部１３０を備える。この非検査領域特定部１３０は、エッジ有効部直線式算出部１２６により算出された直線式を参照して撮像画像における原稿の頂点座標を特定する位置関係特定処理部の一例である原稿頂点設定処理部１３２と、原稿頂点設定処理部１３２により設定された頂点座標が撮像範囲からはみ出しているか否かを判定するはみ出し場所判定処理部１３４とを有する。
【００６２】
また、非検査領域特定部１３０は、はみ出し場所判定処理部１３４により頂点座標が撮像範囲からはみ出していると判定された原稿頂点についての撮像範囲との境界部分を特定する境界部分特定処理部１３６と、境界部分特定処理部１３６により特定された境界部分を示す座標情報とはみ出し場所判定処理部１３４により頂点座標が撮像範囲からはみ出していると判定された原稿頂点の座標情報とに基づいて非検査領域を設定する非検査領域設定部１３８とを有する。
【００６３】
境界部分特定処理部１３６は、はみ出し場所判定処理部１３４により頂点座標が撮像範囲からはみ出していると判定された原稿頂点について、その原稿頂点を定義する、エッジ有効部直線式算出部１２６により算出された２つの直線式と撮像範囲を示す直線式とで形成される交点の座標を境界部分を特定する情報（以下境界座標という）として求める。非検査領域設定部１３８は、はみ出し部分の頂点座標と、この頂点座標に対応して求められた境界座標とにより囲まれた領域を非検査領域として設定する。
【００６４】
図５は、本実施形態で処理対象とする、原稿部分が撮像範囲からはみ出して撮像される場合の状態を説明する図である。各図において、原稿の上下左右の頂点座標（ｘαβ，ｙαβ）を次のように定義する。すなわち、原稿左上の頂点座標を（ｘｔｌ，ｙｔｌ）、原稿左下の頂点座標を（ｘｂｌ，ｙｂｌ）、原稿右上の頂点座標を（ｘｔｒ，ｙｔｒ）、原稿右下の頂点座標を（ｘｂｒ，ｙｂｒ）とする。
【００６５】
ｘ，ｙは、図３にも示したように、撮像画像の走査方向と対応している。符号“α”は、“ｔ”のときは上側（top ）を意味し、“ｂ”のときは下側（bottom）を意味する。符号“β”は、“ｌ”のときは左側（left）を意味し、“ｒ”のときは右側（right ）を意味する。この符号の意味は、後述する他の符号においても同様とする。また、図中において、“Ｍ→Ｎ”は、原稿の頂点Ｍが撮像範囲のＮ方向へはみ出していることを示す。
【００６６】
原稿の撮像範囲に対するズレ量や傾きによって、撮像範囲からはみ出す原稿部分の形状が変わる。また、撮像範囲から原稿の一部がはみ出している際には、原稿の４頂点の少なくとも１つが撮像範囲からはみ出す。ただし、３頂点が撮像範囲内であれば、４辺全てが、辺の少なくとも一部は撮像範囲内にある。本実施形態においては、このように、矩形状の原稿の４頂点のうちの１つが撮像範囲からはみ出し、残りの３頂点は撮像範囲内にあるはみ出し状態を処理対象とする。図示した例において、図５（Ａ）および図５（Ｂ）は、原稿が撮像範囲に対して傾きを持たずに平行移動した状態でズレた場合を示す。図５（Ｃ）〜図５（Ｊ）は、傾きを持ってはみ出している状態を示す。
【００６７】
図示した例は一例であり、傾き状況などによって、頂点αと撮像範囲の境界との関係が図示した状態以外を取り得るが、その場合でも、１頂点は撮像範囲外、残りの３頂点は撮像範囲内であるものは全て本実施形態の処理範囲とする。一方、２頂点以上が撮像範囲外となるはみ出し状態は、本実施形態の処理対象としない。はみ出し状態として取り得る全態様に対して本実施形態は対応しないが、はみ出し量がさほど多くなければ、概ね、１頂点は撮像範囲外で残りの３頂点は撮像範囲内となるので、実用上の問題とはならないと考える。
【００６８】
非検査領域特定処理部１２０は、原稿が図５（Ａ）〜図５（Ｊ）の何れの状態にあるのかに応じて、撮像範囲からはみ出す原稿部分を適切に特定し、そのはみ出し部分を非検査領域として設定する。
【００６９】
図６は、上記第１実施形態の画像検査装置５における処理手順の概要を示すフローチャートである。第１実施形態の画像検査装置５においては、プリンタ部５００が待機状態にあるとき、カメラヘッド１０２は制御部３２０の指示により、排紙トレイ５８４上を定期的に撮影し、その画像を出力する。
【００７０】
制御部３２０は、基準画像の一例であるデータ格納部３００に格納してある排紙トレイ５８４の画像とカメラヘッド１０２により取得された撮像画像とを比較し、原稿が排紙トレイ５８４上にあるか否かを判断し、原稿が排紙トレイ５８４上にある場合には画像検査可能のフラグをオフにしてそのまま待機状態を続ける一方、排紙トレイ５８４上に原稿がない場合には画像検査可能のフラグをオンにして待機状態を続ける（Ｓ１００）。
【００７１】
そして、制御部３２０は、待機状態においてプリントジョブを受け取ると（Ｓ１０２）、画像検査可能のフラグを判定する（Ｓ１０４）。そして、画像検査可能のフラグがオフの場合（Ｓ１０４−Ｎｏ）、制御部３２０は、プリントエンジン５７０に通常のプリント処理をさせ（Ｓ１０６）、待機状態へ戻る（Ｓ１８０）。一方、画像検査可能のフラグがオンの場合（Ｓ１０４−Ｙｅｓ）、制御部３２０は、プリントジョブのＮ枚目（最初は当然に１枚目）について、画像検査を以下のように実行する。
【００７２】
すなわち、制御部３２０は、先ずＮ枚目（最初は当然に１枚目）のプリント処理をプリントエンジン５７０に開始させ（Ｓ１０８）、展開後の画像データを、プリントエンジン５７０のプリント出力処理部５７２へ送出するとともに、データ格納部３００に格納する。そして、最後の画像データのレンダリング処理が終了すると、プリント出力処理部５７２からの１枚目処理完了の信号を待ち（Ｓ１３０）、完了信号がくると規定の時間後にカメラヘッド１０２へ撮影開始トリガ信号を送る（Ｓ１３２）。
【００７３】
カメラヘッド１０２は、トリガ信号に同期してシャッタを切る（撮影する）が、このとき排紙トレイ５８４上に原稿Ｐ（プリント出力紙）が出力された直後となっている。カメラヘッド１０２は、矩形状の原稿を撮影して得た台形状の撮像画像をデータ格納部３００に格納する。
【００７４】
プリントジョブが複数枚（Ｎ枚）の場合、制御部３２０は、その複数枚（Ｎ枚）に対する処理が全て完了するまで後述する処理（Ｓ１３０〜Ｓ１６２）と並行して残りのプリント処理を進行させる（Ｓ１１０）。これらの処理は図では並列処理のように示しているが、時分割の逐次処理として実行することもできる。複数枚（Ｎ枚）が全て完了すると、制御部３２０は、待機状態へ戻る（Ｓ１１２）。このようにして、カメラヘッド１０２により撮像された全ての撮像画像は、デジタル信号に変換されてデータ格納部３００へ格納される。
【００７５】
撮像画像処理部１１０は、カメラヘッド１０２により撮影された撮像画像に対して前処理を施す。すなわち、シェーディング補正部１１２は、カメラヘッド１０２により撮影された撮像画像をデータ格納部３００から読み出し、照度むらやセンサ画素特性バラ付きを補正するシェーディング補正を行なう（Ｓ１３４）。また、光学歪補正部１１４は、シェーディング補正が施された画像に対して、撮影レンズ１０４の歪曲収差などを補正する光学歪み補正を施し、処理済の画像をデータ格納部３００に格納する（Ｓ１３６）。
【００７６】
次に、制御部３２０は、撮像画像処理部１１０によりシェーディング補正や光学歪み補正が施された撮像画像に対して透視変換（透視変換）処理を行なうかどうかを決定する（Ｓ１４０）。撮像画像に対して透視変換処理を行なう場合（Ｓ１４０−Ｙｅｓ）、制御部３２０は、撮像画像処理部１１０側に設けられた透視変換部１１６に対して透視変換処理を指示する。この指示を受けた透視変換部１１６は、シェーディング補正された撮像画像に対して、上述した変換式（３），（４）に基づいて、台形の原稿領域を矩形に透視変換処理し、処理済の画像をデータ格納部３００に格納する（Ｓ１４２）。
【００７７】
この後、制御部３２０は、非検査領域特定処理部１２０に対して、撮像範囲からはみ出している原稿部分を特定するよう非検査領域特定処理部１２０に指示する。この指示を受けた非検査領域特定処理部１２０は、後述する手順にしたがって、非検査領域特定処理を実行し、はみ出し部分の領域（非検査領域）を示す情報をデータ格納部３００に格納する（Ｓ１４４）。
【００７８】
次に、基準画像処理部２１０の解像度変換部２１４は、矩形状の基準画像のサイズと検査対象である撮像画像における矩形状の原稿部分の画像のサイズとが等しくなるように、基準画像の解像度を変換する（Ｓ１５２）。
【００７９】
次に、暈かし処理部２１６は、解像度変換された基準画像に対して、撮像画像データにおけるカメラヘッド１０２の光学系に起因する暈けを反映させるために、非検査領域特定部１３０により抽出された頂点座標Ａ，Ｂ，Ｃ，Ｄを参照して、ガウスフィルタ処理において使用する画像の台形形状に応じた補正係数の値を算出し、これを元に基準画像に暈かし処理（ガウスフィルタ処理）を施す（Ｓ１５４）。
【００８０】
ここで、基準画像に暈かし処理を施すのは、基準画像は理想的な濃淡特性を持っているために、撮像画像の暈け特性と同等の暈かし処理を施すことで、撮影画像の暈け分布に対応して暈かし処理を施すことができ、次に説明する、差分処理の際の誤差を最小にできるためである。
【００８１】
次に非検査領域削除処理部２１８は、非検査領域特定部１３０により特定された非検査領域情報をデータ格納部３００から読み出し、暈かし処理部２１６により暈かし処理が施された基準画像における非検査領域部分のデータを無効化することで、基準画像に対して非検査領域を設定する（Ｓ１５６）。非検査領域設定部１３８は、処理済の基準画像をデータ格納部３００に格納する。
【００８２】
次に、位置合わせ処理部２３２は、基準画像処理部２１０の暈かし処理部２１６にて暈かし処理が施されかつ非検査領域部分が無効化された基準画像と画像読取部１００にて前処理が施された撮像画像の位置合わせ処理を開始する（Ｓ１５８）。たとえば、位置合わせ処理部２３２は、基準画像をテンプレートとして撮像画像内を走査しながら、正規化相互相関係数を逐次計算し、最も相関係数の高い場所が位置の合った部分と見なす、いわゆるテンプレートマッチングで位置合わせを行なう。
【００８３】
次に、欠陥異常検出処理部２３４は、撮像画像処理部１１０にて前処理が施されデータ格納部３００に格納された検査対象の撮像画像（台形形状のもの）と、基準画像処理部２１０にて透視変換処理や暈かし処理が施された基準画像（台形形状のもの）との差を求める（両者を比較する）差分処理を行なう（Ｓ１６０）。そして、欠陥異常検出処理部２３４は、差分処理により得られた差分結果に基づいて、撮像画像の欠陥や異常の有無を検出する（Ｓ１６２）。位置合わせ処理部２３２および欠陥異常検出処理部２３４は、以上の処理を基準画像の全面について行ない、完了後には再び待機状態へ戻る。
【００８４】
たとえば、欠陥異常検出処理部２３４は、位置が合った部分での正規化相互相関係数が判定指標値を下回る場合、その部分に画像欠陥が存在すると見なして欠陥異常検出処理を行なう。これにより、たとえば、プリント出力すなわち撮像画像に黒点などの欠陥パターンがあると、その欠陥を含む場所で正規化相互相関係数が明らかに低下するので、差分結果に黒点が残る。
【００８５】
よって、たとえば、適当な濃度の閾値を設定して差分結果を２値化することで、黒点を特定することができ、画像欠陥の存在の有無を容易に判定することができる。なお、黒点などの局所的な画像欠陥の検出に限らず、撮像画像の全体的な濃度のむらや濃度シフトなどの画質不良の検出にも適用できる。
【００８６】
欠陥異常検出処理部２３４が画像欠陥や画質不良を検出した場合には、画像検査装置５は、所定の表示デバイスあるいは音声信号発生器（たとえばスピーカ）などの図示しないユーザインタフェース上で警告を発したり、プリント管理ソフトウェアなどを利用して、通信網を通してプリントしようとしているクライアント端末（たとえばパソコン）へ警告を発したり、さらにはリモート保守システムなどを介して通信網を通してプリンタの保守業者へ通知する。
【００８７】
図７は、第１実施形態で取り扱う画像の一例を示す図である。ここで、図７（Ａ）は、撮像範囲内に原稿が適切におかれている状態を示す図、図７（Ｂ）は、図７（Ａ）の状態でカメラヘッド１０２により撮像された結果を示す図、図７（Ｃ）は、図７（Ｂ）の画像に対して幾透視変換部１１６により透視変換した結果を示す図である。
【００８８】
カメラヘッド１０２により撮像された透視変換処理前の画像データにおける原稿部分は、図７（Ｂ）のように台形状を呈する。この画像に対して透視変換部１１６にて透視変換を施すと、図７（Ｃ）のように、原稿分が矩形状に戻るが、撮像範囲の外郭は台形状を呈する。後段の信号処理においては、この台形状の撮像範囲のうちの原稿部分を含む所望範囲（図の太線部分）を矩形状に切り出して処理対象の撮像画像とする。
【００８９】
なお、図７（Ｃ）に示すように、台形状の撮像範囲を画定する外郭辺の直線式を、それぞれ以下の式（５）〜（８）ように定義する。
【００９０】
【数５】
2004310726.tif 000007
【００９１】
【数６】
2004310726.tif 000008
【００９２】
【数７】
2004310726.tif 000009
【００９３】
【数８】
2004310726.tif 000010
【００９４】
図８は、第１実施形態で取り扱う画像の、他の一例を示す図である。ここで、図８（Ａ）は、原稿が撮像範囲に対して回転することなく置かれかつ撮像範囲内から原稿の一部がはみ出して置かれている状態でカメラヘッド１０２により撮像された結果を示す図、図８（Ｂ）は、図８（Ａ）の画像に対して透視変換部１１６により透視変換した結果を示す図である。
【００９５】
カメラヘッド１０２により撮像された透視変換処理前の画像データにおける原稿部分は、図８（Ａ）のように台形状を呈する。この画像に対して透視変換部１１６にて透視変換を施すと、図８（Ｂ）のように、原稿分が矩形状に戻るが、撮像範囲からはみ出していた部分に対応する部分は無効な部分となって現れる。したがって、撮像範囲のうちの原稿部分を含む所望範囲（図の太線部分）を矩形状に切り出して処理対象の撮像画像とした場合にも、画像データ中には、この無効部分を含む。
【００９６】
図９は、エッジ抽出部１２２の処理を説明する図である。エッジ抽出部１２２は、透視変換部１１６により透視変換された撮像画像に対してエッジ抽出を施す。エッジ抽出は、たとえば、ｐｒｅｗｉｔｔ演算子で、上側、左側、下側、右側のそれぞれの方向からサーチして行なう。たとえば、以下の式（９）で示す上側、左側、下側、右側の各オペレータを適用する。これにより、図９（Ａ）〜図９（Ｄ）で示すエッジ抽出画像が得られる。
【００９７】
【数９】
2004310726.tif 000011
【００９８】
次に、図９（Ａ）〜図９（Ｄ）で示すエッジ抽出画像の各画素について和を取ることで、図９（Ｅ）に示す合成されたエッジ抽出画像が得られる。エッジ有効部検出部１２４が、図９（Ｅ）に示すエッジ抽出画像に基づいてエッジ有効部検出処理を施すことで、図９（Ｆ）に示すエッジ抽出画像が得られる。図９（Ｆ）にて、４つの直線部（図中の太線）で示された部分がエッジ有効部となる。なお、図９（Ｆ）では、はみ出し部分の階調値をゼロ（黒）で示している。
【００９９】
なお、ｐｒｅｗｉｔｔ演算子については、以下の式（１０）で示す上側、左側、下側、右側の各オペレータでエッジ抽出し、図９（Ｅ）に示す合成されたエッジ抽出画像をさらに追加することによって、よりエッジが強調されたエッジ抽出画像を得ることができる。
【０１００】
【数１０】
2004310726.tif 000012
【０１０１】
図１０は、第１実施形態の非検査領域特定処理部１２０の非検査領域特定処理の手順の概要を示すフローチャートである。この第１実施形態の非検査領域特定処理は、原稿の一部が撮像範囲からはみ出した撮影画像に対して幾何変換処理（透視変換処理）を行なった後、非検査領域を設定して検査するものである。
【０１０２】
先ず、エッジ抽出部１２２は、透視変換部１１６により透視変換された撮像画像からエッジ成分を抽出する（Ｓ２００）。具体的には、透視変換部１１６により透視変換された撮像画像に対して、上下左右の方向ごとにｐｒｅｗｉｔｔ演算子を適用してエッジ抽出を施す。これにより、図９（Ａ）〜（Ｄ）に示したようなエッジ抽出画像が得られる。
【０１０３】
次に、エッジ有効部検出部１２４は、上下左右の方向ごとに抽出されたエッジ情報を参照して、上下左右のそれぞれについて１つのエッジ有効部を検出する。具体的には、エッジ有効部検出部１２４は、先ず、上下左右のそれぞれについて、有効なエッジ部分（エッジ有効部）を特定する（Ｓ２１０）。１つのエッジ有効部が特定できたとき、それが原稿の辺縁を示す直線となる。特定したエッジ有効部が複数ある場合、エッジ有効部検出部１２４は、特定した複数のエッジ有効部の中から、より確からしいエッジ有効部を検出する（Ｓ３００）。
【０１０４】
次に、エッジ有効部直線式算出部１２６は、エッジ有効部検出部１２４により検出されたエッジ有効部に基づいて原稿の頂点座標を特定するために、先ずエッジ有効部直線式算出処理を、上辺、下辺、左辺、右辺のそれぞれについて行なう（Ｓ４００）。
【０１０５】
次に、原稿頂点設定処理部１３２は、エッジ有効部直線式算出部１２６により算出された直線式を参照して撮像画像における原稿の頂点座標を特定する（Ｓ４２０）。はみ出し場所判定処理部１３４は、原稿頂点設定処理部１３２により設定された頂点座標が撮像範囲からはみ出しているか否かを判定する（Ｓ５００）。
【０１０６】
次に、境界部分特定処理部１３６は、はみ出し場所判定処理部１３４により頂点座標が撮像範囲からはみ出していると判定された原稿頂点についての撮像範囲との境界部分を特定し、非検査領域設定部１３８は、その特定された境界部分を示す座標情報とはみ出し場所判定処理部１３４により頂点座標が撮像範囲からはみ出していると判定された原稿頂点の座標情報とに基づいて非検査領域を画定する（Ｓ６００）。非検査領域設定部１３８は、この画定した非検査領域を示す情報をデータ格納部３００に登録する。
【０１０７】
図１１は、第１例の非検査領域特定処理におけるエッジ抽出処理（図１０のＳ２００）を示すフローチャートである。
【０１０８】
エッジ抽出部１２２は、左辺に着目して左側からサーチする左辺エッジ抽出処理（Ｓ２１０Ｌ）、右辺に着目して右側からサーチする右辺エッジ抽出処理（Ｓ２１０Ｒ）、上辺に着目して上側からサーチする上辺エッジ抽出処理（Ｓ２１０Ｔ）、下辺に着目して下側からサーチする下辺エッジ抽出処理（Ｓ２１０Ｂ）の順でエッジ抽出処理を行なう。
【０１０９】
図１２は、第１例の非検査領域特定処理における左辺エッジ抽出処理（図１１のＳ２１０Ｌ）の詳細例を示すフローチャートである。
【０１１０】
エッジ抽出１２２は、先ず、オペレータ“ｉ”を“０”に初期セットし（Ｓ２１０）、ｙ座標がyl（ｉ）のときのエッジ座標xl（ｉ）を検出する（Ｓ２２２−Ｙｅｓ，Ｓ２２４）。これは、（ｘ，ｙ）を（０，yl（ｉ）），（１，yl（ｉ）），（２，yl（ｉ）），（３，yl（ｉ）），…とスキャンさせることによって最初に階調値が“２５５”、すなわち、最初に黒から白に変化する点をエッジ座標（xl（ｉ），yl（ｉ））として検出している。
【０１１１】
ここで、スキャンするyl（ｉ）座標は数画素ごととする、すなわち、スキャン幅を数画素とする。抽出したエッジ座標は、（xl（０），yl（０）），（xl（１），yl（１）），（xl（２），yl（２）），（xl（３），yl（３）），…，（xl（ｉ），yl（ｉ）），…となる。
【０１１２】
次に、エッジ有効部検出部１２４は、抽出した全エッジ座標について、隣接したエッジ座標間（xl（ｉ−１），yl（ｉ−１））と（xl（ｉ），yl（ｉ））の傾きａｌ（ｉ−１）を、式（１１）のようにして算出する（Ｓ２２６−Ｙｅｓ，Ｓ２２８）。
【０１１３】
【数１１】
2004310726.tif 000013
【０１１４】
“ｉ”をイクリメントしながら、傾きａｌ（ｉ−１）の算出処理を処理対象の撮像範囲分（図中の太線部分）だけ繰り返す（Ｓ２３０，Ｓ２２２）。設定値１は、この範囲を規定するために設定されるもので、スキャン方向（本例ではｙ方向）それぞれについての撮像範囲分の画素数をスキャン幅の画素数で除した値にするとよい。なお、“ｉ＝０”でステップ２２８をパスしているのは、エッジ座標が２点なければ傾きａｌ（ｉ−１）が求められないためである（Ｓ２２６−Ｎｏ）。
【０１１５】
次に、エッジ有効部検出部１２４は、オペレータ“ｉ”を“０”に、オペレータ“leftedgecnt”を“０”に、それぞれ初期セットする（Ｓ２４０）。また、エッジ有効部開始フラグ sflagを“０”に初期セットする（Ｓ２４２）。そして、エッジ有効部検出部１２４は、算出した傾きal（１），al（２），al（３），…，ａｌ（ｉ），…について、さらに、隣接した傾き間ａｌ（ｉ＋１）とａｌ（ｉ）の差sl（ｉ）を式（１２）のようにして算出する（Ｓ２４６）。
【０１１６】
【数１２】
2004310726.tif 000014
【０１１７】
次に、エッジ有効部検出部１２４は、算出した差sl（ｉ）が設定値２以下であるか否かを判定する（Ｓ２５０）。原稿辺縁に対応する部分で検知されるエッジ画素を使用した傾き差はほぼゼロと考えることができる。一方、はみ出し部分を走査した結果得られる傾き差は、原稿内部の文字部のエッジ画素を使用した傾き差となるので、比較的大きいと考えることができる。よって、ノイズの影響を除去する程度に設定値２の値を決めるとよい。
【０１１８】
sl（ｉ）が設定値２以下の場合（Ｓ２５０−Ｙｅｓ）、エッジ有効部検出部１２４は、エッジ有効部開始フラグ sflagを“１”に設定する（Ｓ２５４）。そして、このときの（xl（ｉ），yl（ｉ））を左辺エッジ有効部開始点（ｘｓｌ（leftedgecnt），ｙｓｌ（leftedgecnt））とする（Ｓ２５６）。
【０１１９】
このステップＳ２５６の後、オペレータ“ｉ”を“1”インクリメントしてステップＳ２４４に戻る（Ｓ２７０）。その後もsl（ｉ）の値が設定値２以下の場合、 sflagは“１”のままであるので、エッジ有効部と検出される。
【０１２０】
一方、sl（ｉ）が設定値２より大きくなった場合（Ｓ２５０−Ｎｏ）、エッジ有効部検出部１２４は、エッジ有効部開始フラグ sflagが“１”であるか否を判定し（Ｓ２６２）、エッジ有効部開始フラグ sflagが“１”の場合に限って、エッジ有効部を終了させるためにエッジ有効部開始フラグ sflagを“０”に設定する（Ｓ２６２−Ｙｅｓ，Ｓ２６４）。
【０１２１】
また、エッジ有効部検出部１２４は、このときの（xl（ｉ），yl（ｉ））を左辺エッジ有効部終了点（ｘｅｌ（leftedgecnt），ｙｅｌ（leftedgecnt））とし（Ｓ２６６）、オペレータ“ｉ”，“leftedgecnt”をそれぞれ“１”インクリメントしてステップＳ２４４に戻る（Ｓ２７２）。
【０１２２】
オペレータ“ｉ”が“設定値１−１”を超えたときには（Ｓ２４４−Ｎｏ）、エッジ有効部検出部１２４は、左辺エッジ有効部開始点（ｘｓｌ（leftedgecnt），ｙｓｌ（leftedgecnt））と左辺エッジ有効部終了点（ｘｅｌ（leftedgecnt），ｙｅｌ（leftedgecnt））との間を有効エッジ部に設定する（Ｓ２７８）。
【０１２３】
このようにして、（ｘｓｌ（０），ｙｓｌ（０））と（ｘｅｌ（０），ｙeｌ（０）），（ｘｓｌ（１），ｙｓｌ（１））と（ｘｅｌ（１），ｙeｌ（１）），…，（ｘｓｌ（leftedgecnt），ｙｓｌ（leftedgecnt））と（ｘｅｌ（leftedgecnt），ｙｅｌ（leftedgecnt））を検出して、有効エッジ部と設定する。検出された有効エッジの数はleftedgecnt個である。
【０１２４】
右辺エッジ有効部検出処理Ｓ２１０Ｒ、上辺エッジ有効部検出処理Ｓ２１０ＵＴ、下辺有効エッジ部検出処理検出処理Ｓ２１０Ｂも、スキャン方向をそれぞれの方向に応じて切り換えて、左辺エッジ有効部検出処理の処理手順に準じた処理とすればよい。これにより、右辺エッジ有効部は（ｘｓｒ（０），ｙｓｒ（０））と（ｘｅｒ（０），ｙeｒ（０）），（ｘｓｒ（１），ｙｓｒ（１））と（ｘｅｒ（１），ｙeｒ（１）），…，（ｘｓｒ（rightedgecnt），ｙｓｒ（rightedgecnt））と（ｘｅｒ（rightedgecnt ），ｙｅｒ（rightedgecnt））がrightedgecnt 個だけ検出される。
【０１２５】
また、上辺エッジ有効部は（ｘｓｔ（０），ｙｓｔ（０））と（ｘｅｔ（０），ｙeｔ（０）），（ｘｓｔ（１），ｙｓｔ（１））と（ｘｅｔ（１），ｙeｔ（１）），…，（ｘｓｔ（topedgecnt），ｙｓｔ（topedgecnt））と（ｘｅｔ（topedgecnt），ｙｅｔ（topedgecnt））がtopedgecnt個だけ検出される。また、下辺エッジ有効部は（ｘｓｂ（０），ｙｓｂ（０））と（ｘｅｂ（０），ｙeｂ（０）），（ｘｓｂ（１），ｙｓｂ（１））と（ｘｅｂ（１），ｙeｂ（１）），…，（ｘｓｂ（bottomedgecnt），ｙｓｂ（bottomedgecnt））と（ｘｅｂ（bottomedgecnt），ｙｅｂ（bottomedgecnt））がbottomedgecnt個だけ検出される。
【０１２６】
図１３は、上述した左辺エッジ抽出処理を、図８（Ｂ）の画像に適用した場合を説明する図である。
【０１２７】
図示するように、原稿の左辺のはみ出し部分を左側からサーチとすると、場合によっては１つ目のエッジ有効部が検出されうる。また、左辺の撮像範囲内のところでは、左辺そのものを示すエッジ有効部（２つ目）が検出される。
【０１２８】
図１４は、エッジ有効部検出処理を説明するフローチャートである。図１５は、このエッジ有効部検出処理にて使用する判定条件を示す図表である。
【０１２９】
エッジ有効部検出部１２４は、左辺エッジ有効部の仮検出（Ｓ３１０Ｌ），右辺エッジ有効部の仮検出（Ｓ３１０Ｒ），上辺エッジ有効部の仮検出（Ｓ３１０Ｔ），下辺エッジ有効部の仮検出（Ｓ３１０Ｂ）を行ない，その後、lefthamidashi，righthamidashi，tophamidashi，bottomhamidashiの値によりエッジ有効部検出をするかどうかの判定を行なう（Ｓ３２２）。条件は、図１５に記載した通りであり、左辺と右辺、または上辺と下辺が同時にはみ出した場合はエラー処理として非検査設定処理を行なわずに終了する（Ｓ３２２−Ｎｏ，Ｓ３３４）。
【０１３０】
条件を満たした場合（Ｓ３２２−Ｙｅｓ，Ｓ３３２）、エッジ有効部検出部１２４は、抽出したエッジ有効部の個数別に処理を、左辺→右辺→上辺→下辺の順に行なう（Ｓ３３２〜Ｓ３６４）。具体的には、左辺有効エッジ部検出（Ｓ３１０Ｌ）にて検出された左辺エッジ個数フラグleftfukusuが“０”の場合は、そのまま右辺のエッジ有効部数別の処理に向かう（Ｓ３３２Ｌ−Ｎｏ）。また、leftfukusuが“１”の場合は、左辺エッジ有効部検出処理（Ｓ３３４）を行なう（Ｓ３３２−Ｙｅｓ）。
【０１３１】
同様に、右辺有効エッジ部検出（Ｓ３１０Ｒ）にて検出された右辺エッジ個数フラグrightfukusuが“０”の場合は、そのまま上辺のエッジ有効部数別の処理に向かう（Ｓ３４２−Ｎｏ）。また、rightfukusuが“１”の場合は、右辺エッジ有効部検出処理（Ｓ３４４）を行なう（Ｓ３４２−Ｙｅｓ）。同様に、上辺有効エッジ部検出（Ｓ３１０Ｔ）にて検出された上辺エッジ個数フラグtopfukusuが“０”の場合は、そのまま下辺のエッジ有効部数別の処理に向かう（Ｓ３５２−Ｎｏ）。また、topfukusuが“１”の場合は、上辺エッジ有効部検出処理（Ｓ３５４）を行なう（Ｓ３５２−Ｙｅｓ）。同様に、下辺有効エッジ部検出（Ｓ３１０Ｂ）にて検出された下辺エッジ個数フラグbottomfukusuが“０”の場合は、エッジ有効部検出処理を終了する（Ｓ３６２−Ｎｏ）。また、bottomfukusuが“１”の場合は、下辺エッジ有効部検出処理（Ｓ３６４）を行なう（Ｓ３６２−Ｙｅｓ）。
【０１３２】
図１６は、第１例の非検査領域特定処理における左辺エッジ有効部仮検出処理（図１１のＳ３１０Ｌ）の詳細例を示すフローチャートである。
【０１３３】
leftedgecntが０個の場合、非検査処理を行なわずにエラー処理を行なって終了する（Ｓ３１０２−Ｙｅｓ）。次に、検出された左辺エッジ有効部数leftedgecntが１個の場合、仮の左辺エッジ有効部として設定する。このとき、（ｘｓｌ（０），ｙｓｌ（０））を（xedgesl，yedgesl）に、（ｘｅｌ（０），ｙｅｌ（０））を（xedgeel，yedgeel）に設定して（Ｓ３１１２−Ｙｅｓ）、（xedgesl，yedgesl）と（xedgeel，yedgeel）間の距離ｄｌｅｆｔを算出する（Ｓ３１３８）。ｄｅｌｅｆｔがｖ１とｖ２間の値であれば（Ｓ３１５２−Ｙｅｓ）、lefthamidashiを“０”に、leftfukusuを“０”に設定し（Ｓ３１５４）、ｖ１とｖ２間の値でない場合（Ｓ３１５２−Ｎｏ）、lefthamidashiを“１”に、leftfukusuを“０”に設定する（Ｓ３１５６）。ここで、ｖ１とｖ２の値は、出力される原稿を所定の位置で撮影したときの横の長さに誤差を加味した値を設定する。
【０１３４】
検出された左辺エッジ有効部数leftedgecntが０個でも１個でもない場合(２個以上の場合)、左辺エッジ有効部選択処理を行なう（Ｓ３１１２−Ｙｅｓ，Ｓ３１１４）。次に、leftedgecnt’が“０”の場合、非検査処理を行なわずにエラー処理を行なって終了する（Ｓ３１２２−Ｙｅｓ）。次に、leftedgecnt’が“１”の場合、（ｘｓｌ’（０），ｙｓｌ’（０））を（xedgesl，yedgesl）に、（ｘｅｌ’（０），ｙｅｌ’（０））を（xedgeel，yedgeel）に設定して（Ｓ３１３２−Ｙｅｓ）、（xedgesl，yedgesl）と（xedgeel，yedgeel）間の距離ｄｌｅｆｔを算出する（Ｓ３１３８）。ｄｅｌｅｆｔがｖ１とｖ２間の値であれば（Ｓ３１５２−Ｙｅｓ）、lefthamidashiを“０”に、leftfukusuを“０”に設定し（Ｓ３１５４）、ｖ１とｖ２間の値でない場合（Ｓ３１５２−Ｎｏ）、lefthamidashiを“１”に、leftfukusuを“０”に設定する（Ｓ３１５６）。
【０１３５】
leftedgecnt’が０個でも１個でもない場合、ｉを０に設定して、インクリメントしながら（ｘｓｌ’（ｉ），ｙｓｌ’（ｉ））を（xedgesl，yedgesl）に、（ｘｅｌ’（ｉ），ｙｅｌ’（ｉ））を（xedgeel，yedgeel）に設定し（Ｓ３１４４）、lefthamidashiを“１”に、leftfukusuを“１”に設定した後に左辺エッジ部仮検出処理を終了する。
【０１３６】
図１７に、左辺エッジ有効部検出処理の詳細を説明するフローチャートを示す。最初に、ｉを０に、leftedgecnt’を０に設定する（Ｓ３２００）。ｉをインクリメントしながら、leftedgecnt’より小さい場合は（Ｓ３２０２）、（ｘｓｌ（ｉ），ｙｓｌ（ｉ））と（（ｘｅｌ（ｉ），ｙｅｌ（ｉ））間の傾きａｌｅｆｔ−ｓｔ−ｅｎｄを算出する（Ｓ３２０４）。ａｌｅｆｔ−ｓｔ−ｅｎｄの絶対値が設定値ａｌｅｆｔ−ｐｒｅより大きい場合は（３２１２−Ｙｅｓ）、（ｘｓｌ（ｉ），ｙｓｌ（ｉ））を（ｘｓｌ’（leftedgecnt），ｙｓｌ’（leftedgecnt））に、（ｘｅｌ（ｉ），ｙｅｌ（ｉ））に設定しを（ｘｅｌ’（leftedgecnt），ｙｅｌ’（leftedgecnt））に設定する（３２１４）。左辺エッジ有効部選択処理により、左辺の傾きが設定値ａｌｅｆｔ−ｐｒｅより小さいもの、すなわち、用紙が極端に回転した場合を一つの辺として検出しないような処理を行なっていることになる。
【０１３７】
同様に、右辺のエッジ有効部の仮検出処理（Ｓ３１０Ｒ）、上辺のエッジ有効部の仮検出処理（Ｓ３１０Ｔ）、下辺のエッジ有効部の仮検出処理（Ｓ３１０Ｂ）を行なうことで、各辺に対するエッジ有効部処理を終了させる。
【０１３８】
エッジ有効部検出部１２４は、先ず、右辺の有効エッジ部を暫定的に設定する。この暫定的な右辺の有効エッジ部としては、たとえば、ステップＳ２１０Ｒ（具体的には、Ｓ２２０〜Ｓ２７８の右辺対応の処理）にて右辺エッジ有効部数が１個検出され、かつ右辺のエッジ有効部が正しく求められるケースで説明する。この場合、右辺エッジ有効部開始点edgers（１）を与える座標（ｘｓｒ，ｙｓｒ）を（ｘｓｒ（ｉ），ｙｓｒ（ｉ））、右辺エッジ有効部終了点edgere（１）を与える座標（ｘｅｒ，ｙｅｒ）を（ｘｅｒ（ｉ），ｙｅｒ（ｉ））とする。このとき、右辺の全体が撮像範囲内であれば、２つの座標（ｘｓｒ（ｉ），ｙｓｒ（ｉ）），（ｘｅｒ（ｉ），ｙｅｒ（ｉ））の距離が原稿の右辺の長さにほぼ相当することとなる。
【０１３９】
図１８は、左辺エッジ有効部検出処理の詳細を説明するフローチャートである。エッジ有効部検出部１２４は、左辺エッジ有効部の個数leftedgecountが“１”（左辺エッジ有効部は２個以上）であれば、正式なエッジ有効部を選択するための処理を行なう。右辺エッジのrightfukusuは０（右辺エッジ有効部は１個）であれば、右辺エッジ座標（xedgesr，yedgesr）と（xedgeer，yedgeer）間の傾きａｒを算出する（Ｓ３３０２−Ｙｅｓ，Ｓ３３０４）。
【０１４０】
【数１３】
2004310726.tif 000015
【０１４１】
右辺エッジのrightfukusuは０（右辺エッジ有効部は１個）でなければ、エラーとして非検査部設定処理を行なわずに処理を終了する（Ｓ３３０２−Ｎｏ，Ｓ３３１８）。
【０１４２】
次に、右辺エッジ座標（xedgesr，yedgesr）と（xedgeer，yedgeer）間の傾きａｒを算出する（Ｓ３３０２−Ｙｅｓ，Ｓ３３０４）。その後、エッジ有効部検出部１２４は、右辺の有効エッジ部の直線式のｙ軸との切片ｂｒを式（１４）のようにして算出する算出する（Ｓ３３０６）。
【０１４３】
【数１４】
2004310726.tif 000016
【０１４４】
次に、エッジ有効部検出部１２４は、右辺の長さｄｒと基準画像のサイズ比（原稿サイズの縦横比に相当）とに基づいて、上辺の長さｄｔ（あるいは下辺の長さｄｂ）を推算する（Ｓ３３０７，Ｓ３３０８）。具体的には先ず、右辺のエッジ有効部の距離ｄｒを式（１５）のようにして算出し（Ｓ３３０７）、その後、ｄｒと基準画像の縦画素と横画素の比率により原稿の横長さを式（１６）のようにして算出する（Ｓ３３０８）。
【０１４５】
【数１５】
2004310726.tif 000017
【０１４６】
【数１６】
2004310726.tif 000018
【０１４７】
次に、ステップＳ３３１６で算出した距離の判定処理を行なうためのｄｌｒ１とｄｌｒ２をそれぞれ式（１７）、式（１８）のようにして算出する（Ｓ３３０９）。ここで設定するＫ１とＫ２は原稿とカメラの位置関係により決定する。
【０１４８】
【数１７】
2004310726.tif 000019
【０１４９】
【数１８】
2004310726.tif 000020
【０１５０】
次に、エッジ有効部検出部１２４は、オペレータ“ｎ”を“０”に初期セットする（Ｓ３３１０）。そして、オペレータ“ｎ”がオペレータ“leftedgecnt”以下であるか否かを判定する（Ｓ３３１２）。最初は当然に“以下”であり（Ｓ３３１２−Ｙｅｓ）、エッジ有効部検出部１２４は、オペレータ“ｎ”のときの左辺エッジ有効部の開始点（ｘｅｄｓｌ（ｎ），ｙｅｄｓｌ（ｎ））と終点（ｘｅｄｅｌ（ｎ），ｙｅｄｅｌ（ｎ））間の中点（ｘｍｌ（ｎ），ｙｍｌ（ｎ））を式（１９）のようにして算出する（Ｓ３３１４）。また、左辺エッジ有効部が検出されずにオペレータ“ｎ”がオペレータ“leftedgecnt”以上になった場合（Ｓ３３１２−Ｎｏ）、エラーとして非検査部設定処理を行なわずに処理を終了する（Ｓ３３１２−Ｎｏ，Ｓ３３１８）。次に、（ｘｍｌ（ｎ），ｙｍｌ（ｎ））と右辺の有効エッジ部間の距離dl−rを式（２０）のようにして算出する（Ｓ３３１２−Ｙｅｓ，Ｓ３３１４〜Ｓ３３１６）。
【０１５１】
【数１９】
2004310726.tif 000021
【０１５２】
【数２０】
2004310726.tif 000022
【０１５３】
次に、エッジ有効部検出部１２４は、式（２０）で求めた両辺間の距離ｄｌ−ｒがＳ３３０９で求めたｄｌｒ１とｄｌｒ２間であるか否かを判定する（Ｓ３３２２）。両辺間の距離ｄｌ−ｒｄｌｒ１とｄｌｒ２間の場合には（Ｓ３３２２−Ｙｅｓ）、エッジ有効部検出部１２４は、そのときの（xedgesl(n)， yedgesl(n)）と(xedgeel(n)，yedgeel(n))間を正式な左辺エッジ有効部（xedgesl，yedgesl）と（xedgeel，yedgeel）として処理を終了する（Ｓ３３２４）。
【０１５４】
両辺間の距離ｄｌ−ｒがｄｌｒ１とｄｌｒ２間でない場合には（Ｓ３３２２−Ｎｏ）、エッジ有効部検出部１２４は、オペレータ“ｎ”に“１”を加算し、Ｓ３０１２に戻る。
【０１５５】
左辺の処理と同様に、右辺エッジ有効部開始点を与える座標を（xedgesr，yedgesr）、右辺エッジ有効部終了点を与える座標を（xedgeer，yedgeer）とする。上辺エッジ有効部開始点）を与える座標を（xedgest，yedgest）、上辺エッジ有効部終了点を与える座標を（xedgeet，yedgeet）とする。下辺エッジ有効部開始点を与える座標を（xedgesb，yedgesb）、下辺エッジ有効部終了点を与える座標を（xedgeeb，yedgeeb）とする。
【０１５６】
これにより、図９（Ｆ）で示された部分をエッジ有効部として特定することができる。
【０１５７】
右辺エッジ有効部選択処理Ｓ３４４、上辺エッジ有効部選択処理Ｓ３５４、下辺有効エッジ部選択処理検出処理Ｓ３６４も、図１６および図１７のフローチャートの手順に準じればよい。
【０１５８】
図２０は、第１実施形態のエッジ有効部直線式算出部１２６によるエッジ有効部直線式算出処理（図１０のＳ４００）の詳細例を示すフローチャートである。また、図２１は原稿頂点設定処理部１３２による原稿頂点設定処理（図１０のＳ４２０）の詳細例を示すフローチャートである。
【０１５９】
エッジ有効部直線式算出部１２６は、先ず、上辺エッジ有効部検出処理（図１１のＳ２１０Ｔ）にてエッジ有効部を検知できている場合、上辺エッジ有効部の（ xedgest，yedgest）と（ xedgeet，yedgeet）間の直線式ｙｔを式（２１Ｔ）により算出する（Ｓ４０２Ｔ）。同様に、下辺エッジ有効部検出処理（図１１のＳ２１０Ｂ）にてエッジ有効部を検知できている場合、下辺エッジ有効部の（ xedgesb，yedgesb）と（ xedgeeb，yedgeeb）間の直線式ｙｂを式（２１Ｂ）により算出する（Ｓ４０２Ｂ）。
【０１６０】
また、左辺エッジ有効部検出処理（図１１のＳ２１０Ｌ）にてエッジ有効部を検知できている場合、エッジ有効部直線式算出部１２６は、左辺エッジ有効部の（ xedgesl，yedgesl）と（ xedgeel，yedgeel）間の直線式ｙｌを式（２１Ｌ）により算出する（Ｓ４０２Ｌ）。さらに、右辺エッジ有効部検出処理（図１１のＳ２１０Ｒ）にてエッジ有効部を検知できている場合、右辺エッジ有効部の（ xedgesr，yedgesr）と（ xedgeer，yedgeer）間の直線式ｙｒを式（２１Ｒ）により算出する（Ｓ４０２Ｒ）。
【０１６１】
【数２１】
2004310726.tif 000023
【０１６２】
次に、原稿頂点設定処理部１３２は、上辺の直線ｙｔと左辺の直線ｙｌとの交点座標を原稿右上の頂点（xtl，ytl ）に設定する（Ｓ４２０）。次に、原稿頂点設定処理部１３２は、下辺の直線ｙｂと左辺の直線ｙｌとの交点座標を原稿右上の頂点（xbl，ybl ）に設定する（Ｓ４３０）。次に、原稿頂点設定処理部１３２は、上辺の直線ｙｔと左辺の直線ｙｒとの交点座標を原稿右上の頂点（xtr，ytr ）に設定する（Ｓ４４０）。次に、原稿頂点設定処理部１３２は、上辺の直線ｙｂと左辺の直線ｙｒとの交点座標を原稿右上の頂点（xbr，ybr ）に設定して（Ｓ４５０）、エッジ有効部直線式算出処理を終了する。
【０１６３】
図２２は、第１実施形態のはみ出し場所判定処理部１３４によるはみ出し場所判定処理（図１０のＳ５００）の詳細例を示すフローチャートである。図＊３５は、このはみ出し場所判定処理における一事例を示す図である。
【０１６４】
はみ出し場所判定処理部１３４は、先ず、原稿左上の頂点（xtl ，ytl ）が左側にはみ出しているかどうかを判定する（Ｓ５０２）。図７（Ｃ）より、透視変換後の左側境界の直線は、式（２２）で表すことができる。したがって、左上頂点（xtl ，ytl ）が左側境界の直線より左側に位置するかどうかは、式（２３）に示すように、式（２２）に（xtl ，ytl ）を代入した値が“０”より大きいか小さいかで判定することができる。もし、（xtl ，ytl ）が式（２２）で示す境界線よりも左側に位置する場合は、式（２３）の条件は成立する。
【０１６５】
【数２２】
2004310726.tif 000024
【０１６６】
【数２３】
2004310726.tif 000025
【０１６７】
同様に、はみ出し場所判定処理部１３４は、原稿左上の頂点（xtl ，ytl ）が上側にはみ出しているかどうかを判定する（Ｓ５０４，Ｓ５１０）。図７（Ｃ）より、透視変換後の上側境界の直線は、式（２４）で表すことができる。したがって、左上頂点（xtl ，ytl ）が上側境界の直線より上側に位置するかどうかは、式（２５）に示すように、式（２４）に（xtl ，ytl ）を代入した値が“０”より大きいか小さいかで判定することができる。もし、（xtl ，ytl ）が式（２４）で示す境界線よりも上側に位置する場合は、式（２５）の条件は成立する。
【０１６８】
【数２４】
2004310726.tif 000026
【０１６９】
【数２５】
2004310726.tif 000027
【０１７０】
式（２３）が成立して、かつ式（２５）も成立する場合（Ｓ５０２−Ｙｅｓ，Ｓ５０４−Ｙｅｓ）、はみ出し場所判定処理部１３４は、左上頂点（xtl ，ytl ）は図＊３５（Ａ）に示すように式（２２）で示す境界線の左側でかつ式（２２）で示す境界線の上側に位置することとなる。この場合は、原稿の何れかの辺に対しても長さが判明しない、つまり撮像範囲内に辺の全体が収まるものは存在しないため、はみ出し場所判定処理部１３４は、エラー処理を行なう（Ｓ５０６）。
【０１７１】
また、式（２３）が成立し式（２５）が不成立の場合（Ｓ５０２−Ｙｅｓ，Ｓ５０４−Ｎｏ）、左上頂点（xtl ，ytl ）は図＊３５（Ｂ）に示すように式（２２）で示す境界線の左側でかつ式（２４）で示す境界線の下側に位置することとなる。この場合、はみ出し場所判定処理部１３４は、原稿は左側にはみ出していると判定し、flagtlを“１”に設定する（Ｓ５０８）。
【０１７２】
式（２３）が不成立の場合で式（２５）が成立する場合（Ｓ５０２−Ｎｏ，Ｓ５１０−Ｙｅｓ）、左上頂点（xtl ，ytl ）は図＊３５（Ｃ）に示すように式（２２）で示す境界線の右側でかつ式（２４）で示す境界線の上側に位置することとなる。この場合、はみ出し場所判定処理部１３４は、原稿は上側にはみ出していると判定し、flagtlを“２”に設定する（Ｓ５１２）。また、式（２３）が不成立の場合で式（２５）も不成立の場合（Ｓ５０２−Ｎｏ，Ｓ５１０−Ｎｏ）、左上頂点（xtl ，ytl ）は式（２２）で示す境界線の左側でかつ式（２４）で示す境界線の下側に位置することとなる。この場合、はみ出し場所判定処理部１３４は、（xtl ，ytl ）は撮像画像内にあるものと判定し、flagtlを“０”に設定する（Ｓ５１４）。
【０１７３】
はみ出し場所判定処理部１３４は、原稿の他の頂点に対してもはみ出し場所判定処理を行なう。左下の頂点(xbl ，ybl )に対するはみ出し場所判定処理はＳ５２２〜Ｓ５３４、右上の頂点（xtr ，ytr ）に対するはみ出し場所判定処理はＳ５４２〜Ｓ５５４、右下の頂点（xbr ，ybr ）に対するはみ出し場所判定処理はＳ５６２〜Ｓ５６４となる。
【０１７４】
図示するように、判定のために使用する境界式が異なるものの、基本的には、左上頂点についての処理と同様である。なお、透視変換後の右側境界の直線は式（２６）で表すことができ、下側境界の直線は式（２７）で表すことができる。
【０１７５】
【数２６】
2004310726.tif 000028
【０１７６】
【数２７】
2004310726.tif 000029
【０１７７】
図８に示したように、原稿の左下が撮像範囲からはみ出している場合、その撮像画像の透視変換後の画像についてはみ出し場所判定処理を行なうことにより、図＊３５（Ｄ）に示すように、原稿左下の頂点(xbl ，ybl )が左側にはみ出していると判定される。
【０１７８】
図２３は、非検査領域設定部１３８による非検査領域設定処理（図１０のＳ６００）の詳細例を示すフローチャートである。
【０１７９】
非検査領域設定部１３８は、先ず、左上の頂点（xtl ，ytl ）のはみだし場所を示すフラグflagtlが“０”であるか否かを判定する（Ｓ６０２）。flagtlが“０”でない場合（Ｓ６０２−Ｙｅｓ）、非検査領域設定部１３８は、左上非検査部設定処理を行なう（Ｓ６０４）。この処理により、左上はみ出し部の境界座標として、（xtl１，ytl１），（xtl２，ytl２）が抽出される。
【０１８０】
この後、非検査領域設定部１３８は、左下の頂点(xbl ，ybl )に対する処理に進む。非検査領域設定部１３８は、左下の頂点(xbl ，ybl )のはみだし場所を示すフラグflagblが“０”であるか否かを判定する（Ｓ６０６）。flagblが“０”でない場合（Ｓ６０６−Ｙｅｓ）、非検査領域設定部１３８は、左上はみ出し部の境界座標算出を行なう（Ｓ６０８）。この処理により、左下はみ出し部の境界座標として、（xbl１，ybl１），（xbl２，ybl２）が抽出される。
【０１８１】
この後、非検査領域設定部１３８は、右上の頂点(xtr ，ytr )に対する処理に進む。非検査領域設定部１３８は、右上の頂点(xtr ，ytr )のはみだし場所を示すフラグflagtrが“０”であるか否かを判定する（Ｓ６１２）。flagtrが“０”でない場合（Ｓ６１２−Ｙｅｓ）、非検査領域設定部１３８は、右上はみ出し部の境界座標算出を行なう（Ｓ６１４）。この処理により、右上はみ出し部の境界座標として、（xtr１，ytr１），（xtr２，ytr２）が抽出される。
【０１８２】
この後、非検査領域設定部１３８は、右下の頂点(xbr ，ybr )に対する処理に進む。非検査領域設定部１３８は、右下の頂点(xbr ，ybr )のはみだし場所を示すフラグflagbrが“０”であるか否かを判定する（Ｓ６１６）。flagbrが“０”でない場合（Ｓ６１６−Ｙｅｓ）、非検査領域設定部１３８は、右下はみ出し部の境界座標算出を行なう（Ｓ６１８）。この処理により、右下はみ出し部の境界座標として、（xbr１，ybr１），（xbr２，ybr２）が抽出される。この後非検査領域設定部１３８は、非検査部設定処理を開始する。
【０１８３】
図２４と図２５は、左下非検査部設定処理の具体例を示す。ここで、図２４は左下非検査部設定処理（Ｓ６０８）のフローチャートである。また、図２５（Ａ）は境界座標位置を示す図であり、図２５（Ｂ）は、図２４に示した左下についての処理ステップに使用する式や交点座標を、左上、右上、右下に適用させる場合の対応関係を示す図表である。
【０１８４】
非検査領域設定部１３８は、左下はみ出し部の境界座標算出を特定する。具体的には、左下の頂点（xbl ，ybl ）のはみだし場所を示すフラグflagblが“１”であるか“２”であるかを判定する（Ｓ６２０）。flagblが“１”である場合（Ｓ６２０−Ｙｅｓ）、左下の頂点は撮像画像の左にはみ出しているため、ｙｌとａｔ１×ｘ＋ｂｔ１×ｙ＋ｃｔ１＝０の交点（xbl1，xbl1）を算出する（Ｓ６２４）。その後、ｙｂとａｔ１×ｘ＋ｂｔ１×ｙ＋ｃｔ１＝０の交点（xbl2，xbl2）を算出して（Ｓ６２６）、左下非検査部設定処理を終了する。また、flagblが“２”である場合（Ｓ６２０−Ｎｏ）、左下の頂点は撮像画像の下にはみ出しているため、ｙｌとｙ＋ｃｔ４＝０の交点（xbl1，xbl1）を算出する（Ｓ６２４）。その後、ｙｂとｙ＋ｃｔ４＝０の交点（xbl2，xbl2）を算出して（Ｓ６２６）、左下非検査部設定処理を終了する。
【０１８５】
左上はみ出し部の境界座標算出処理（Ｓ６０４）、右上はみ出し部の境界座標算出処理（Ｓ６１４）、右下はみ出し部の境界座標算出処理（Ｓ６１８）についても処理は同様である。ただし、図２４に示した左下についての処理ステップに使用する式や交点座標を、図２５（Ｂ）に示すように変更する。
【０１８６】
非検査領域設定部１３８は、以上のようにして、撮像画像に対するはみ出しに関わる前処理を終わらせると、はみ出し部分の領域（非検査領域）を示す情報をデータ格納部３００に格納する（図６のＳ１４４）。
【０１８７】
次に、基準画像処理部２１０の解像度変換部２１４は、矩形状の基準画像のサイズと検査対象である撮像画像における矩形状の原稿部分の画像のサイズとが等しくなるように、基準画像の解像度を変換する（Ｓ１５２）。次に、暈かし処理部２１６は、解像度変換された基準画像に対して暈かし処理（ガウスフィルタ処理）を施す（Ｓ１５４）。
【０１８８】
次に非検査領域削除処理部２１８は、非検査領域特定部１３０により特定された非検査領域情報をデータ格納部３００から読み出し、暈かし処理部２１６により暈かし処理が施された基準画像における非検査領域部分のデータを無効化することで、基準画像に対して非検査領域を設定する（Ｓ１５６）。非検査領域設定部１３８は、処理済の基準画像をデータ格納部３００に格納する。
【０１８９】
次に、位置合わせ処理部２３２は、非検査領域部分が無効化された基準画像と画像読取部１００にて前処理が施された撮像画像の位置合わせ処理をする（Ｓ１５８）。次に、欠陥異常検出処理部２３４は、２つの画像の差を求め（Ｓ１６０）、この差分処理により得られた差分結果に基づいて、撮像画像の欠陥や異常の有無を検出する（Ｓ１６２）。
【０１９０】
画像検査処理部２００の解像度変換部２１４は、基準画像を読み出して解像度変換を施し、とぼかし処理を施した基準データと、シェーディング補正処理と逆幾何変換（逆透視変換）処理と非検査部の設定処理を施した撮像画像間で位置合わせ処理後（Ｓ１２２）に比較を行ない、欠陥異常検出処理（Ｓ１２３）を行なう。
【０１９１】
以上説明したように、第１実施形態の画像検査装置５では、チルトスキャンにより撮像画像の原稿の一部が撮像範囲からはみ出した場合に対しても（図５〜図７参照）、はみ出し部の頂点を推算して非検査部を設定することにより、はみ出し部分を検査対象から除外して基準画像と比較することができる。この結果、原稿の排紙状態に関わらず、撮像画像と基準画像との比較・検査の際の精度が向上し、より検査精度の良好な画像欠陥や画質異常の検査ができるようになる。
【０１９２】
たとえば、図８に示したように、原稿の左下頂点が撮像範囲からはみ出した場合に対しても、はみ出し部の頂点を推算して非検査部を設定することにより、はみ出し部分を検査対象から除外して基準画像と比較することができる。
【０１９３】
なお、図５や図７から分かるように、頂点座標を特定しても、結果として、エラー処理となることもある。エラー処理となるケースでも頂点座標を求めているのは、解像度変換部２１４における解像度変換の際に、原稿の領域サイズを知っておく必要があるからである。
【０１９４】
＜＜第２実施形態＞＞
図２６は、図１に示した画像検査装置５の、第２実施形態の詳細例を示すブロック図である。この第２実施形態は、原稿の一部が撮像範囲からはみ出した撮影画像に対して透視変換処理を施すことなく、台形状の撮像画像に基づいて原稿部分の撮像範囲からはみ出している非検査領域を特定するための非検査領域情報を求め、台形状の撮像画像と基準画像とを比較して画像検査を行なう際に、先ず、撮像画像の台形状と同じになるように基準画像に対して逆透視変換処理を施し、この後、先に求めた非検査領域情報を参照して原稿の非検査領域を検査対象から除外して画像検査を行なう点に特徴を有する。以下、具体的に説明する。
【０１９５】
撮影画像に対して透視変換処理を施さない構成とするため、画像読取部１００から透視変換部１１６を取り除いている点が第１実施形態の構成と異なる。また、基準画像に対して、撮像画像の台形状と同形状となるように幾何変換処理（逆透視変換処理）を施す逆透視変換部２１２を備えている点が第１実施形態の構成と異なる。
【０１９６】
逆透視変換部２１２は、たとえば、撮像画像の台形形状を矩形状に戻す透視変換処理に際して使用される上述した式（３），（４）の逆変換式（式の記載は割愛する）を求めて、基準画像の各画素を代入することで、矩形状の基準画像を、撮像画像の台形状に合致させる。
【０１９７】
図２７は、上記第２実施形態の画像検査装置５における処理手順の概要を示すフローチャートである。基本的な処理手順は第１実施形態の画像検査装置５と同様であるが、撮影画像に対して透視変換処理を施さない点と、撮像画像の台形状と同じになるように基準画像に対して逆透視変換処理を施す点が異なる。同様の処理手順には同一のステップ番号を付して示す。
【０１９８】
シェーディング補正部１１２は、カメラヘッド１０２により撮影された撮像画像に対してシェーディング補正を行ない（Ｓ１３４）、さらに光学歪み補正を施して、処理済の画像をデータ格納部３００に格納する（Ｓ１３６）。
【０１９９】
この後、非検査領域特定処理部１２０は、直ちに後述する手順にしたがって、台形状の撮像画像に基づいて非検査領域特定処理を実行し、はみ出し部分の領域（非検査領域）を示す情報をデータ格納部３００に格納する（Ｓ１４４）。
【０２００】
次に、基準画像処理部２１０の逆透視変換部２１２は、矩形状の基準画像を、撮像画像の台形状に合致させるべく逆透視変換処理を施す（Ｓ１５０）。解像度変換部２１４は、基準画像（台形状）のサイズと検査対象である撮像画像の原稿部分の画像（台形状）のサイズとが等しくなるように、基準画像の解像度を変換する（Ｓ１５２）。次に、暈かし処理部２１６は、解像度変換された基準画像に対して暈かし処理を施す（Ｓ１５４）。
【０２０１】
以下第１実施形態と同様に、非検査領域削除処理部２１８は、非検査領域特定部１３０により特定された非検査領域情報をデータ格納部３００から読み出し、暈かし処理部２１６により暈かし処理が施された基準画像における非検査領域部分のデータを無効化することで、基準画像に対して非検査領域を設定する（Ｓ１５６）。位置合わせ処理部２３２は、非検査領域部分が無効化された基準画像と画像読取部１００にて前処理が施された撮像画像の位置合わせ処理をする（Ｓ１５８）。欠陥異常検出処理部２３４は、２つの画像の差を求め（Ｓ１６０）、この差分処理により得られた差分結果に基づいて、撮像画像の欠陥や異常の有無を検出する（Ｓ１６２）。
【０２０２】
図２８は、第２実施形態で取り扱う画像の一例を示す図である。ここで、図２８（Ａ）は、撮像範囲内から原稿の一部がはみ出して置かれている状態でカメラヘッド１０２により撮像された結果を示す図であり、図８（Ａ）に示したものと同じである。カメラヘッド１０２により撮像された透視変換処理前の画像データにおける原稿部分は、図２８（Ａ）のように台形状を呈する。
【０２０３】
図２８（Ｂ）および図２８（Ｃ）は、エッジ抽出部１２２の処理を説明する図である。エッジ抽出部１２２は、光学歪補正部１１４により光学補正が施された台形状の撮像画像に対してエッジ抽出処理を施す。エッジ抽出処理は、第１実施形態と同様に、ｐｒｅｗｉｔｔ演算子で、上側、左側、下側、右側のそれぞれの方向からサーチして行なう。上側、左側、下側、右側のそれぞれの方向からサーチして得たエッジ抽出画像の各画素について和を取ることで、図２８（Ｂ）に示す合成されたエッジ抽出画像が得られる。
【０２０４】
エッジ有効部検出部１２４にて、図２８（Ｂ）に示すエッジ抽出画像に基づいてエッジ有効部検出処理を施すことで、図２８（Ｃ）に示すエッジ抽出画像が得られる。図２８（Ｃ）にて、４つの直線部（図中の太線）で示された部分がエッジ有効部となる。
【０２０５】
次に、第２実施形態の非検査領域特定処理部１２０の非検査領域特定処理の処理手順について説明する。基本的な処理手順は第１実施形態と同様であるので、第１実施形態のフローチャートのステップ番号を参照しつつ、第２実施形態に関わる部分についてのみ説明することとする。
【０２０６】
先ず、図２０および図２１を参照しつつ、エッジ有効部直線式算出部１２６によるエッジ有効部直線式算出処理と原稿頂点設定処理部１３２による原稿頂点設定処理について説明する。
【０２０７】
エッジ有効部直線式算出部１２６は、先ず、第１実施形態と同様に、エッジ有効部検出部１２４により検出されたエッジ有効部に基づいて原稿の頂点を算出するために、エッジ有効部直線式算出処理を行なう（Ｓ４０２）。すなわち、上辺エッジ有効部の直線ｙｔ、下辺エッジ有効部の直線式ｙｂ、左辺エッジ有効部の直線式ｙｌ、右辺エッジ有効部の直線式ｙｒを算出する。
【０２０８】
原稿頂点設定処理部１３２は、エッジ有効部直線式算出部１２６により求められた直線式を利用して、原稿左上の頂点（xtl ，ytl ）、原稿左下の頂点(xbl ，ybl )、原稿左上の頂点（xtr ，ytr ）、原稿左上の頂点（xbr ，ybr ）を、それぞれ算出する（Ｓ４２０〜Ｓ４５０）。
【０２０９】
図２９は、第２実施形態のはみ出し場所判定処理部１３４によるはみ出し場所判定処理（第１実施形態の図２２に対応する）の詳細例を示すフローチャートである。図３０は、このはみ出し場所判定処理部１３４によるはみ出し場所判定処理における一事例を示す図である。
【０２１０】
なお、第２実施形態の処理としては、基本的には第１実施形態に準じた処理を行なうので、比較の容易化のため、後述する処理のステップ番号には“＄”マークとともに第１実施形態と同一の番号を付して示す。
【０２１１】
はみ出し場所判定処理部１３４は、先ず、原稿左上の頂点（xtl ，ytl ）が左側にはみ出しているかどうかを判定する（Ｓ＄５０２）。図３０（Ａ）より、左側境界の直線は、式（２８）で表すことができる。したがって、左上頂点（xtl ，ytl ）が左側境界の直線より左側に位置するかどうかは、式（２９）に示すように、式（２８）に（xtl ，ytl ）を代入した値が“０”より大きいか小さいかで判定することができる。もし、（xtl ，ytl ）が式（２８）で示す境界線よりも左側に位置する場合は、式（２９）の条件は成立する。
【０２１２】
【数２８】
2004310726.tif 000030
【０２１３】
【数２９】
2004310726.tif 000031
【０２１４】
同様に、はみ出し場所判定処理部１３４は、原稿左上の頂点（xtl ，ytl ）が上側にはみ出しているかどうかを判定する（Ｓ＄５０４，Ｓ＄５１０）。図３０（Ａ）より、上側境界の直線は、式（３０）で表すことができる。したがって、左上頂点（xtl ，ytl ）が上側境界の直線より上側に位置するかどうかは、式（３１）に示すように、式（３０）に（xtl ，ytl ）を代入した値が“０”より大きいか小さいかで判定することができる。もし、（xtl ，ytl ）が式（３０）で示す境界線よりも上側に位置する場合は、式（３１）の条件は成立する。
【０２１５】
【数３０】
2004310726.tif 000032
【０２１６】
【数３１】
2004310726.tif 000033
【０２１７】
式（２９）が成立して、かつ式（３１）も成立する場合（Ｓ＄５０２−Ｙｅｓ，Ｓ＄５０４−Ｙｅｓ）、はみ出し場所判定処理部１３４は、左上頂点（xtl ，ytl ）は式（２８）で示す境界線の左側でかつ式（３０）で示す境界線の上側に位置することとなる。この場合は、原稿の何れかの辺に対しても長さが判明しない、つまり撮像範囲内に辺の全体が収まるものは存在しないため、はみ出し場所判定処理部１３４は、エラー処理を行なう（Ｓ＄５０６）。
【０２１８】
また、式（２９）が成立し式（３１）が不成立の場合（Ｓ＄５０２−Ｙｅｓ，Ｓ＄５０４−Ｎｏ）、左上頂点（xtl ，ytl ）は式（２８）で示す境界線の左側でかつ式（３０）で示す境界線の下側に位置することとなる。この場合、はみ出し場所判定処理部１３４は、原稿は左側にはみ出していると判定し、flagtlを“１”に設定する（Ｓ＄５０８）。
【０２１９】
式（２９）が不成立の場合で式（３１）が成立する場合（Ｓ＄５０２−Ｎｏ，Ｓ＄５１０−Ｙｅｓ）、左上頂点（xtl ，ytl ）は式（２８）で示す境界線の右側でかつ式（３０）で示す境界線の上側に位置することとなる。この場合、はみ出し場所判定処理部１３４は、原稿は上側にはみ出していると判定し、flagulを“２”に設定する（Ｓ＄５１２）。また、式（２９）が不成立の場合で式（３１）も不成立の場合（Ｓ＄５０２−Ｎｏ，Ｓ＄５１０−Ｎｏ）、式（２８）で示す境界線の左側でかつ式（３０）で示す境界線の下側に位置することとなる。この場合、はみ出し場所判定処理部１３４は、（xtl ，ytl ）は撮像画像内にあるものと判定し、flagtlを“０”に設定する（Ｓ＄５１４）。
【０２２０】
はみ出し場所判定処理部１３４は、原稿の他の頂点に対してもはみ出し場所判定処理を行なう。左下の頂点(xbl ，ybl )に対するはみ出し場所判定処理はＳ＄５２２〜Ｓ＄５３４、右上の頂点（xtr ，ytr ）に対するはみ出し場所判定処理はＳ＄５４２〜Ｓ＄５５４、右下の頂点（xbr ，ybr ）に対するはみ出し場所判定処理はＳ＄５６２〜Ｓ＄５６４となる。
【０２２１】
図示するように、判定のために使用する境界式が異なるものの、基本的には、左上頂点についての処理と同様である。なお、右側境界の直線は式（３２）で表すことができ、下側境界の直線は式（３３）で表すことができる。
【０２２２】
【数３２】
2004310726.tif 000034
【０２２３】
【数３３】
2004310726.tif 000035
【０２２４】
図３０（Ａ）に示したように、原稿の左下が撮像範囲からはみ出している場合、その撮像画像についてはみ出し場所判定処理を行なうことにより、原稿左下の頂点(xbl ，ybl )が左側にはみ出していると判定される。
【０２２５】
図３１は、第２実施形態の境界部分特定処理部１３６によるはみ出し部の境界座標算出処理（第１実施形態の図２４に対応）の具体例を示すフローチャートである。ここで図３１は、左下はみ出し部の境界座標算出処理のフローチャートを示す。図３２は、図３１に示した左下についての処理ステップに使用する式や交点座標を、左上、右上、右下に適用させる場合の対応関係を示す図表である。
【０２２６】
なお、非検査領域設定部１３８によるはみ出し部の境界座標算出処理（図１０のＳ６００）の詳細例は、図２３に示した第１実施形態のものと同じである。
【０２２７】
左下はみ出し部の境界座標算出処理（Ｓ＄６０８）を行なうに際して、はみ出し場所判定処理部１３４は、flagblが“１”の場合、はみ出し場所判定処理部１３４直線ｙｌと左側の境界線ｘ＋ｃｑ１＝０の交点（xbl１，ybl１）を算出する（Ｓ＄６２２）。この後、はみ出し場所判定処理部１３４は、直線ｙｂと左側の境界線ｙ＋ｃｑ１＝０の交点（xbl２，ybl２）を算出し（Ｓ＄６２４）、（xbl，ybl），（xbl１，ybl１），（xbl２，ybl２）間を非検査部として設定する（Ｓ＄６２６）。また、flagblが“２”の場合、はみ出し場所判定処理部１３４は直線ｙｌと下側の境界線ｘ＋ｃｑ４＝０の交点（xbl１，ybl１）を算出する（Ｓ＄６３２）。その後、直線ｙｂと下側の境界線ｘ＋ｃｑ４＝０の交点（xbl２，ybl２）を算出し（Ｓ＄６３４）、（xbl，ybl），（xbl１，ybl１），（xbl２，ybl２）間を非検査部として設定する（Ｓ＄６３６）。
【０２２８】
左上はみ出し部の境界座標算出処理（Ｓ６０４）、右上はみ出し部の境界座標算出処理（Ｓ６１４）、右下はみ出し部の境界座標算出処理（Ｓ６１８）についても処理は同様である。ただし、図３１に示した左下についての処理ステップに使用する式や交点座標を、図３２に示すように代える。
【０２２９】
以上説明したように、第２実施形態の画像検査装置５では、撮像画像を正面から見た画像に変換して（つまり矩形状の画像に戻して）元の画像である基準画像と比較するのではなく、撮像状態に起因する撮像画像の形状（一般的には台形状）に一致するように基準画像に対して逆透視変換処理を施して、何れも矩形状ではない（前例では台形状）の両画像を比較するようにした。基準画像に対する逆透視変換処理は、少ない画素点からより多くの画素点の画素値を求めるという補間処理を必要としないので、より精度よく画像欠陥の有無を検査できるようになる。
【０２３０】
また、この際、チルトスキャンにより撮像画像の原稿の一部がはみ出した場合に、撮像画像に対して幾何変換処理を行なわなくても、はみ出し部の頂点座標を推定して非検査部を設定することにより、基準画像との比較が可能となる。
【０２３１】
＜＜第３実施形態＞＞
図３３は、図１に示した画像検査装置５の第３実施形態における原稿範囲特定処理の概要を説明する図である。第３実施形態の画像検査装置５の構成としては、概ね第１実施形態と同様のものを用いる。この第３実施形態の画像検査装置５は、第１実施形態と同様に、略矩形状の原稿の頂点が撮像範囲からはみ出した撮影画像に対して透視変換処理を施すとともに、透視変換処理された矩形状の撮像画像に基づいて、原稿部分の撮像範囲からはみ出している非検査領域を特定するための非検査領域情報を求め、透視変換処理された撮像画像と基準画像とを比較して画像検査を行なう際に、先に求めた非検査領域情報を参照して、原稿の非検査領域を検査対象から除外して画像検査を行なう。
【０２３２】
そして、この第３実施形態は、原稿の辺縁を示す直線式の求め方、並びに、撮像範囲からはみ出した原稿部分を非検査部として設定する手法が、第１および第２実施形態と異なる。具体的には、エッジ追跡や統計処理などの手法を用いて矩形状の原稿の辺縁をなす直線の式を求め、求めた直線の本数が４本、３本、２本以下の何れであるのかに応じて非検査領域設定処理を切り替える点に特徴を有する。これにより、第１実施形態の処理手順では対処し得ないはみ出し状態の撮像画像についても対応可能とする。
【０２３３】
たとえば、第３実施形態の画像検査装置５は、原稿辺縁の直線式の算出手法として、周知技術であるエッジ追跡の手法を利用し、エッジ画素が所定数以上ほぼ連続して略直線状に検出されたとき、その部分を原稿辺縁をなす直線部分であるとする。あるいは、統計手法を利用して、原稿辺縁をなす直線を求めてもよい。図３３（Ａ）に示すように、原稿が傾いている場合でも、原稿辺縁をなす直線を検出することは可能である。
【０２３４】
この後、画像検査装置５は、図３３（Ｂ）に示すように、先ず、原稿辺縁をなす４つの直線式が検出できたか否かによって処理を切り替える（Ｓ１）。４つの直線式が検出できる場合は（Ｓ１−Ｙｅｓ）、たとえ、一部の頂点が撮像範囲外であっても、全ての頂点座標を特定可能である。一方、エッジ追跡などでは４つの直線式が検出できない場合は（Ｓ１−Ｎｏ）、画素信号生成部５は次に、原稿辺縁をなす３つの直線式が検出できたか否かによって処理を切り替える（Ｓ２）。３つの直線式が検出できる場合には、１辺の全体が撮像範囲内であるかもしくは１頂点のみ撮像範囲内の場合があるが、何れの場合であっても必ず２頂点（図中に示す●印）を設定できるので、画素信号生成部５は先ずそれらを設定する（Ｓ１）。
【０２３５】
次に、画素信号生成部５は、既に設定済みの２つの頂点座標間の距離を求め（Ｓ４）、この距離と基準画像の略角形状の各辺縁間の比（サイズ比）とから、既に設定済みの２つの頂点と対向する、未知の２頂点（図中に示す○印）の座標を推測（特定）する（Ｓ５）。そして、この求めた２頂点座標から撮像範囲外の辺を規定する残りの直線式を特定する（Ｓ６）。
【０２３６】
このようにして、４つの直線式を特定できると（Ｓ１−ＹｅｓやＳ６）、次に画素信号生成部５は、４つの直線式から交点座標を求める（Ｓ７）。そして、４つの交点座標から、４つの直線を原稿の各辺に対応付け、４つの交点座標が原稿のどの頂点かを特定する（Ｓ８）。これによって、撮像範囲に対してはみ出している原稿頂点の位置を特定することができる。
【０２３７】
一方、エッジ追跡などでは２以下の直線式しか検出できない場合は（Ｓ２−Ｎｏ）、撮像範囲内には１頂点以下しか存在しないことになる。この場合、４頂点を特定することは不可能ではないまでも非常に難しく、原稿領域を確定できないので、画素信号生成部５はエラーとして処理を中止する（Ｓ９）。
【０２３８】
図３４は、第３実施形態における非検査領域特定処理の概要を説明する図である。ここでは、撮像範囲の左端側にはみ出している状態を一例として説明する。
【０２３９】
第３実施形態の処理において対応可能な原稿が撮像範囲からはみ出した状態では、原稿の辺縁をなす３本もしくは４本の直線が求められる。これを、撮像範囲の上下左右の端縁から見た場合、図３４（Ａ）に示すように、１つの端縁に対して１つの頂点がはみ出している場合、図３４（Ｂ）に示すように、２つの端縁に対して１つの頂点がはみ出している場合、すなわち撮像範囲のコーナー側にはみ出している場合、および図３４（Ｃ）に示すように、１つもしくは２つの端縁に対して隣接する２つの頂点がはみ出している場合、の３つの態様に大別できる。
【０２４０】
ここで、図３４（Ａ）と図３４（Ｂ）とは、何れも１つの頂点がはみ出している場合であり、非検査領域設定処理においては同一概念の状態と捉えることもできる。そして、このような場合には、撮像範囲からはみ出している原稿頂点から延びる２つの直線と、はみ出し対象の撮像範囲の端縁とがなす２つの交点座標を求め、この２つの交点座標とその原稿頂点とがなす３角形の領域Ｓ１を非検査領域に設定すればよい。
【０２４１】
ただし、図３４（Ｂ）に示す状態では、対象となる撮像範囲の端縁が２つあるので、それぞれの端縁について２つの交点座標を求めることで、結果としては、２つの３角形の領域Ｓ１ｌ（参照子“ｌ”はleftを意味する），Ｓ１ｂ（参照子“ｂ”はbottomを意味する）を非検査領域として設定する。Ｓ１ａ，Ｓ１ｂとで重複部分が生じるが不都合はない。なお、Ｓ１ｌに関しては左の端縁から見たＳ１、Ｓ１ｂに関しては下の端縁から見たＳ１として捉えることもできる。
【０２４２】
つまり、撮像範囲のある端縁に対してはみ出している１つの３角形の領域Ｓ１を非検査領域とする処理を、上下左右の４つの端縁について実行することで、撮像範囲からはみ出している、全ての３角形の領域を確実に非検査領域として特定することができる。
【０２４３】
一方、図３４（Ｃ）に示す状態では、対象とする撮像範囲の端縁からはみ出している、共通する原稿辺縁上の、２つの原稿頂点に関して、それぞれから延びる残りの、各１つの直線とはみ出し対象の撮像範囲の端縁とがなす交点座標をそれぞれ求め、この２つの交点座標と撮像範囲からはみ出している２つの原稿頂点とがなす４角形の領域Ｓ２を非検査領域に設定すればよい。
【０２４４】
なお、上述の処理では、着目する撮像範囲の端縁に対して１つ頂点がはみ出している場合には３角形の領域を、また２つ頂点がはみ出している場合には４角形の領域を、それぞれ非検査領域に設定する、というように、はみ出し状態に応じて処理内容を切り替えていたが、これらは纏めて取り扱うことも可能である。
【０２４５】
たとえば、共通する原稿辺縁上の２つの原稿頂点のそれぞれから延びる、残りの各１つの直線と、はみ出し対象の撮像範囲の端縁とがなす交点座標をそれぞれ求め、この２つの交点座標と撮像範囲からはみ出している２つの原稿頂点とによって囲まれた領域を非検査領域に設定すればよい。この場合、図３４（Ａ）については領域Ｓ３、図３４（Ｂ）については領域Ｓ３ｌ，Ｓ３ｂも非検査領域に設定することになるが、この領域は原稿範囲外であるので、本実施形態の目的に対しては、実質的には意味のない領域になる。
【０２４６】
図３５は、上記の処理内容を実現するため処理手順の概要を説明する図である。ここで、図３５（Ａ）は、境界部分特定処理部１３６による境界座標特定処理の手順を示すフローチャートである。なお、この図３５（Ａ）では、原稿辺縁を参照符号“Ａ”で代表的に記述し、その直線式ｙを参照符号“Ａ”の小文字“ａ”を用いて“ｙａ”として示す。また図３５（Ｂ）および図３５（Ｃ）は、この処理にて用いる、上下左右の各端縁に対するはみ出し領域を画定する直線式や原稿頂点および所定の直線と撮像範囲の端縁との交点座標の各対応関係を示す図である。図３４の（Ａ）〜（Ｃ）には、図３５（Ｂ）および図３５（Ｃ）に示す座標も示している。
【０２４７】
画像検査装置５の境界部分特定処理部１３６は、先ず原稿のＡ辺の直線式ｙａに関連した２つの境界式ｙα，ｙβと撮像範囲の端縁とがなす交点αａ，βａの座標を特定する（Ｓ１１）。ここで、２つの境界式ｙα，ｙβとは、直線式ｙａ上の２つの原稿頂点から延びる直線式ｙａと直交する残りの直線式と等価である。たとえば、原稿の左辺Ｌ（Left）についての場合、上辺Ｔ（Top ）の直線式ｙｔと下辺Ｂ（bottom）の直線式ｙｂである。
【０２４８】
次に境界部分特定処理部１３６は、求めた各交点座標が原稿の範囲外にあるか否かを判定する（Ｓ１２）。交点座標が原稿の範囲外にある場合には、その交点αａ，βａを含む境界式（すなわち直線式）上の原稿頂点Ａα，Ａβ（両方ではなく何れか一方）は撮像範囲内にあることになる。このような状態の交点を、以下、外分点と呼ぶ。これに対して、交点座標が原稿の範囲内にある場合には、その交点αａ，βａを含む境界式（すなわち直線式）上の原稿頂点Ａα，Ａβ（両方の場合もある）は撮像範囲外にあることになる。このような状態の交点を、以下、内分点と呼ぶ。
【０２４９】
境界部分特定処理部１３６は、交点座標αａ，βａが原稿範囲外にある外分点の場合には（Ｓ１２−Ｙｅｓ）、その外分点の交点座標と対応頂点座標とを交点座標Ａａとして纏める（Ｓ１３）。ここで、対応頂点座標は、外分点の交点座標を含む境界式（すなわち直線式）上の原稿頂点Ａα，Ａβの何れか一方である。また、交点座標Ａａは、この原稿頂点を含む直線式ｙａと対応する撮像範囲の端縁とがなす交点の座標を意味する。
【０２５０】
この後、境界部分特定処理部１３６は、残りの交点座標と頂点座標（Ａα，Ａβの他方）と交点座標Ａａとで画定される３角形を非検査部に設定する（Ｓ１４）。このステップＳ１２−Ｙｅｓ〜Ｓ１４までの処理によって、図３４（Ａ）および図３４（Ｂ）に示したＳ１，Ｓ１ａ，Ｓ１ｂを特定することができる。
【０２５１】
一方、交点座標αａ，βａが原稿範囲内にある内分点の場合には（Ｓ１２−Ｎｏ）、境界部分特定処理部１３６は、直線式ｙａ上の２つの原稿頂点Ａα，Ａβと２つの交点座標αａ，βａとで画定される４角形を非検査部に設定する（Ｓ１５）。このステップＳ１２−Ｎｏ，Ｓ１５の処理によって、図３４（Ｃ）に示したＳ２を特定することができる。
【０２５２】
なお、全てについてステップＳ１５の処理を行なうことで、２つの交点座標αａ，βａと撮像範囲からはみ出している２つの原稿頂点Ａα，Ａβとによって囲まれた領域を非検査領域に設定することもできる。このことは、図３４での説明で述べたことと同じである。よって、ステップＳ１２，１３，１４の処理を行なう必然性はない。
【０２５３】
図３６および図３７は、この第３実施形態の処理で対応可能な原稿のはみ出し状態を示す、撮像画像の一例である。また図３８は、この第３実施形態の処理でも対応できない原稿のはみ出し状態を示す、撮像画像の一例である。第３実施形態の処理で対応可能な原稿のはみ出し状態としては、検出された直線が４本の場合と、３本の場合である。検出された直線が２本以下の場合にはエラーとして処理を止める。
【０２５４】
たとえば、図３６は、検出される直線が４本となる場合（４辺検出時）の原稿と撮像範囲の関係の一例を示すもので、原稿の隣接する２頂点が撮像範囲に対してコーナーを形成する撮像範囲の２方向にはみ出した状態にある。このような状態としては、透視変換後の撮像画像範囲の右上コーナーにて、その上端と右端ではみ出した状態（図３６（Ａ））、左上コーナーにて、その上端と左端ではみ出した状態（図３６（Ｂ））、右下コーナーにて、その下端と右端ではみ出した状態（図３６（Ｃ））、および、左下コーナーにて、その下端と左端ではみ出した状態（図３６（Ｄ））、が代表的なものである。
【０２５５】
また図３７は、検出される直線が３本となる場合（３辺検出時）の原稿と撮像範囲の関係の一例を示すもので、少なくとも原稿の隣接する２頂点が撮像範囲の端縁からはみ出した状態にある。このような状態としては、先ず、隣接する２つの原稿頂点が撮像範囲の１つの端縁からはみ出している状態である。この状態は、隣接する２つの原稿頂点が何れも撮像範囲の１つの端縁をなす直線よりも外側に位置している状態である。
【０２５６】
たとえば、原稿の左上および左下の各頂点が透視変換後の撮像画像範囲の左側にはみ出した状態（図３７（Ａ））、原稿の左上および右上の各頂点が上側にはみ出した状態（図３７（Ｂ））、原稿の右上および右下の各頂点が右側にはみ出した状態（図３７（Ｃ））、および、原稿の左下および右下の各頂点が下側にはみ出した状態（図３７（Ｄ））、が代表的なものである。
【０２５７】
一方、検出される直線が３本となる場合（３辺検出時）の他の状態としては、隣接する２つの原稿頂点が撮像範囲の２つの端縁からはみ出している状態もある。この状態は、隣接する２つの原稿頂点が撮像範囲のあるコーナー側に位置し、その内の一方がそのコーナーの端縁をなす一方の直線よりも外側に位置し、かつ他方の頂点がこの一方の直線と交差する、端縁をなす他方の直線よりも外側に位置している状態である。
【０２５８】
たとえば、原稿の左側の２つの頂点が概ね透視変換後の撮像画像範囲の左上コーナー側にはみ出した状態（図３７（Ｅ））、原稿の右側の２つの頂点が概ね右上コーナー側にはみ出した状態（図３７（Ｆ））、原稿の右側の２つの頂点が概ね右下コーナー側にはみ出した状態（図３７（Ｇ））、および、原稿の左側の２つの頂点が概ね左下コーナー側にはみ出した状態（図３７（Ｈ））、が代表的なものである。
【０２５９】
一方、図３８の（Ａ）〜（Ｄ）は、検出された直線が２本以下の場合の一例を示すもので、１つの頂点のみが撮像範囲内に存在している。このような場合、求められた直線式の交点に基づいて矩形状の原稿の頂点座標の全てを特定することはできないので、画像検査装置５はエラーとして処理を停止する。なお、このようなケースであっても、精度上の問題が残るものの、たとえば倍率関係などから全ての頂点座標を特定することは可能である。ただしそのためには、複雑な処理を要するので、本実施形態では採用せず、前述のようにエラーとする。
【０２６０】
以下、この第３実施形態の処理を実現する装置構成や処理手順について、具体例を参照しつつ、詳しく説明する。
【０２６１】
図３９は、第３実施形態の非検査領域特定処理部１２０の一構成例を示すブロック図である。第３実施形態の非検査領域特定処理部１２０は、先ずエッジ有効部検出部１２４の構成が第１実施形態とは異なり、エッジ抽出部１２２により抽出されたエッジ部分に対してエッジ追跡を行なうことで基準のエッジ画素を見つけるエッジ追跡部１２４ａと、基準のエッジ画素に連続するエッジ画素の数をカウントするエッジ画素カウント部１２４ｂとを有する。このエッジ有効部検出部１２４は、エッジ画素カウント部１２４ｂによってエッジ画素が所定数以上ほぼ連続して直線状にカウントされたとき、その部分をエッジ有効部として検出する。
【０２６２】
また、この第３実施形態の非検査領域特定処理部１２０は、非検査領域特定部１３０の構成が第１実施形態と異なり、はみ出し頂点座標推定処理部１３５を備えている。はみ出し頂点座標推定処理部１３５は、撮像範囲内に存在する原稿辺縁をなす直線数が３本であって、そのままでは、撮像範囲外の原稿頂点が全部算出できない場合に、残りの頂点座標を推測する。
【０２６３】
また、非検査領域特定部１３０は、原稿頂点設定処理部１３２により求められる撮像範囲内の原稿頂点とはみ出し頂点座標推定処理部１３５により推測される原稿頂点とを参照して、頂点座標が撮像範囲からはみ出していると判定された原稿頂点についての撮像範囲との境界部分を境界部分特定処理部１３６にて特定するとともに、この境界座標と撮像範囲外の原稿頂点とを参照して、原稿の撮像範囲外を非検査領域に設定する。
【０２６４】
図４０は、第３実施形態の非検査領域特定処理部１２０における処理手順の概要を示すフローチャートである。画像検査装置５は、基本的には、第１実施形態の図１０に示した処理手順と概ね同じ手順を実行する。
【０２６５】
たとえば、先ず、エッジ抽出部１２２は、第１実施形態のステップＳ２００と同様に、透視変換部１１６により透視変換された撮像画像からエッジ成分を抽出する（Ｓ４０００）。これにより、図９（Ａ）〜（Ｄ）に示したようなエッジ抽出画像が得られる。
【０２６６】
次に、エッジ有効部検出部１２４は、ステップＳ４０００により上下左右の方向ごとに抽出されたエッジ情報を参照して、撮像範囲の上下左右のそれぞれの端からエッジ画素をサーチすることで１つのエッジ画素を特定する（この処理をエッジ有効部検出処理という）（Ｓ４００２）。また、エッジ有効部直線式算出部１２６は、エッジ有効部検出部１２４により検出されたエッジ有効部に基づいて原稿の頂点座標を特定するために、矩形状の原稿範囲の辺縁をなす直線式を求める（この処理をエッジ有効部直線式算出処理という）（Ｓ４００４）。
【０２６７】
詳細は後述するが、このエッジ有効部特定処理と直線式算出処理は、第１実施形態と異なる。以下、エッジ有効部検出部１２４によるエッジ有効部検出処理と、エッジ有効部直線式算出部１２６によるエッジ有効部直線式算出処理とを纏めて、原稿範囲特定処理という。
【０２６８】
次に、原稿頂点設定処理部１３２は、エッジ有効部直線式算出部１２６により算出された直線式を参照して撮像画像における原稿の頂点座標を特定する（Ｓ４００６）。
【０２６９】
はみ出し場所判定処理部１３４は、原稿頂点設定処理部１３２により設定された頂点座標が撮像範囲からはみ出しているか否かと、撮像範囲内に存在する原稿辺縁をなす直線数が何本であるのかを判定する（Ｓ４００８）。
【０２７０】
はみ出し頂点座標推定処理部１３５は、撮像範囲内に存在する原稿辺縁をなす直線数が３本であって、そのままでははみ出した頂点が全部算出できない場合に、残りの頂点を推算する（Ｓ４０１０）。
【０２７１】
次に、境界部分特定処理部１３６は、第１実施形態と同様に、はみ出し場所判定処理部１３４により頂点座標が撮像範囲からはみ出していると判定された原稿頂点についての撮像範囲との境界部分を特定する（Ｓ４０１２）。この際、境界部分特定処理部１３６は、エッジ有効部検出部１２４により検出された、原稿の有効なエッジ部分の両端の座標が、撮像画像のどの端縁に接するのかを判定し、その判定結果に基づいて、原稿がはみ出した方向を判断することで原稿辺縁と撮像範囲との交点座標を特定する。
【０２７２】
非検査領域設定部１３８は、その特定された境界部分を示す座標情報とはみ出し場所判定処理部１３４により頂点座標が撮像範囲からはみ出していると判定された原稿頂点の座標情報とに基づいて、原稿の撮像範囲からはみ出している非検査領域を画定する（Ｓ４０１４）。非検査領域設定部１３８は、この画定した非検査領域を示す情報をデータ格納部３００に登録する。以下、境界部分特定処理部１３６による境界部分特定処理と非検査領域設定部１３８による非検査部設定処理とを纏めて、非検査領域特定処理ともいう。
【０２７３】
図４１は、第３実施形態におけるエッジ有効部検出部１２４がエッジ画素をサーチする際のサーチの始点とサーチ方向との関係、並びにエッジ有効部検出部１２４が検知した最初のエッジ画素を始点としてエッジ有効部直線式算出部１２６がエッジ追跡をする方向の関係を説明する図である。
【０２７４】
第３実施形態では、エッジ有効部検出部１２４は、図４１（Ａ）に示すように、横方向の画素位置をｉ、縦方向の画素位置をｊとして、透視変換後の撮像範囲の左端、上端、右端、下端のそれぞれから、エッジ画素をサーチする。ここで、原稿が撮像範囲に対して傾いているが、完全に撮像範囲に入っている場合を図４１（Ａ）に示す。第３実施形態では、透視変換後の撮像画像範囲（横方向最大サイズｐｈ、縦方向最大サイズｐｖ）をスキャン範囲として処理を行なうものとする。
【０２７５】
この場合において、エッジ有効部検出部１２４は、左端からサーチをする場合、サーチの始点は原点（０，０）として、エッジ画素が見つかるまで、先ず＋ｉ方向へ透視変換後の撮像画像範囲の横方向最大サイズｐｈまでサーチする処理を、縦方向最大サイズｐｖまで繰り返す。こうすることで、図中に点ａで示す原稿頂点のエッジ画素が見つかる。これを受けて、エッジ有効部直線式算出部１２６は、点ａを基準として、左上９０度の範囲および右上９０度の範囲にエッジ追跡を行なうことで、それぞれ点ａと繋がる直線をサーチする。左下から右上方向へサーチして最初のエッジ画素ａ（撮像範囲内にあれば原稿頂点となる）を見つけ、このエッジ画素ａを始点とし、さらに上側（１８０度の範囲）にサーチすることで、原稿頂点を形成する２つの直線をなすエッジ画素を追跡する趣旨である。
【０２７６】
同様に、左上から右下方向へサーチして最初のエッジ画素ｂ（撮像範囲内にあれば原稿頂点となる）を見つけ、エッジ画素ｂを始点として、さらに右側（１８０度の範囲）にサーチすることで、原稿頂点を形成する２つの直線をなすエッジ画素を追跡する。このため、エッジ有効部検出部１２４は、サーチの始点を原点（０，ｐｖ）として上端からサーチを開始し、エッジ画素が見つかるまで、先ず−ｊ方向へｊ＝０までサーチする処理を、横方向最大サイズｐｈまで繰り返す。こうすることで、図中に点ｂで示す原稿頂点のエッジ画素が見つかる。これを受けて、エッジ有効部直線式算出部１２６は、点ｂを基準として、左上９０度の範囲および右上９０度の範囲にエッジ追跡を行なうことで、それぞれ点ｂと繋がる直線をサーチする。
【０２７７】
また、右上から左下方向へサーチして最初のエッジ画素ｃ（撮像範囲内にあれば原稿頂点となる）を見つけ、エッジ画素ｃを始点として、さらに下側（１８０度の範囲）にサーチすることで、原稿頂点を形成する２つの直線をなすエッジ画素を追跡する。このため、エッジ有効部検出部１２４は、サーチの始点を原点（ｐｈ，ｐｖ）として右端からサーチを開始し、エッジ画素が見つかるまで、先ず−ｉ方向へｉ＝０までサーチする処理を、ｊ＝０まで繰り返す。こうすることで、図中に点ｃ示す原稿頂点のエッジ画素が見つかる。これを受けて、エッジ有効部直線式算出部１２６は、点ｃを基準として、左上９０度の範囲および右上９０度の範囲にエッジ追跡を行なうことで、それぞれ点ｃと繋がる直線をサーチする。
【０２７８】
また、右下から左上方向へサーチして最初のエッジ画素ｄ（撮像範囲内にあれば原稿頂点となる）を見つけ、エッジ画素ｄを始点として、さらに左側（１８０度の範囲）にサーチすることで、原稿頂点を形成する２つの直線をなすエッジ画素を追跡する。このため、エッジ有効部検出部１２４は、サーチの始点を原点（ｐｈ，０）として右端からサーチを開始し、エッジ画素が見つかるまで、先ず＋ｊ方向へ透視変換後の撮像画像範囲の縦方向最大サイズｐｖまでサーチする処理を、ｉ＝０まで繰り返す。こうすることで、図中に点ｄで示す原稿頂点のエッジ画素が見つかる。これを受けて、エッジ有効部直線式算出部１２６は、点ｄを基準として、左上９０度の範囲および左下９０度の範囲にエッジ追跡を行なうことで、それぞれ点ｄと繋がる直線をサーチする。
【０２７９】
以上の処理手順を纏めた図表が、図４１の（Ｂ），（Ｃ）である。後述するエッジ有効部検出処理の各処理ステップでは、エッジサーチ方向と、見つけられた最初のエッジを始点とする直線を求める際、この図４１の（Ｂ），（Ｃ）に示す各条件を適用して処理を行なう。なお、図４１（Ｃ）に示すように、エッジ有効部検出部１２４が見つけたエッジ画素ａ，ｂ，ｃ，ｄの何れかを始点とする、エッジ有効部直線式算出部１２６によるエッジ追跡の際には、１８０度の範囲を４５度の範囲に分けてサーチする。
【０２８０】
図４２は、エッジ有効部検出部１２４のエッジ追跡部１２４ａによるエッジ追跡の各方向とエッジ追跡フィルタとを説明する図である。第３実施形態では、図４２（Ａ）に示すように、横方向の画素位置をｉ、縦方向の画素位置をｊとして、右上、左上、左下、右下のそれぞれ（各９０度の範囲）について、４５度ずつの２つに分けて、全体としては８つの方向についてのエッジ追跡を考える。ただし、エッジ有効部直線式算出部１２６が行なうエッジ追跡処理に際しては、図４１に示したように、１８０度分のサーチであればよく、８つの方向のうちの順次隣接する４つの方向にエッジ追跡する。
【０２８１】
右上１、右上２、左上１、左上２、左下１、左下２、右下１、右下２の各方向に対応したエッジ追跡フィルタは、３×３画素のエッジ追跡フィルタを適用する。よって、たとえば右上１方向にエッジ追跡するエッジ直線検出処理については、図４２（Ｂ）に示すエッジ追跡フィルタを適用して、注目画素（ｉ，ｊ）に対して（ｉ，ｊ＋１）と（ｉ＋１，ｊ＋１）にエッジがあるかどうかを判定する。また、右上２方向については、図４２（Ｃ）に示すエッジ追跡フィルタを適用して、注目画素（ｉ，ｊ）に対して（ｉ＋１，ｊ）と（ｉ＋１，ｊ＋１）にエッジがあるかどうかを判定する。
【０２８２】
同様に、左上１方向については、図４２（Ｄ）に示すエッジ追跡フィルタを適用して、注目画素（ｉ，ｊ）に対して（ｉ，ｊ＋１）と（ｉ−１，ｊ＋１）にエッジがあるかどうかを判定する。また、左上２方向については、図４２（Ｅ）に示すエッジ追跡フィルタを適用して、注目画素（ｉ，ｊ）に対して（ｉ−１，ｊ）と（ｉ−１，ｊ＋１）にエッジがあるかどうかを判定する。
【０２８３】
左下１方向については、図４２（Ｆ）に示すエッジ追跡フィルタを適用して、注目画素（ｉ，ｊ）に対して（ｉ−１，ｊ）と（ｉ−１，ｊ−１）にエッジがあるかどうかを判定する。また、左下２方向については、図４２（Ｇ）に示すエッジ追跡フィルタを適用して、注目画素（ｉ，ｊ）に対して（ｉ，ｊ−１）と（ｉ−１，ｊ−１）にエッジがあるかどうかを判定する。
【０２８４】
右下１方向については、図４２（Ｈ）に示すエッジ追跡フィルタを適用して、注目画素（ｉ，ｊ）に対して（ｉ，ｊ−１）と（ｉ＋１，ｊ−１）にエッジがあるかどうかを判定する。また、右下２方向については、図４２（Ｉ）に示すエッジ追跡フィルタを適用して、注目画素（ｉ，ｊ）に対して（ｉ＋１，ｊ）と（ｉ＋１，ｊ−１）にエッジがあるかどうかを判定する。
【０２８５】
このように、エッジ有効部直線式算出部１２６は、３６０度を８つの方向に分けて、各４５度の範囲内に存在する直線をなすエッジ画素を追跡し、その結果に基づいて、その直線式を求める。
【０２８６】
図４３は、第３実施形態におけるエッジ有効部検出処理とエッジ有効部直線式算出処理の手順の概要を示すフローチャートである。第３実施形態においては、先ず、エッジ有効部検出部１２４のエッジ追跡部１２４ａは、左端からのエッジ有効部検出処理を行ない（Ｓ４１０１）、さらにこの結果に基づいて、右上方向および左上方向へエッジ追跡をして、エッジ画素カウント部１２４ｂによりエッジ画素が所定数以上ほぼ連続して直線状にカウントされたとき、その部分をエッジ有効部として検出する。エッジ有効部直線式算出部１２６は、このエッジ有効部についての直線式を算出する（Ｓ４１０２）。これらの処理を纏めて、左端からの原稿範囲特定処理という。
【０２８７】
同様に、エッジ有効部検出部１２４は、上端からのエッジ有効部検出処理を行ない（Ｓ４１０３）、この結果に基づいて、さらに右上方向および右下方向へエッジ追跡をしてエッジ有効部を検出し、エッジ有効部直線式算出部１２６はこのエッジ有効部の直線式を算出する（Ｓ４１０４）。これらの処理を纏めて、上端からの原稿範囲特定処理という。
【０２８８】
次に、エッジ有効部検出部１２４は、右端からのエッジ有効部検出処理を行ない（Ｓ４１０５）、この結果に基づいて、さらに右下方向および左下方向へエッジ追跡をしてエッジ有効部を検出し、エッジ有効部直線式算出部１２６はこのエッジ有効部の直線式を算出する（Ｓ４１０６）。これらの処理を纏めて、右端からの原稿範囲特定処理という。
【０２８９】
最後に、エッジ有効部検出部１２４は、下端からのエッジ有効部検出処理を行ない（Ｓ４１０７）、この結果に基づいて、左上方向および左下方向へエッジ追跡をしてエッジ有効部を検出し、エッジ有効部直線式算出部１２６はこのエッジ有効部の直線式を算出する（Ｓ４１０８）。これらの処理を纏めて、下端からの原稿範囲特定処理という。
【０２９０】
図４４は、原稿範囲特定処理（エッジ有効部検出処理＋エッジ直線式算出処理）の手順の詳細例を示すフローチャートである。先ずここでは、左端からの原稿範囲特定処理（Ｓ４１０１，Ｓ４１０２）の例で説明する。なお、前述のように、透視変換後の撮像画像範囲をカバーするように（０，０）〜（ｐｈ，ｐｖ）をスキャン範囲として処理を行なうものとする。
【０２９１】
エッジ追跡部１２４ａは、先ず画素位置（ｉ，ｊ）をスキャン初期値（０，０）にセットし（Ｓ４２０１）、この後、ｊを撮像画像の縦画素分ｐｖだけスキャンするまで、右方向に画素を後述のようにスキャンしていくことで、左端からサーチした場合における最初のエッジ画素を見つける（Ｓ４２０１）。ｊが撮像画像の縦画素分スキャンした場合は、左端からのエッジ有効部検出処理を終了させる（Ｓ４２０２−Ｙｅｓ）。
【０２９２】
ｊを撮像画像の縦画素分スキャンしていない場合（Ｓ４２０２−Ｎｏ）、エッジ追跡部１２４ａは、スキャン中の画素（ｉ，ｊ）がエッジ画素であるか否かを判定する（Ｓ４２０３）。画素（ｉ，ｊ）がエッジ画素でない場合には（Ｓ４２０３−Ｎｏ）は、横方向の画素位置ｉを“１”加算する（Ｓ４２０４）。
【０２９３】
エッジ追跡部１２４ａは、このときの横方向の画素位置ｉが撮像画像の横画素分スキャンしてない場合（Ｓ４２０５−Ｎｏ）は、ステップＳ４２０３に戻り、上記と同様の処理を繰り返す。一方、このときの横方向の画素位置ｉが撮像画像の横画素分スキャンすることになる場合（Ｓ４２０５−Ｙｅｓ）は、エッジ追跡部１２４ａは、縦方向の画素位置ｊを“１”加算して（Ｓ４２０６）、横方向の画素位置ｉを初期値“０”に設定し、ステップＳ４２０３に戻り、上記と同様の処理を繰り返す（Ｓ４２０７）。
【０２９４】
エッジ追跡部１２４ａは、画素（ｉ，ｊ）がエッジと判定した場合（Ｓ４２０３−Ｙｅｓ）は、さらに、以下のように右上方向および左上方向へエッジ追跡をして原稿辺縁をなす有効エッジ部を特定し、エッジ有効部直線式算出部１２６はその有効エッジ部の直線検出処理を行なう。
【０２９５】
具体的には、先ず、エッジ追跡部１２４ａは、linecount を“０”に設定した後（Ｓ４２０８）、検知されているエッジ画素（ｉ，ｊ）を始点として、さらに上側にエッジ追跡を行なうことで、直線をなす有効エッジ画素を見つける。この際には、前述のように４５度ずつに分けてサーチするため、先ず、右上１方向にエッジ追跡するエッジ直線検出処理（Ｓ４２０９）、右上２向にエッジ追跡するエッジ直線検出処理（Ｓ４２１０）、左上１方向にエッジ追跡するエッジ直線検出処理（Ｓ４２１１）、左上２方向にエッジ追跡するエッジ直線検出処理（Ｓ４２１２）の順番で行なう。
【０２９６】
ステップＳ４２１２の処理が終了後、他のエッジ直線を検出するために、エッジ追跡部１２４ａは、希望に応じて（Ｓ４２１３−ＹＥＳ）、所定の条件に従ってエッジ追跡再開画素位置を見つけ（詳しくは後述する）、このエッジ追跡再開画素位置を始点として、エッジ追跡開始座標調整処理を行なう（Ｓ４２１４）。なお、最初は必ずエッジ追跡開始座標調整処理を行なうようにしておき（Ｓ４２１３−ＹＥＳ）、エラーが起きたときにはエッジ追跡開始座標調整処理を行なわないようにして処理を再開させてもよい（Ｓ４２１３−ＮＯ。また、はみ出し具合を作業者が判断して、はみ出しのある撮像範囲の端縁側からのサーチ時のみエッジ追跡開始座標調整処理を行なわないようにして設定してもよい（Ｓ４２１３−ＮＯ）。
【０２９７】
以上のように、左端からのエッジ有効部検出処理（Ｓ４１０１）の概要について説明したが、他の上端、右端、下端からについては、図４１（Ｂ）および図４１（Ｂ）に示した図表に従って処理ステップの内容を変える。たとえば、上端からのエッジ有効部検出処理Ｓ４１０２の場合は、エッジ追跡部１２４ａは、（ｉ，ｊ）＝（０，ｐｖ）の点から右下方向に、図４１（Ｂ）の図表に示されるステップＳ４２０１〜Ｓ４２０７の処理内容に従って、画素をスキャンしていく。
【０２９８】
また、エッジ有効部検出部１２４は、エッジ追跡部１２４ａにより検知された最初のエッジ画素を始点として、図４１（Ｃ）の図表に示されるステップＳ４２０９〜Ｓ４２１２の追跡方向に従って、右上１→右上２→右下１→右下２の順に各方向にエッジ追跡をして原稿辺縁をなす有効エッジ部を特定し、エッジ有効部直線式算出部１２６はその有効エッジ部の直線検出処理を行なう。右端および下端からについては説明を割愛する。
【０２９９】
図４５は、エッジ追跡部１２４ａによる、所定方向にエッジ追跡するエッジ直線検出処理の概要を示すフローチャートである。ここでは、図４４に示したステップＳ４２０９の右上１方向の例で説明する。
【０３００】
エッジ追跡部１２４ａは、先ず、図４２（Ｂ）に示したエッジ追跡フィルタを適用して、右上１方向に、すなわち注目画素（ｉ，ｊ）に対して（ｉ，ｊ＋１）と（ｉ＋１，ｊ＋１）の方向にエッジ追跡処理を行なう（Ｓ４５００）。
【０３０１】
エッジ画素カウント部１２４ｂはエッジ追跡部１２４ａがエッジ追跡を行なったカウント数count を監視しており、このカウント数count が予め定めておいた閾値α以上の場合（Ｓ４５３０−Ｙｅｓ）、エッジ有効部直線式算出部１２６は、直線をなすエッジ画素を所定量α以上検知できたものとして、エッジ有効部直線式算出処理（詳細は後述する）を行ない（Ｓ４５４０）、その後、エッジ有効部検出部１２４は、エッジ有効部直線式重複判定処理（詳細は後述する）を行なう（Ｓ４５６０）。
【０３０２】
ここで、エッジ有効部はどの程度の長さの直線を認識させるかによって閾値αを設定する必要がある。また、どの程度のはみ出し具合に対応させるかによってもαを設定する必要があり、αはｐｈ、ｐｖに対してほぼ等しい値でも小さい値でも適切ではない。αがｐｖ、ｐｈとほとんど等しい値であれば、エッジ有効部は検出されにくくなり、ほとんどのはみ出しに対応できないこととなるため適切ではない。また、αがｐｈ、ｐｖに対して非常に小さい値であれば、エッジ有効部を誤検出する恐れがあるためこれも適切ではない。ここでは適度なαの一例として、ｐｈ／５もしくはｐｖ／５のどちらか小さい値にαを設定することとする。
【０３０３】
エッジ有効部直線式算出部１２６は、エッジ有効部直線式重複判定処理の後、直線式の本数ｚが４本未満の場合（Ｓ４５８０−Ｎｏ）、この方向についてのエッジ有効部直線式算出処理を終了する。また直線式の本数ｚが４本以上の場合（Ｓ４５８０−Ｙｅｓ）、ステップＳ４１０１，Ｓ４１０２，Ｓ４１０３，Ｓ４１０４の何れかについてのエッジ有効部検出処理を終了する。なお、矩形状の原稿を取り扱う場合であるから、ステップＳ４５８０にて直線式の本数ｚが５本以上となることは、事実上はあり得ない。よって、ステップＳ４５８０での判定条件は、ｚ＝４でも構わない。
【０３０４】
図４６は、エッジ追跡部１２４ａによる、所定方向へのエッジ追跡処理の詳細例を示すフローチャートである。ここでは、図４５に示した右上１方向（Ｓ４５００）の例で説明するが、他の７つの方向については、図４２に示したように、使用するエッジ追跡フィルタ（つまり追跡方向）が異なるだけで、基本的な処理手順に相違はない。
【０３０５】
エッジ有効部直線式算出部１２６は、先ず、エッジ検出数count を“０（ゼロ）”に初期セットする（Ｓ４５１０）。ここで、エッジ有効部直線式算出部１２６は、図４４に示したステップＳ４２０３から処理を引き継ぐので、この処理を開始する時点では、エッジ有効部検出部１２４によって画素（ｉ，ｊ）でエッジ画素が検出されている。そこで、エッジ有効部直線式算出部１２６は、次に、エッジ画素として検出された画素（ｉ，ｊ）の横方向画素位置ｉをｘｓ＿ｔｍｐに、縦方向画素位置ｊをｙｓ＿ｔｍｐに設定する（Ｓ４５１２）。
【０３０６】
次に、エッジ有効部直線式算出部１２６は、画素（ｉ，ｊ）を注目画素として、これに対して１画素分真上の（ｉ，ｊ＋１）がエッジ画素であるか否かを判定する（Ｓ４５１４）。エッジ有効部直線式算出部１２６は、（ｉ，ｊ＋１）がエッジ画素の場合（Ｓ４５１４−Ｙｅｓ）、縦方向画素位置ｊに“１”を加算し（Ｓ４５１６）、またエッジ検出数count にも“１”を加算して（Ｓ４５１８）、ステップＳ４５１４に戻り、引き続き同様の処理を繰り返す。
【０３０７】
一方、（ｉ，ｊ＋１）がエッジ画素でない場合（Ｓ４５１４−Ｎｏ）、エッジ有効部直線式算出部１２６は、画素（ｉ，ｊ）に対して１画素分右上の（ｉ＋１，ｊ＋１）がエッジ画素であるか否かを判定する（Ｓ４５２０）。エッジ有効部直線式算出部１２６は、（ｉ＋１，ｊ＋１）がエッジ画素の場合（Ｓ４５２０−Ｙｅｓ）、横方向画素位置ｉと縦方向画素位置ｊのそれぞれに“１”を加算し（Ｓ４５２２）、またエッジ検出数count にも“１”を加算して（Ｓ４５１８）、ステップＳ４５１４に戻り、引き続き同様の処理を繰り返す。エッジ有効部直線式算出部１２６は、エッジ画素が検出されなくなった時点で（Ｓ４５２０−Ｎｏ）、この処理を終了する。
【０３０８】
このようにして、注目画素の位置を次のエッジ画素に順に変更しつつ、上記処理を繰り返し、注目画素（ｉ，ｊ）に対して（ｉ，ｊ＋１）と（ｉ＋１，ｊ＋１）の何れにもエッジ画素が検出されなくなるまで上記のエッジ追跡処理を繰り返す。こうすることで、エッジ有効部検出部１２４が最初に検知したエッジ画素を始点とする、真上（９０度）と右上４５度の範囲内で直線をなすエッジ画素が順次追跡される。
【０３０９】
図４７は、エッジ有効部直線式算出部１２６によるエッジ有効部直線式算出処理（Ｓ４５４０）の詳細例を示すフローチャートである。また、図４８および図４９は、この第３実施形態のエッジ追跡による直線検出処理の具体例を説明する図である。ここで、図４８は、透視変換後の撮像画像範囲の右上コーナーにて、その上端と右端ではみ出した状態にあり、原稿辺縁の直線式が４本見つかる撮像画像を処理対象とする場合（４辺検出時）の事例である。また、図４９は、隣接する２つの原稿頂点が撮像範囲からはみ出した状態にあり、原稿辺縁の直線式が３本見つかる撮像画像を処理対象とする場合（３辺検出時）の事例である。
【０３１０】
エッジ有効部直線式算出部１２６は、エッジ追跡を行なったカウント数count が閾値α以上の場合にエッジ有効部直線式算出処理を開始する（Ｓ４５３０−Ｙｅｓ）。そして、ここでは、“ｚ”は、これから求めようとする直線式の本数番号として処理する。ただし、この時点では未確定（後述するステップＳ４５７２で確定される）であり、暫定的に、それまでに求められている直線式の本数と同じにしておく。よって、最初は“ｚ＝０（ゼロ）”である。後述する図５０の重複判定処理によって、それまでに算出した直線式と重複しなければ、新規な直線式として割り当てられる。
【０３１１】
エッジ有効部直線式算出部１２６は先ず、ステップＳ４５１２で設定したｘｓ＿ｔｍｐを、ｚ本目の直線式に関わる横方向座標位置の始点ｘｓ（ｚ）に、ｙｓ＿ｔｍｐをｚ本目の直線式に関わる縦方向座標位置の始点ｙｓ（ｚ）に、またステップＳ４５００でエッジが検出されなくなったときの（ｉ，ｊ）における、横方向画素位置ｉをｚ本目の直線式に関わる横方向座標位置の終点ｘｅ（ｚ）に、縦方向画素位置ｊをｚ本目の直線式に関わる縦方向座標位置の終点ｙｅ（ｚ）に設定する（Ｓ４５４２）。
【０３１２】
たとえば、図４８に示すように、左端からの原稿範囲特定処理にて、右上１方向にエッジ追跡して１本目の直線式を求める場合であれば、ａ点の座標位置を始点（ｘｓ（１），ｙｓ（１））として、原稿辺縁と撮像範囲の右端との交点ｄの座標位置を終点（ｘｅ（１），ｙｅ（１））とする。また、この後に、左上２方向にエッジ追跡して２本目の直線式を求める場合であれば、１本目の始点と同様に、ａ点の座標位置を始点（ｘｓ（２），ｙｓ（２））として、ｂ点の座標位置を終点（ｘｅ（２），ｙｅ（２））とする。
【０３１３】
次に、エッジ有効部直線式算出部１２６は、（ｘｓ（ｚ），ｙｓ（ｚ））と（ｘｅ（ｚ），ｙｅ（ｚ））を通る直線の傾きａ（ｚ）と切片ｂ（ｚ）を式（３４）に従って算出する（Ｓ４５４４）。また、エッジ有効部直線式算出部１２６は、直線式ｙを式（３５）に従って算出する（Ｓ４５４６）。
【０３１４】
【数３４】
2004310726.tif 000036
【０３１５】
【数３５】
2004310726.tif 000037
【０３１６】
図５０は、エッジ有効部検出部１２４によるエッジ有効部直線式重複判定処理（Ｓ４５６０）の詳細例を示すフローチャートである。
【０３１７】
エッジ有効部直線式算出部１２６にて始めて直線式が求められた場合、すなわち直線式の本数ｚが０本の場合（Ｓ４５６２−Ｙｅｓ）、エッジ有効部検出部１２４は、本数ｚとlinecount のそれぞれに“１”を加算して、このエッジ有効部直線式重複判定処理処理を終了する（Ｓ４５７２）。
【０３１８】
一方、直線式の本数ｚが０本でない場合（Ｓ４５６２−Ｎｏ）、エッジ有効部検出部１２４は、ステップＳ４５４０で算出したｚ本目の直線式の傾きａ（ｚ）と切片ｂ（ｚ）が、今まで算出した直線式の傾きａ（ｋ）と切片ｂ（ｋ）と重複しているかどうかを判定する。このため、エッジ有効部検出部１２４は先ず、オペレータｋを“１”に初期セットし（Ｓ４５６４）、ａ（ｚ）とｂ（ｚ）がそれぞれａ（ｋ）とｂ（ｋ）にほぼ等しいかどうかを判定する（Ｓ４５６８）。何れもほぼ等しければ（Ｓ４５６８−Ｙｅｓ）、今回求めた直線式は、既に求めてある直線式と重複するものとして、このエッジ有効部直線式重複判定処理処理を終了する（Ｓ４５７２）。
【０３１９】
何れかが等しくなければ（Ｓ４５６８−Ｎｏ）、エッジ有効部検出部１２４は、オペレータｋに“１”を加算し（Ｓ４５７０）、ｋ≦ｚの間、ステップＳ４５６８の判定を繰り返す。そして、今回求めた直線式の傾きａ（ｚ），切片ｂ（ｚ）が既知の直線式の傾きａ（ｋ），切片ｂ（ｋ）とそれぞれ等しくなければ、有効な直線式であるものとして、本数ｚとlinecount に、それぞれ“１”を加算して（Ｓ４５７２）、エッジ有効部直線式重複判定処理Ｓ４５６０を終了する。
【０３２０】
図５１は、上述のエッジ有効部直線式重複判定処理の意義を説明する図である。なお、説明を簡略化するため、ここでは、エッジ追跡開始座標調整処理（Ｓ４２１４）については考慮しないこととする。
【０３２１】
たとえば、左端からの原稿範囲特定処理においては、右上１方向→右上２方向→左上１方向→左上２方向の順に、エッジ有効部検出部１２４が検出した最初のエッジ画素を始点としてエッジ追跡することでエッジ直線式を算出する。この場合、図５１（Ａ）に示すように原稿が撮像範囲に対してはみ出していなければ、エッジ有効部直線式算出部１２６は、以下の順に直線式を求める。
【０３２２】
たとえば、エッジ有効部検出部１２４による左端からのエッジ画素検出によって点ａのエッジ画素が先ず検出される（Ｓ４１０１）。エッジ有効部直線式算出部１２６は、この点ａを始点として、右上１方向および右上２方向の順にエッジ追跡を行なう（Ｓ４２０９，４２１０）。図示した例では、原稿の下長辺が撮像範囲の下端に対して４５度以下となるように原稿の左下が上方向に傾いているので、右上１方向へのエッジ追跡により直線式Ｌ１が求まるが、右上２方向へのエッジ追跡では直線式は求まらない。
【０３２３】
次に、エッジ有効部直線式算出部１２６は、点ａを始点として、左上１方向および左上２方向の順にエッジ追跡を行なう（Ｓ４２１１，４２１２）。図示した傾きの例では、左上１方向へのエッジ追跡では直線式は求まらず、左上２方向へのエッジ追跡により直線式Ｌ２が求まる。ここで、最初に求めた直線式Ｌ１とその後に求めた直線式Ｌ２とは、傾きおよび切片が異なるので（Ｓ４５６８−Ｎｏ）、エッジ有効部直線式算出部１２６は、直線式Ｌ２を有効な直線式として本数ｚとlinecount にそれぞれ“１”を加算する（Ｓ４５７２）。よって、この時点では有効な直線がＬ１，Ｌ２の２本となる。
【０３２４】
この後、エッジ有効部検出部１２４による上端からのエッジ画素検出によって点ｂのエッジ画素が検出される（Ｓ４１０３）。エッジ有効部直線式算出部１２６は、この点ｂを始点として、右上１方向および右上２方向の順にエッジ追跡を行なう（Ｓ４２０９，４２１０）。図示した傾きの例では、右上１方向へのエッジ追跡では直線式Ｌ３が求まり、右上２方向へのエッジ追跡では直線式が求まらない。ここで、今回求めた直線式Ｌ３は、既に求めた直線式Ｌ１とは傾きが同じであるが切片が異なり、また直線式Ｌ２とは傾きおよび切片が異なるので（Ｓ４５６８−Ｎｏ）、エッジ有効部直線式算出部１２６は、直線式Ｌ３を有効な直線式として本数ｚとlinecount にそれぞれ“１”を加算する（Ｓ４５７２）。よって、この時点では有効な直線がＬ１，Ｌ２，Ｌ３の３本となる。
【０３２５】
次に、エッジ有効部直線式算出部１２６は、点ｂを始点として、右下１方向および右下２方向の順にエッジ追跡を行なう（Ｓ４２１１，４２１２）。図示した傾きの例では、右下１方向へのエッジ追跡では直線式は求まらず、右下２方向へのエッジ追跡により直線式Ｌ２ａが求まる。ここで、今回求めた直線式Ｌ２ａは、既に求めた直線式Ｌ２と傾きおよび切片が同じになるので、エッジ有効部直線式算出部１２６は、直線式Ｌ２ａを無効な直線式とする（Ｓ４５６８−Ｙｅｓ）。
【０３２６】
以下、同様にして、エッジ有効部直線式算出部１２６は、右端からのエッジ画素検出（Ｓ４１０５）によって検出される点ｃのエッジ画素を始点として、右下２方向へのエッジ追跡によって直線式Ｌ４を求め（Ｓ４２１０）、また左下２方向へのエッジ追跡によって直線式Ｌ３ａを求める（Ｓ４２１２）。そして、その内の直線式Ｌ３ａは既に求めた直線式Ｌ３と傾きおよび切片が同じになり、直線式Ｌ４と、傾きおよび切片の両方が同じになる既知の直線式Ｌ１，Ｌ２，Ｌ３は存在しないので、エッジ有効部直線式算出部１２６は、直線式Ｌ４を有効な直線式、直線式Ｌ３ａを無効な直線式とする（Ｓ４５６８）。よって、この時点では有効な直線がＬ１，Ｌ２，Ｌ３，Ｌ４の４本となる。
【０３２７】
最後に、エッジ有効部直線式算出部１２６は、下端からのエッジ画素検出（Ｓ４１０７）によって検出される点ｄのエッジ画素を始点として、左上２方向へのエッジ追跡によって直線式Ｌ４ａを求め（Ｓ４２１０）、また左下２方向へのエッジ追跡によって直線式Ｌ１ａを求める（Ｓ４２１２）。そして、その内の直線式Ｌ４ａは既に求めた直線式Ｌ４と傾きおよび切片が同じになり、また直線式Ｌ１ａは既に求めた直線式Ｌ１と傾きおよび切片が同じになるので、エッジ有効部直線式算出部１２６は、今回求めた直線式Ｌ４ａ，Ｌ１ａの何れをも無効な直線式とする（Ｓ４５６８−Ｙｅｓ）。以上によって、原稿の辺縁をなす４本の直線式Ｌ１，Ｌ２，Ｌ３，Ｌ４を特定することができる。
【０３２８】
一方、図５１（Ｂ）に示すように、原稿の一部が撮像範囲からはみ出している場合には、以下のようになる。たとえば、エッジ有効部検出部１２４による左端および上端からのエッジ画素検出では図５１（Ａ）に示したと同様の始点ａ，ｂが検出されるので、エッジ有効部直線式算出部１２６により、図５１（Ａ）についての上記説明と同様に３本の直線式Ｌ１，Ｌ２，Ｌ３が求められる。
【０３２９】
これに対して、図５１（Ｂ）に示すように、原稿の一部が撮像範囲の上端からはみ出しているので、エッジ有効部検出部１２４は、右端からのエッジ画素検出において、原稿の辺縁と撮像範囲の上端との交点ｃをエッジ画素として検出する（Ｓ４１０５）。エッジ有効部直線式算出部１２６は、この交点ｃを始点として、右下２方向へのエッジ追跡によって直線式Ｌ４を求める（Ｓ４２１０）。左下１方向へのエッジ追跡によって、はみ出し部分の境界をなす直線式Ｌ５を求めることが可能と考えられるが（Ｓ４２１１）、この部部にはエッジ画素が存在しないので、直線式Ｌ５は求められない。そして、直線式Ｌ４と、傾きおよび切片の両方が同じになる既知の直線式Ｌ１，Ｌ２，Ｌ３は存在しないので、エッジ有効部直線式算出部１２６は、直線式Ｌ４を有効な直線式とする（Ｓ４５６８−Ｎｏ）。よって、この時点では有効な直線がＬ１，Ｌ２，Ｌ３，Ｌ４の４本となる。
【０３３０】
また、原稿の一部が撮像範囲の右端からはみ出しているので、エッジ有効部検出部１２４は、下端からのエッジ画素検出において、原稿の辺縁と撮像範囲の右端との交点ｄをエッジ画素として検出する（Ｓ４１０７）。エッジ有効部直線式算出部１２６は、この交点ｄを始点として、左下２方向へのエッジ追跡によって直線式Ｌ１ａを求める（Ｓ４２１２）。左上１方向および左上２方向へのエッジ追跡では直線式を求めることはできない（Ｓ４２０９，Ｓ４２１０）。直線式Ｌ１ａは既に求めた直線式Ｌ１と傾きおよび切片が同じになるので、エッジ有効部直線式算出部１２６は、今回求めた直線式Ｌ１ａを無効な直線式とする（Ｓ４５６８−Ｙｅｓ）。以上によって、原稿の辺縁をなす４本の直線式Ｌ１，Ｌ２，Ｌ３，Ｌ４を特定することができる。なお、はみ出し範囲の境界を示す直線式Ｌ５、Ｌ６については、撮像範囲の端縁の直線式と同一のものとして特定することができる。
【０３３１】
このように、図５０に示す処理手順によれば、先ずエッジ有効部検出部１２４により撮像範囲の四隅のそれぞれから内側に向かって原稿の辺縁をなすエッジ画素をサーチし、これによって見つけた１つのエッジ画素を始点として１８０度の範囲でさらに内側に向かってエッジ画素を所定距離だけ追跡することで、原稿の辺縁をなす直線式を特定するようにした。これにより、原稿の一部が撮像範囲からはみ出している状態であっても、原稿の辺縁をなす直線式を重複することなく、確実に特定することができる。
【０３３２】
また、先ず撮像範囲の隅（コーナー）から内側に向かってエッジ画素をサーチすることで見つけたエッジ画素を始点として１８０度の範囲でさらにエッジ追跡を行なうようにしているので、任意の点のエッジ画素を見つけてからエッジ追跡することで原稿辺縁をなす直線式を見つける場合、その３６０度の範囲でエッジ追跡しなければならないのに比べて、処理が短時間で済むようになる。
【０３３３】
図５２は、エッジ追跡開始座標調整処理（Ｓ４２１４）の詳細例を示すフローチャートである。図５３は、上下左右の各端からの処理におけるこのエッジ追跡開始座標調整処理の各ステップの処理内容の対応を示す図表である。
【０３３４】
また、図５４は、この処理における各ステップに対応したはみ出し状態の一例を示す図である。図５５および図５６は、上述の原稿範囲特定処理によって特定される、原稿辺縁をなす直線式についての、具体例を示す図である。
【０３３５】
なお、図５２では、左端からの原稿範囲特定処理（Ｓ４１０１，Ｓ４１０２）におけるエッジ追跡開始座標調整処理（Ｓ４２１４）について説明するが、左端からに限らず、この処理は、上下左右の各端からの原稿範囲特定処理のそれぞれにおいてなされる。その場合には、図５２で示す処理ステップの内容を、図５３に示すように変えるとよい。
【０３３６】
エッジ有効部検出部１２４は先ず、linecount 数が“２”であるか否かを判定する（Ｓ４７１０）。そして、linecount 数が“２”の場合（Ｓ４７１０−Ｙｅｓ）、エッジ有効部検出部１２４は、見つけたａ点のエッジ画素を始点とする２つの直線式について、先ず、横方向座標位置ｘｅ（１）とｘｅ（２）の大小を比較する（Ｓ４７１２）。エッジ有効部検出部１２４は、ｘｅ（２）よりｘｅ（１）が小さい（未満の）場合、縦方向座標位置ｙｅ（１）をｊに、横方向座標位置ｉを“０”に設定する（Ｓ４７１２−Ｙｅｓ，Ｓ４７１４）。一方、ｘｅ（２）よりｘｅ（１）が大きい（以上）場合（Ｓ４７１２−Ｎｏ）、エッジ有効部検出部１２４は、ｙｅ（２）をｊに、横方向座標位置ｉを“０”に設定する（Ｓ４７１６）。また、linecount が“１”の場合（Ｓ４７１０−Ｎｏ，Ｓ４７１１−Ｙｅｓ）、ｙｅ（１）をｊに、横方向座標位置ｉを“０”に設定し（Ｓ４７１８）、linecount が“０”の場合（Ｓ４７１０−Ｎｏ，Ｓ４７１１−Ｎｏ）、縦方向座標位置ｊを“ｊ＋１”に、横方向座標位置ｉを“０”に設定することで、最終的にはエッジ追跡開始座標調整処理を終了させる（Ｓ４７１９）。
【０３３７】
このステップＳ４７１０，Ｓ４７１２の判定とその結果に基づくｊ点の設定の意義は、できるだけ左端のエッジ画素を再開場所とするためのものである。左端からのサーチ時以外についても、同様の趣旨で、それぞれ、できるだけ上端／右端／下端のエッジ画素を再開場所とするように、図５３の図表に従って処理内容を切り替える。
【０３３８】
このエッジ追跡開始座標調整処理（Ｓ４２１４）を行なうことで、左端と上端からのサーチのみで３辺または４辺のエッジを検出できる可能性があり、その場合は右端と下端のサーチは必要なく、処理を行わなくてよいため処理時間が削減できるといった効果が得られる。
【０３３９】
たとえば、透視変換後の撮像画像範囲の右上コーナーにて、その上端と右端で、はみ出した状態にある撮像画像を処理対象とする場合、エッジ追跡開始座標調整処理（Ｓ４２１４）により、エッジ追跡を再開する座標（エッジ追跡再開画素位置）が図４８に示すように（０，ｙｅ（１））に設定される。
【０３４０】
たとえば、先ず、原稿範囲特定処理（Ｓ４００２，Ｓ４００４）において、非検査領域特定処理部１２０は、左端からの原稿範囲特定処理（Ｓ４１０１，Ｓ４１０２）で、ａ点を始点として、右上１方向に１本目の直線式ｙ＝ａ（１）・ｘ＋ｂ（１）、左上２方向に２本目の直線式ｙ＝ａ（２）・ｘ＋ｂ（２）を検出する。
【０３４１】
この後、エッジ有効部検出部１２４は、（０，ｙｅ（１））からエッジ追跡を再開する。これにより、図５４（Ａ）に示すように、ｂ点を始点として、右上１方向に３本目の直線式ｙ＝ａ（３）・ｘ＋ｂ（３）を検出する。このときには、直線式は１本しか検出できないので、再開位置のｊ座標をｙｅ（１）に設定する（Ｓ４７１８）。この後、ｊ＝ｊ＋１，ｉ＝０に設定して（Ｓ４７１９）、再びサーチを再開することで、最終的にはステップＳ４２０２−Ｙｅｓを経て、エッジ追跡開始座標調整処理を終了する（Ｓ４７１９）。これにて、左端からのサーチが完了する。
【０３４２】
また、上端からの原稿範囲特定処理（Ｓ４１０１，Ｓ４１０２）で、先ずｂ点を始点として直線を検出する。このときには２本を検知し得るが、それらは既に検知済みのものであるので、linecount が“０”となるから（Ｓ４７１０−Ｎｏ，Ｓ４７１１−Ｎｏ）、エッジ追跡を再開する座標（エッジ追跡再開画素位置）のｉ側をｉ＋１，ｊ側を０に設定する（Ｓ４７１９）。
【０３４３】
ここで、図示したはみ出し具合では、撮像画像が撮像範囲の上側にはみ出しているので、エッジ追跡開始座標調整処理を行なうと適正な処理がなされない可能性がある。このような場合には、はみ出し具合を作業者が判断して、はみ出しのある撮像範囲の端縁側からのサーチ時のみエッジ追跡開始座標調整処理をスルーさせるとよい（Ｓ４２１３−ＮＯ）。こうすることで、次に右端からのサーチに移り、最終的には、図５４（Ｂ）に示すように、右下２方向にｙ＝ａ（４）・ｘ＋ｂ（４）を検出する。これにより、矩形状の原稿の４つの辺縁をなす４つの直線式全てを特定することができる。この４辺検出時の処理結果を図５５に示す。なお、図５５には、上記のようにして求められる原稿辺縁をなす直線式だけでなく、撮像範囲の端縁をなす直線式も示す。
【０３４４】
なお、説明は割愛するが、図５４（Ｃ）に示すように、原稿の全体が撮像範囲内に入っている場合には、エッジ追跡開始座標調整処理を行なうようにしていても、不都合無く処理を行なうことができる。
【０３４５】
このような処理に依れば、ステップＳ４４０５での直線式の本数判定を行なうので、図４８に示したケースでは、上下左右の全ての端縁からの処理を行なうことなく、上端からの原稿範囲特定処理までにて４つの直線式全てを特定することができる。その分だけ、処理時間を短縮することができる。
【０３４６】
また、透視変換後の撮像画像範囲の上端にて、隣接する２つの原稿頂点が撮像範囲からはみ出した状態にある撮像画像を処理対象とする場合、原稿範囲特定処理（Ｓ４００２，Ｓ４００４）において、左端からの原稿範囲特定処理（Ｓ４１０１，Ｓ４１０２）で、右上２方向にｙ＝ａ（１）・ｘ＋ｂ（１）、左上１方向にｙ＝ａ（２）・ｘ＋ｂ（２）を検出する。また、上端からのエッジ有効直線出処理Ｓ４１０２で、右下１方向にｙ＝ａ（３）・ｘ＋ｂ（３）を検出することで、矩形状の原稿の４つの辺縁をなす４つの直線式のうちの、３つの直線を特定することができる。この３辺検出時の処理結果を図５６に示す。なお、図５６にても、上記のようにして求められる原稿辺縁をなす直線式だけでなく、撮像範囲の端縁をなす直線式も示す。
【０３４７】
ここで、この図４９に示したケースでは、ステップＳ４４０５での直線式の本数判定を行なうけれども、３本の直線式しか求まらないので、上下左右の全ての端縁からの処理を行なう。なお、「上端から」、「右端から」、「下端から」の処理においてエッジ追跡開始座標調整処理（Ｓ４２１４）により設定されるエッジ追跡再開画素位置は、図示した通りである。ここでは、どのような過程を経てそれらが設定されるのかについては、説明を割愛する。
【０３４８】
図５７は、原稿頂点設定処理部１３２による、原稿頂点設定処理の手順の概要を示すフローチャートである。この第３実施形態では、その概要を先にも説明したように、上記原稿範囲特定処理にて求められた原稿の辺縁を示す直線式の本数によって、処理内容を変える。このため、原稿頂点設定処理部１３２は先ず、エッジ有効部直線式算出部１２６によって求められた原稿辺縁をなす直線式の本数（直線数）ｚが“４”（ｚ＝４）であったか否かを判定する（Ｓ４８０１）。
【０３４９】
そして、直線数ｚが“４”の場合（Ｓ４８０１−Ｙｅｓ）、原稿頂点設定処理部１３２は、この４本の直線式を使うことで矩形状の原稿の４つの頂点座標を求めることができるので、４点頂点設定処理を行なう（Ｓ４８０２）。この４点頂点設定処理の対象となるはみ出し状態は、透視変換後の撮像画像範囲の右上コーナーにて、その上端と右端で、はみ出した状態にある撮像画像を処理対象とする場合がその一例である。
【０３５０】
一方、直線数ｚが“４”でない場合（Ｓ４８０１−Ｎｏ）、原稿頂点設定処理部１３２は次に直線数ｚが“３”（ｚ＝３）であったか否かを判定する（Ｓ４８０３）。そして、直線数ｚが“３”の場合（Ｓ４８０３−Ｙｅｓ）、原稿頂点設定処理部１３２は、この３本の直線式を使うことで矩形状の原稿の２つの頂点座標を求めることができるので、２点頂点設定処理を行なう（Ｓ４８０４）。この２点頂点設定処理の対象となるはみ出し状態は、隣接する２つの原稿頂点が撮像範囲からはみ出した状態にある撮像画像を処理対象とする場合がその一例である。
【０３５１】
これに対して、直線数ｚが“２”以下の場合には（Ｓ４８０３−Ｎｏ）、それだけでは、１つの原稿頂点しか求められず、非検査領域を設定することも難しいので、画像検査処理自体を実行しないようにする（たとえば処理を直ちに停止する）ため、エラー処理をする（Ｓ４８０５）。
【０３５２】
図５８は、原稿頂点設定処理部１３２による、４点頂点設定処理の手順の一例を示したフローチャートである。図５９は、この処理における判定対象となる状態と、それに対応した頂点算出処理１〜３を説明する図である。図５９の（Ａ）〜（Ｃ）において、ｚは、エッジ有効部直線式算出部１２６による処理にて求められる直線式の番号を示す。
【０３５３】
原稿頂点設定処理部１３２は、エッジ有効部直線式算出部１２６にて特定された直線式が示す原稿辺縁の位置関係を調べ、その結果に基づいて、４つの頂点座標をそれぞれ求めるための直交する２つの直線１，２が、それぞれ何番目の直線式であるのかを特定する。
【０３５４】
このため、原稿頂点設定処理部１３２は先ず、１番目の直線式（ｚ＝１）と２番目の直線式（ｚ＝２）の傾きａ（１），ａ（２）を比較する（Ｓ４９０１）。２つの直線式の傾きがほぼ等しく、その差｜ａ（１）−ａ（２）｜が閾値β未満の場合（Ｓ４９０１−Ｙｅｓ）、原稿頂点設定処理部１３２は、図５９（Ａ）に示すように、２つの直線は原稿の対向する辺縁をなす直線式であると判断し、この判断に基づく頂点算出処理１を行なう（Ｓ４９０２）。
【０３５５】
矩形状の原稿を取り扱う場合、閾値βは原理的には“０（ゼロ）”でいいが、実際には正確な矩形でないケースがあるし、原稿辺縁を示す直線式も正確に求められる訳ではないので、これらの点を考慮して閾値βを設定する。
【０３５６】
２つの直線式の傾きの差｜ａ（１）−ａ（２）｜が閾値β未満でない場合（Ｓ４９０１−Ｎｏ）、原稿頂点設定処理部１３２は次に、１番目の直線式（ｚ＝１）と３番目の直線式（ｚ＝３）の傾きａ（１），ａ（３）を比較する（Ｓ４９０３）。２つの直線式の傾きがほぼ等しく、その差｜ａ（１）−ａ（３）｜が閾値β未満の場合（Ｓ４９０３−Ｙｅｓ）、原稿頂点設定処理部１３２は、図５９（Ｂ）に示すように、２つの直線は原稿の対向する辺縁をなす直線式であると判断し、この判断に基づく頂点算出処理２を行なう（Ｓ４９０４）。
【０３５７】
２つの直線式の傾きの差｜ａ（１）−ａ（３）｜が閾値β未満でない場合、すなわち｜ａ（１）−ａ（２）｜および｜ａ（１）−ａ（３）｜の何れもが閾値β未満でない場合（Ｓ４９０３−Ｎｏ）、原稿頂点設定処理部１３２は、図５９（Ｃ）に示すように、残りの４番目の直線式（ｚ＝４）と１番目の直線式（ｚ＝４）とが原稿の対向する辺縁をなす直線式であると判断し、この判断に基づく頂点算出処理３を行なう（Ｓ４９０５）。
【０３５８】
原稿頂点設定処理部１３２は、上記処理にて特定された直線式が示す原稿辺縁の位置関係に基づき、図５９（Ｄ）に示すように、４つの頂点座標をそれぞれ求めるための直交する２つの直線１，２が、それぞれ何番目の直線式であるのかを特定し、その結果に基づいて、原稿頂点をなす交点座標を求める。
【０３５９】
たとえば、図５９（Ａ）に示す状態に対応した頂点算出処理１では、１番目（ｚ＝１）の直線式と２番目（ｚ＝２）の直線式とが平行であり、１番目（ｚ＝１）の直線式と３番目（ｚ＝３）もしくは４番目（ｚ＝４）の直線式との交点、並びに、２番目（ｚ＝２）の直線式と３番目（ｚ＝３）もしくは４番目（ｚ＝４）の直線式との交点、がそれぞれ原稿頂点をなすものと判断する。
【０３６０】
そして、原稿頂点設定処理部１３２は、頂点を算出するための直線１である１番目（ｚ＝１）の直線式ｙ＝ａ（１）・ｘ＋ｂ（１）と頂点を算出するための直線２である３番目（ｚ＝１）の直線式ｙ＝ａ（３）・ｘ＋ｂ（３）から交点（ｘｃ１，ｙｃ１）、同様に１番目（ｚ＝１）の直線式ｙ＝ａ（１）・ｘ＋ｂ（１）と４番目（ｚ＝４）の直線式ｙ＝ａ（４）・ｘ＋ｂ（４）から交点（ｘｃ２，ｙｃ２）、２番目（ｚ＝２）の直線式ｙ＝ａ（２）・ｘ＋ｂ（２）と３番目（ｚ＝３）の直線式ｙ＝ａ（３）・ｘ＋ｂ（３）から交点（ｘｃ３，ｙｃ３）、２番目（ｚ＝２）の直線式ｙ＝ａ（２）・ｘ＋ｂ（２）と４番目（ｚ＝４）の直線式ｙ＝ａ（４）・ｘ＋ｂ（４）から交点（ｘｃ４，ｙｃ４）、の計４点を頂点座標として算出する。これを整理して示したのが、図５９（Ｄ）に示す図表である。
【０３６１】
詳しい説明は割愛するが、図５９（Ｂ）に示す状態に対応した頂点算出処理２と図５９（Ｃ）に示す状態に対応した頂点算出処理３の場合にも、原稿頂点設定処理部１３２は、頂点算出処理１の場合と同様に、図５９（Ｄ）に示す図表のようにして、４つの頂点座標を算出する。
【０３６２】
図６０は、上述の４点頂点設定処理によって求められる、４つの原稿頂点の具体例を示す図である。４点頂点設定処理の対象となるのは、図３６や図４８などに示したように、原稿の４辺の全てが撮像範囲内に存在する撮像画像を処理対象とする場合（４辺検出時）がその一例である。図６０に示す状態では、１番目（ｚ＝１）と３番目（ｚ＝３）の直線は原稿の対向する辺縁をなす直線式であるから、原稿頂点設定処理部１３２は頂点算出処理２（Ｓ４９０４）を行なう。
【０３６３】
これにより、原稿頂点設定処理部１３２は、図中に示すように、１番目と２番目の各直線式の交点（ｘｃ１，ｙｃ１）、１番目と４番目の各直線式の交点（ｘｃ２，ｙｃ２）、３番目と２番目の各直線式の交点（ｘｃ３，ｙｃ３）、３番目と４番目の各直線式の交点（ｘｃ４，ｙｃ４）を、それぞれ原稿頂点として算出することができる。これにより、矩形状の原稿の４つの頂点座標が特定される。
【０３６４】
図６１は、３辺検出時における原稿頂点設定処理部１３２による、２点頂点設定処理の手順の一例を示したフローチャートである。図６２は、この処理における判定対象となる状態と、それに対応した頂点算出処理１〜３を説明する図である。図６２の（Ａ）〜（Ｃ）において、ｚは、エッジ有効部直線式算出部１２６による処理にて求められる直線式の番号を示す。この２点頂点設定処理の手順は、求められている直線式の数が３本であるということに起因した相違点があるものの、基本的には、図５８に示した４点頂点設定処理の処理手順と概ね同じである。
【０３６５】
たとえば、原稿頂点設定処理部１３２は、エッジ有効部直線式算出部１２６にて特定された直線式が示す原稿辺縁の位置関係を調べ、その結果に基づいて、２つの頂点座標をそれぞれ求めるための直交する２つの直線１，２が、それぞれ何番目の直線式であるのかを特定する。
【０３６６】
このため、原稿頂点設定処理部１３２は先ず、１番目の直線式（ｚ＝１）と２番目の直線式（ｚ＝２）の傾きａ（１），ａ（２）を比較する（Ｓ５００１）。２つの直線式の傾きがほぼ等しく、その差｜ａ（１）−ａ（２）｜が閾値β未満の場合（Ｓ５００１−Ｙｅｓ）、原稿頂点設定処理部１３２は、図６２（Ａ）に示すように、２つの直線は原稿の対向する辺縁をなす直線式であると判断し、この判断に基づく頂点算出処理４を行なう（Ｓ５００２）。
【０３６７】
２つの直線式の傾きの差｜ａ（１）−ａ（２）｜が閾値β未満でない場合（Ｓ５００１−Ｎｏ）、原稿頂点設定処理部１３２は次に、１番目の直線式（ｚ＝１）と３番目の直線式（ｚ＝３）の傾きａ（１），ａ（３）を比較する（Ｓ５００３）。２つの直線式の傾きがほぼ等しく、その差｜ａ（１）−ａ（３）｜が閾値β未満の場合（Ｓ５００３−Ｙｅｓ）、原稿頂点設定処理部１３２は、図６２（Ｂ）に示すように、２つの直線は原稿の対向する辺縁をなす直線式であると判断し、この判断に基づく頂点算出処理５を行なう（Ｓ５００４）。
【０３６８】
２つの直線式の傾きの差｜ａ（１）−ａ（３）｜が閾値β未満でない場合、すなわち｜ａ（１）−ａ（２）｜および｜ａ（１）−ａ（３）｜の何れもが閾値β未満でない場合（Ｓ５００３−Ｎｏ）、原稿頂点設定処理部１３２は、図６２（Ｃ）に示すように、１番目の直線式（ｚ＝４）と対向する、原稿の辺縁をなす直線式は求められていないと判断し、この判断に基づく頂点算出処理６を行なう（Ｓ５００５）。
【０３６９】
原稿頂点設定処理部１３２は、上記処理にて特定された直線式が示す原稿辺縁の位置関係に基づき、図６２（Ｄ）に示すように、２つの頂点座標をそれぞれ求めるための直交する２つの直線１，２が、それぞれ何番目の直線式であるのかを特定し、その結果に基づいて、原稿頂点をなす交点座標を求める。たとえば、図６２（Ａ）に示す状態に対応した頂点算出処理４では、１番目（ｚ＝１）の直線式と２番目（ｚ＝２）の直線式とが平行であり、１番目（ｚ＝１）の直線式と３番目（ｚ＝３）もしくは４番目（ｚ＝４）の直線式との交点がそれぞれ原稿頂点をなすものと判断する。
【０３７０】
そして、原稿頂点設定処理部１３２は、頂点を算出するための直線１である１番目（ｚ＝１）の直線式ｙ＝ａ（１）・ｘ＋ｂ（１）と頂点を算出するための直線２である３番目（ｚ＝１）の直線式ｙ＝ａ（３）・ｘ＋ｂ（３）から交点（ｘｃ１，ｙｃ１）、同様に２番目（ｚ＝２）の直線式ｙ＝ａ（２）・ｘ＋ｂ（２）と３番目（ｚ＝３）の直線式ｙ＝ａ（３）・ｘ＋ｂ（３）から交点（ｘｃ２，ｙｃ２）、の計２点を頂点座標として算出する。これを整理して示したのが、図６２（Ｄ）に示す図表である。
【０３７１】
詳しい説明は割愛するが、図６２（Ｂ）に示す状態に対応した頂点算出処理５と図６２（Ｃ）に示す状態に対応した頂点算出処理６の場合にも、原稿頂点設定処理部１３２は、頂点算出処理４の場合と同様に、図６２（Ｄ）に示す図表のようにして、２つの頂点座標を算出する。
【０３７２】
図６３は、上述の２点頂点設定処理によって求められる、２つの原稿頂点の具体例を示す図である。２点頂点設定処理の対象となるのは、図３７や図４９などに示したように、原稿の４辺のうち３辺が撮像範囲内に存在する撮像画像を処理対象とする場合（３辺検出時）がその一例である。図６３に示す状態では、１番目（ｚ＝１）と対向する原稿辺縁をなす直線式は見つかっていない状態であるから、原稿頂点設定処理部１３２は頂点算出処理２（Ｓ５００５）を行なう。
【０３７３】
これにより、原稿頂点設定処理部１３２は、図中に示すように、１番目と３番目の各直線式の交点（ｘｃ１，ｙｃ１）と、１番目と３番目の各直線式の交点（ｘｃ２，ｙｃ２）を、それぞれ原稿頂点として算出することができる。
【０３７４】
図６４は、はみ出し場所判定処理部１３４によるはみ出し場所判定処理（Ｓ４００８）と、はみ出し頂点座標推定処理部１３５によるはみ出し場所頂点推算処理（Ｓ４０１０）の手順の概要を示したフローチャートである。
【０３７５】
はみ出し場所判定処理部１３４は、直線数ｚが“４”、すなわちエッジ有効部直線式算出部１２６にて原稿辺縁をなす直線が４本見つかっている（ｚ＝４）のか否かを判定する（Ｓ５１０１）。直線数ｚが“４”の場合には（Ｓ５１０１−Ｙｅｓ）、このはみ出し場所判定処理とはみ出し場所頂点推算処理を直ちに終了する。
【０３７６】
一方、直線数ｚが“３”の場合には（Ｓ５１０１−Ｎｏ）、はみ出し場所判定処理部１３４は２点はみ出し方向判定処理を実行し（Ｓ５１０２）、次いではみ出し頂点座標推定処理部１３５は２点はみ出し場所頂点推算処理を実行する（Ｓ５１０３）。つまり、事実上は、これらの処理の対象となるのは、原稿辺縁をなす直線が３本しか見つからない場合であり、４本見つかった場合には、これらの処理が開始されると直ちにこの処理から抜け、境界部分特定処理や非検査部設定処理（纏めて非検査領域特定処理）に移行する。
【０３７７】
図６５は、はみ出し場所判定処理部１３４による２点はみ出し方向判定処理（Ｓ５１０２）の手順の詳細例を示したフローチャートである。
【０３７８】
はみ出し場所判定処理部１３４は先ず、オペレータｍ（ｍは“０”を含む正の整数）を“０（ゼロ）”に初期化設定する（Ｓ５２０１）。そして、オペレータｈ（ｈは正の整数）が直線数ｚ未満の間（Ｓ５２０２−Ｙｅｓ）で、以下の処理を繰り返す。なお、この処理を実行するのは直線数ｚが“３”未満の場合であるから、事実上、ｈ＝１，２について処理を繰り返す。
【０３７９】
はみ出し場所判定処理部１３４は、先ず、ａｔ１・ｘｓ（ｚ）＋ｂｔ１・ｙｓ（ｚ）＋ｃｔ１＝０を満たすか否か、すなわち原稿辺縁を示す直線式の始点（ｘｓ（ｚ），ｙｓ（ｚ））が撮像範囲の左端を示す直線式ａｔ１・ｘ＋ｂｔ１・ｙ＋ｃｔ１＝０上にあるか否かを判定する（Ｓ５２０３）。
【０３８０】
始点（ｘｓ（ｚ），ｙｓ（ｚ））がこの左端直線式上にある場合（Ｓ５２０３−Ｙｅｓ）、はみ出し場所判定処理部１３４は、はみ出し方向を特定し境界座標と対応する頂点を特定する第１の処理（両者を纏めてはみ出し場所判定処理１と呼ぶ）を行なう（Ｓ５２０４）。この状態は、原稿の２頂点が、撮像画像の左側にはみ出している状態である。
【０３８１】
始点（ｘｓ（ｚ），ｙｓ（ｚ））が左端直線式上にない場合（Ｓ５２０３−Ｎｏ）、はみ出し場所判定処理部１３４は次に、ａｔ１・ｘｅ（ｚ）＋ｂｔ１・ｙｅ（ｚ）＋ｃｔ１＝０を満たすか否か、すなわち原稿辺縁を示す直線式の終点（ｘｅ（ｚ），ｙｅ（ｚ））が撮像範囲の左端を示す直線式ａｔ１・ｘ＋ｂｔ１・ｙ＋ｃｔ１＝０上にあるか否かを判定する（Ｓ５２０５）。
【０３８２】
終点（ｘｅ（ｚ），ｙｅ（ｚ））がこの左端直線式ａｔ１・ｘ＋ｂｔ１・ｙ＋ｃｔ１＝０上にあった場合（Ｓ５２０５−Ｙｅｓ）、はみ出し場所判定処理部１３４は、はみ出し方向を特定し境界座標と対応する頂点を特定する第２の処理（両者を纏めてはみ出し場所判定処理２と呼ぶ）を行なう（Ｓ５２０６）。この状態も、原稿の２頂点が、撮像画像の左側にはみ出している状態である。
【０３８３】
以下同様にして、ａｔ２・ｘｓ（ｚ）＋ｂｔ２・ｙｓ（ｚ）＋ｃｔ２＝０を満たす場合すなわち原稿辺縁を示す直線式の始点（ｘｓ（ｚ），ｙｓ（ｚ））が撮像範囲の右端を示す直線式ａｔ２・ｘ＋ｂｔ２・ｙ＋ｃｔ２＝０上にあった場合（Ｓ５２０７−Ｙｅｓ）、はみ出し場所判定処理部１３４は、はみ出し方向を特定し境界座標と対応する頂点を特定する第３の処理（両者を纏めてはみ出し場所判定処理３と呼ぶ）行なう（Ｓ５２０８）。この状態は、原稿の２頂点が、撮像画像の右側にはみ出している状態である。
【０３８４】
さらに、ａｔ２・ｘｅ（ｚ）＋ｂｔ２・ｙｅ（ｚ）＋ｃｔ２＝０を満たす場合すなわち原稿辺縁を示す直線式の終点（ｘｅ（ｚ），ｙｅ（ｚ））が右端直線式ａｔ２・ｘ＋ｂｔ２・ｙ＋ｃｔ２＝０上にあった場合（Ｓ５２０９−Ｙｅｓ）、はみ出し場所判定処理部１３４は、はみ出し方向を特定し境界座標と対応する頂点を特定する第４の処理（両者を纏めてはみ出し場所判定処理４と呼ぶ）行なう（Ｓ５２１０）。この状態も、原稿の２頂点が、撮像画像の右側にはみ出している状態である。
【０３８５】
はみ出し場所判定処理１〜４の何れかを終了すると、もしくは上記条件を満たさない場合、はみ出し場所判定処理部１３４は、ｙｓ（ｚ）＋ｃｔ３＝０を満たすか否か、すなわち原稿辺縁を示す直線式の始点（ｘｓ（ｚ），ｙｓ（ｚ））が撮像範囲の上端を示す直線式ｙ＋ｃｔ３＝０上にあるか否かを判定する（Ｓ５２１１）。始点（ｘｓ（ｚ），ｙｓ（ｚ））が上端直線式上にある場合（Ｓ５２１１−Ｙｅｓ）、はみ出し場所判定処理部１３４は、はみ出し方向を特定し境界座標と対応する頂点を特定する第５の処理（両者を纏めてはみ出し場所判定処理５と呼ぶ）を行なう（Ｓ５２１２）。 この状態は、原稿の２頂点が、撮像画像の上側にはみ出している状態である。
【０３８６】
以下同様にして、ｙｅ（ｚ）＋ｃｔ３＝０を満たす場合すなわち原稿辺縁を示す直線式の終点（ｘｅ（ｚ），ｙｅ（ｚ））が撮像範囲の上端を示す直線式ｙ＋ｃｔ３＝０上にあった場合（Ｓ５２１３−Ｙｅｓ）、はみ出し場所判定処理部１３４は、はみ出し方向を特定し境界座標と対応する頂点を特定する第６の処理（両者を纏めてはみ出し場所判定処理６と呼ぶ）行なう（Ｓ５２１４）。この状態も、原稿の２頂点が、撮像画像の上側にはみ出している状態である。
【０３８７】
さらに、ｙｓ（ｚ）＋ｃｔ４＝０を満たす場合すなわち原稿辺縁を示す直線式の始点（ｘｓ（ｚ），ｙｓ（ｚ））が撮像範囲の下端を示す直線式ｙ＋ｃｔ４＝０上にあった場合（Ｓ５２１５−Ｙｅｓ）、はみ出し場所判定処理部１３４は、はみ出し方向を特定し境界座標と対応する頂点を特定する第７の処理（両者を纏めてはみ出し場所判定処理７と呼ぶ）行なう（Ｓ５２１６）。この状態は、原稿の２頂点が、撮像画像の下側にはみ出している状態である。
【０３８８】
最後に、ｙｅ（ｚ）＋ｃｔ４＝０を満たす場合すなわち原稿辺縁を示す直線式の終点（ｘｅ（ｚ），ｙｅ（ｚ））が撮像範囲の下端を示す直線式ｙ＋ｃｔ４＝０上にあった場合（Ｓ５２１７−Ｙｅｓ）、はみ出し場所判定処理部１３４は、はみ出し方向を特定し境界座標と対応する頂点を特定する第８の処理（両者を纏めてはみ出し場所判定処理８と呼ぶ）行なう（Ｓ５２１８）。この状態も、原稿の２頂点が、撮像画像の下側にはみ出している状態である。
【０３８９】
図６６は、はみ出し場所判定処理の手順の一例を示すフローチャートである。ここでは、はみ出し場所判定処理１の例で示している。図６７は、この処理手順中の各ステップの処理内容について、はみ出し場所判定処理１〜８の対応を示した図表である。
【０３９０】
はみ出し場所判定処理１では、原稿辺縁を示す直線式の始点（ｘｓ（ｚ），ｙｓ（ｚ））が撮像範囲の左端を示す直線式ａｔ１・ｘ＋ｂｔ１・ｙ＋ｃｔ１＝０上にあるため、撮像画像の左側にはみ出している状態である。そこで、はみ出し場所判定処理部１３４は先ず、edgeleftに“１”を加算し（Ｓ５３０１）、そのときの始点（ｘｓ（ｚ），ｙｓ（ｚ））を（ｘｂ（ｍ），ｙｂ（ｍ））に設定する（Ｓ５３０２）。
【０３９１】
次に、はみ出し場所判定処理部１３４は、このときの始点（ｘｓ（ｚ），ｙｓ（ｚ））からエッジ有効部直線式算出処理Ｓ４５４０にて算出したｙ＝ａ（ｚ）・ｘ＋ｂ（ｚ）上で、ｙｃ１＝ａ（ｚ）・ｘｃ１＋ｂ（ｚ）が成立するか否かを判定する（Ｓ５３０３）。成立する場合（Ｓ５３０３−Ｙｅｓ）、はみ出し場所判定処理部１３４は、頂点を推算する点と第１の直線ｙ１を、（ｘｃ１，ｙｃ１）とこのときの直線ｙｃ１＝ａ（ｚ）・ｘｃ１＋ｂ（ｚ）に設定する（Ｓ５３０４）。ここで、第１の直線ｙ１は、（ｘｃ１，ｙｃ１）と（ｘｃ２，ｙｃ２）を通る原稿辺縁を示す撮像範囲内の直線に対して直交する、（ｘｃ１，ｙｃ１）を通る原稿辺縁を示す直線であって、撮像範囲の辺縁と交差する直線ｙ＝ａ（ｚ）・ｘ＋ｂ（ｚ）である。
【０３９２】
一方、ｙｃ１＝ａ（ｚ）・ｘｃ１＋ｂ（ｚ）が成立しない場合（Ｓ５３０３−Ｎｏ）、はみ出し場所判定処理部１３４は、頂点を推算する点と直線ｙ２を、（ｘｃ２，ｙｃ２）とこのときの直線ｙｃ１＝ａ（ｚ）・ｘｃ１＋ｂ（ｚ）に設定する（Ｓ５３０５）。ここで、第２の直線ｙ２は、（ｘｃ１，ｙｃ１）と（ｘｃ２，ｙｃ２）を通る原稿辺縁を示す撮像範囲内の直線に対して直交する、（ｘｃ２，ｙｃ２）を通る原稿辺縁を示す直線であって、撮像範囲の辺縁と交差する直線ｙ＝ａ（ｚ）・ｘ＋ｂ（ｚ）である。
【０３９３】
次に、はみ出し場所判定処理部１３４は、オペレータｍに“１”を加算して、はみ出し場所判定処理１（Ｓ５２０４）を終了する。
【０３９４】
同様に、はみ出し場所判定処理１でのステップＳ５３０１のedgeleft、ステップＳ５３０２のｘｂ（ｍ），ｙｂ（ｍ）を、それぞれ図６７に示すように対応付けることで、はみ出し場所判定処理２〜８についても同様に処理することができる。
【０３９５】
図６８は、はみ出し頂点座標推定処理部１３５による２点はみ出し場所頂点推算処理（Ｓ５１０３）の手順の一例を示すフローチャートである。図６９は、この処理手順において、はみ出し状態を推算する方向の対応を示した図表である。
【０３９６】
はみ出し頂点座標推定処理部１３５は先ず、（ｘｃ１，ｙｃ１）と（ｘｃ２，ｙｃ２）間の距離ｄを算出する（Ｓ５４０１）。距離ｄが予め設定された原稿の縦画素と殆ど等しい場合（Ｓ５４０２−Ｙｅｓ）、はみ出し頂点座標推定処理部１３５は、ｄｐを原稿の横画素に、またｄを原稿の縦画素に設定し、式（３６−１）に従ってｄｐの値（横画素数）を算出する（Ｓ５４０３）。一方、距離ｄが原稿の縦画素と等しくない場合（Ｓ５４０２−Ｎｏ）、はみ出し頂点座標推定処理部１３５は、ｄｐを原稿の縦画素に、またｄを原稿の横画素に設定し、式（３６−２）に従ってｄｐの値（縦画素数）を算出する（Ｓ５４０４）。
【０３９７】
【数３６】
2004310726.tif 000038
【０３９８】
なお、上記の一連の処理においてこれらの式が適用できるのは、図３３（Ｂ）の右側にケース１で示すように、１辺の全体が撮像範囲内である場合に限らない。同図のケース２で示すように、（ｘｃ１，ｙｃ１）と（ｘｃ２，ｙｃ２）のうちの一方の頂点のみが撮像範囲内の場合にも適用できる。
【０３９９】
次に、はみ出し頂点座標推定処理部１３５は、（ｘｃ１，ｙｃ１）と（ｘｃ２，ｙｃ２）間の直線がなす傾きａを算出する（Ｓ５４０５）。そして、はみ出し頂点座標推定処理部１３５は、傾きａが“０（ゼロ）”以上の場合には頂点推算方向設定処理（正）を行ない（Ｓ５４０６−Ｙｅｓ，Ｓ５４０７）、傾きａが０未満の場合には頂点推算方向設定処理（負）を行なう（Ｓ５４０６−Ｎｏ，Ｓ５４０８）。
【０４００】
頂点推算方向設定処理（正）と頂点推算方向設定処理（負）において、既に算出した頂点（ｘｃ１，ｙｃ１）と（ｘｃ２，ｙｃ２）から、新たに頂点を推算する方向の設定について、たとえば、ａ≧０で、edgeleft＝２の場合、推算する方向はｘ軸の−方向である。他の条件については図６９に示す通りである。
【０４０１】
次に、はみ出し頂点座標推定処理部１３５は、（ｘｃ１，ｙｃ１）からステップＳ５４０７またはステップＳ５４０８で設定した方向に第１の直線ｙ１上の距離ｄｐの点（ｘｃ３，ｙｃ３）を頂点と設定する（Ｓ５４０９）。ここで、第１の直線ｙ１は、図６６のステップＳ５３０４と同様である。
【０４０２】
次に、はみ出し頂点座標推定処理部１３５は、（ｘｃ２，ｙｃ２）からステップＳ５４０７またはステップＳ５４０８で設定した方向に第１の直線ｙ２上の距離ｄｐの点（ｘｃ４，ｙｃ４）を頂点と設定して（Ｓ５４１０）、２点はみ出し場所頂点推算処理Ｓ５１０３を終了する。ここで、第２の直線ｙ２は、図６６のステップＳ５３０５と同様である。
【０４０３】
図７０は、はみ出し頂点座標推定処理部１３５による２点はみ出し場所頂点推算処理（Ｓ５１０３）による処理結果例を示す図である。ここでは、図３７や図４９などに示したと同様に、原稿の４辺のうち３辺が撮像範囲内に存在する撮像画像を処理対象とする場合（３辺検出時）を示している。上記の２点はみ出し場所頂点推算処理によって、（ｘｃ１，ｙｃ１）に対向する上端にはみ出した頂点（ｘｃ３，ｙｃ３）と、（ｘｃ２，ｙｃ２）に対向する上端にはみ出した頂点（ｘｃ４，ｙｃ４）が推算される。これによって、矩形状の原稿の４つの頂点座標が特定される。
【０４０４】
図７１は、境界部分特定処理部１３６による境界部分特定処理（Ｓ４０１２）と非検査領域設定部１３８による非検査部設定処理（Ｓ４０１４）の概要を示すフローチャートである。
【０４０５】
境界部分特定処理部１３６は先ず、直線数ｚが“４”、すなわちエッジ有効部直線式算出部１２６にて原稿辺縁をなす直線が４本見つかっている（ｚ＝４）のか否かを判定する（Ｓ５５０１）。直線数ｚが“４”の場合には（Ｓ５５０１−Ｙｅｓ）、境界部分特定処理部１３６と非検査領域設定部１３８にて４辺検出による境界部分特定処理と非検査部設定処理（纏めて非検査領域特定処理）（Ｓ５５０２）を行なう。この４辺検出による非検査領域特定処理の対象となるはみ出し状態は、透視変換後の撮像画像範囲の右上コーナーにて、その上端と右端で、はみ出した状態にある撮像画像を処理対象とする場合がその一例である。
【０４０６】
一方、直線数ｚが“３”の場合には（Ｓ５５０１−Ｎｏ）、境界部分特定処理部１３６と非検査領域設定部１３８にて３辺検出による境界部分特定処理と非検査部設定処理（纏めて非検査領域特定処理）を実行する（Ｓ５５０４）。この４辺検出による非検査領域特定処理の対象となるはみ出し状態は、隣接する２つの原稿頂点が撮像範囲からはみ出した状態にある撮像画像を処理対象とする場合がその一例である。
【０４０７】
これに対して、直線数ｚが“２”以下の場合には（Ｓ５５０３−Ｎｏ）、１つの原稿頂点しか求められず、非検査領域を設定することも難しいので、画像検査処理自体を実行しないようにする（たとえば処理を直ちに停止する）ため、エラー処理をする（Ｓ５５０５）。
【０４０８】
図７２は、４辺検出による非検査領域特定処理（Ｓ５５０２）の概要を示すフローチャートである。境界部分特定処理部１３６と非検査領域設定部１３８は、第１の原稿頂点（ｘｃ１，ｙｃ１）に着目した非検査領域特定処理１１を行ない（Ｓ５６０１）、次に、第２の原稿頂点（ｘｃ２，ｙｃ２）に着目した非検査領域特定処理１２を行ない（Ｓ５６０２）、次に、第３の原稿頂点（ｘｃ３，ｙｃ３）に着目した非検査部領域処理１３を行ない（Ｓ５６０３）、次に、第４の原稿頂点（ｘｃ４，ｙｃ４）に着目した非検査領域特定処理１４を行ない（Ｓ５６０４）、４辺検出による非検査領域特定処理を終了する。
【０４０９】
図７３は、非検査領域特定処理の手順の一例を示したフローチャートである。ここでは、第１の原稿頂点（ｘｃ１，ｙｃ１）に着目した非検査領域特定処理１１（Ｓ５６０１）の例で示している。
【０４１０】
境界部分特定処理部１３６と非検査領域設定部１３８は、はみ出し場所判定処理部１３４により撮像範囲からはみ出していると判定された原稿頂点に関して、撮像範囲との境界部分、すなわちこの原稿頂点から延びる直線と撮像範囲の辺縁との交点を特定する。このとき、境界部分特定処理部１３６は、原稿辺縁をなす有効エッジ部分に基づいてエッジ有効部直線式算出部１２６により算出された、延長線上に前記原稿頂点を含む直線の両端の座標が、撮像画像のどの端縁に接するのかを判定し、その判定結果に基づいて、原稿がはみ出した方向を判断することで原稿辺縁と撮像範囲との交点座標を特定する。
【０４１１】
たとえば、境界部分特定処理部１３６は、第１の原稿頂点（ｘｃ１，ｙｃ１）が撮像範囲からはみ出しているかどうかを判定して、（ｘｃ１，ｙｃ１）と撮像画像の境界座標間を非検査領域に設定する。このため、境界部分特定処理部１３６は先ず、ａｔ１・ｘｃ１＋ｂｔ１・ｙｃ１＋ｃｔ１＜０を満たすか否か、すなわち第１の原稿頂点（ｘｃ１，ｙｃ１）が撮像範囲の左端からはみ出しているかどうかを判定する（Ｓ５７０１）。
【０４１２】
そしてこの条件を満たす場合（Ｓ５７０１−Ｙｅｓ）、境界部分特定処理部１３６は、ステップＳ４８０２で（ｘｃ１，ｙｃ１）を算出した直線１と境界線ａｔ１・ｘ＋ｂｔ１・ｙ＋ｃｔ１＝０の交点（ｘｂｃ１，ｙｂｃ１）、およびステップＳ４８０２で（ｘｃ１，ｙｃ１）を算出した直線２と境界線ａｔ１・ｘ＋ｂｔ１・ｙ＋ｃｔ１＝０の交点（ｘｂｃ２，ｙｂｃ２）が、それぞれ境界座標であると特定する。
【０４１３】
非検査領域設定部１３８は、第１の原稿頂点（ｘｃ１，ｙｃ１）と、境界部分特定処理部１３６が特定した２つの境界座標（ｘｂｃ１，ｙｂｃ１）、（ｘｂｃ２，ｙｂｃ２）とで囲まれた３角形の領域を非検査領域に設定する（Ｓ５７０２）。
【０４１４】
ステップＳ５７０１の条件を満たさない場合（Ｓ５７０１−Ｎｏ）やステップＳ５７０２の後、境界部分特定処理部１３６は、ｙｃ１＋ｃｔ３＞０を満たすか否か、すなわち第１の原稿頂点（ｘｃ１，ｙｃ１）が撮像範囲の上端からはみ出しているかどうかを判定する（Ｓ５７０３）。そしてこの条件を満たす場合（Ｓ５７０３−Ｙｅｓ）、境界部分特定処理部１３６は、ステップＳ４８０２で（ｘｃ１，ｙｃ１）を算出した直線１と境界線ｙｃ１＋ｃｔ３＝０の交点（ｘｂｃ３，ｙｂｃ３）、およびステップＳ４８０２で（ｘｃ１，ｙｃ１）を算出した直線２と境界線ｙｃ１＋ｃｔ３＝０の交点（ｘｂｃ４，ｙｂｃ４）が、それぞれ境界座標であると特定する。
【０４１５】
非検査領域設定部１３８は、第１の原稿頂点（ｘｃ１，ｙｃ１）と、境界部分特定処理部１３６が特定した２つの境界座標（ｘｂｃ３，ｙｂｃ３）、（ｘｂｃ４，ｙｂｃ４）とで囲まれた３角形の領域を非検査領域に設定する（Ｓ５７０４）。
【０４１６】
ステップＳ５７０３の条件を満たさない場合（Ｓ５７０３−Ｎｏ）やステップＳ５７０４の後、境界部分特定処理部１３６は、ａｔ２・ｘｃ１＋ｂｔ２・ｙｃ１＋ｃｔ２＞０を満たすか否か、すなわち第１の原稿頂点（ｘｃ１，ｙｃ１）が撮像範囲の右端からはみ出しているかどうかを判定する（Ｓ５７０５）。
【０４１７】
そしてこの条件を満たす場合（Ｓ５７０５−Ｙｅｓ）、境界部分特定処理部１３６は、ステップＳ４８０２で（ｘｃ１，ｙｃ１）を算出した直線１と境界線ａｔ２・ｘ＋ｂｔ２・ｙ＋ｃｔ２＝０の交点（ｘｂｃ５，ｙｂｃ５）、およびステップＳ４８０２で（ｘｃ１，ｙｃ１）を算出した直線２と境界線ａｔ２・ｘ＋ｂｔ２・ｙ＋ｃｔ２＝０の交点（ｘｂｃ６，ｙｂｃ６）が、それぞれ境界座標であると特定する。
【０４１８】
非検査領域設定部１３８は、第１の原稿頂点（ｘｃ１，ｙｃ１）と、境界部分特定処理部１３６が特定した２つの境界座標（ｘｂｃ５，ｙｂｃ５）、（ｘｂｃ６，ｙｂｃ６）とで囲まれた３角形の領域を非検査領域に設定する（Ｓ５７０６）。
【０４１９】
最後に、ステップＳ５７０５の条件を満たさない場合（Ｓ５７０５−Ｎｏ）やステップＳ５７０６の後、境界部分特定処理部１３６は、ｙｃ１＋ｃｔ４＜０を満たすか否か、すなわち第１の原稿頂点（ｘｃ１，ｙｃ１）が撮像範囲の下端からはみ出しているかどうかを判定する（Ｓ５７０７）。そしてこの条件を満たす場合（Ｓ５７０７−Ｙｅｓ）、境界部分特定処理部１３６は、ステップＳ４８０２で（ｘｃ１，ｙｃ１）を算出した直線１と境界線ｙｃ１＋ｃｔ４＝０の交点（ｘｂｃ７，ｙｂｃ７）、およびステップＳ４８０２で（ｘｃ１，ｙｃ１）を算出した直線２と境界線ｙｃ１＋ｃｔ４＝０の交点（ｘｂｃ８，ｙｂｃ８）が、それぞれ境界座標であると特定する。
【０４２０】
非検査領域設定部１３８は、第１の原稿頂点（ｘｃ１，ｙｃ１）と、境界部分特定処理部１３６が特定した２つの境界座標（ｘｂｃ７，ｙｂｃ７）、（ｘｂｃ８，ｙｂｃ８）とで囲まれた３角形の領域を非検査領域に設定して（Ｓ５７０８）、非検査領域特定処理１１を終了する。
【０４２１】
非検査領域特定処理１２（Ｓ５６０２）の場合は、非検査領域特定処理１１における（ｘｃ１，ｙｃ１）を（ｘｃ２，ｙｃ２）に変更して同様の処理を行なう。また、非検査領域特定処理１３（Ｓ５６０３）の場合は、非検査領域特定処理１１における（ｘｃ１，ｙｃ１）を（ｘｃ３，ｙｃ３）に変更して同様の処理を行なう。また、非検査領域特定処理１４（Ｓ５６０４）の場合は、非検査領域特定処理１１における（ｘｃ１，ｙｃ１）を（ｘｃ４，ｙｃ４）に変更して同様の処理を行なう。
【０４２２】
図７４は、境界部分特定処理部１３６と非検査領域設定部１３８による、４辺検出による非検査領域特定処理（Ｓ５５０２）による処理結果例を示す図である。ここでは、図３６や図４８などに示したと同様に、原稿の４辺の全てが撮像範囲内に存在する撮像画像を処理対象とする場合（４辺検出時）の処理結果を示している。
【０４２３】
上記の４辺検出による非検査領域特定処理によって、（ｘｃ４，ｙｃ４）、（ｘｂｃ３，ｙｂｃ３）、（ｘｂｃ４，ｙｂｃ４）の３点で囲まれた領域と、（ｘｃ２，ｙｃ２）、（ｘｂｃ５，ｙｂｃ５）、（ｘｂｃ６，ｙｂｃ６）の３点で囲まれた２つの領域が、それぞれ非検査領域に設定される。
【０４２４】
なお、上記説明では、矩形状の原稿を処理対象としていたが、原稿の４辺が撮像範囲内に存在する場合には、矩形に限らず、任意の角形に対しても適応できる。これに対して、３辺のみが撮像範囲内に存在する場合には、残りの１辺について、矩形を前提に推測する必要があるので、任意の角形に対して対応することは難しい。ただし、処理が煩雑になるものの、Ｓ５４０２の処理にて、ｄが何れの辺の長さに対応するのかを判定し、それに応じた残りの辺について推測処理を行なうように変形すれば、３辺検出の場合であっても、任意の角形に対しても適応できる。
【０４２５】
図７５は、３辺検出による非検査領域特定処理（Ｓ５５０４）の概要を示すフローチャートである。
【０４２６】
境界部分特定処理部１３６は、４辺検出による非検査領域特定処理（Ｓ５５０２）と同様に、はみ出し場所判定処理部１３４により撮像範囲からはみ出していると判定された原稿頂点に関して、原稿辺縁をなす有効エッジ部分に基づいてエッジ有効部直線式算出部１２６により算出された、延長線上に前記原稿頂点を含む直線の両端の座標が、撮像画像のどの端縁に接するのかを判定し、その判定結果に基づいて、原稿がはみ出した方向を判断することで原稿辺縁と撮像範囲との交点座標を特定する。
【０４２７】
このため先ず、境界部分特定処理部１３６は、edgeleft，edgetop ，edgeright ，edgebottomがそれぞれ“２”であるか否か、すなわち隣接する２つの原稿頂点が何れも撮像範囲の１つの端縁をなす直線よりも外側に位置するか否かを順次判定する（Ｓ５８０１〜Ｓ５８０４）。つまり、図３７の（Ａ）〜（Ｄ）の何れかにある状態の判定である。
【０４２８】
そして、edgeleftが“２”の場合（Ｓ５８０１−Ｙｅｓ）、または、edgetop が“２”の場合（Ｓ５８０２−Ｙｅｓ）、または、edgeright が“２”の場合（Ｓ５８０３−Ｙｅｓ）、または、edgebottomが“２”の場合（Ｓ５８０４−Ｙｅｓ）は、境界部分特定処理部１３６は、ステップＳ５４０９で（ｘｃ３，ｙｃ３）を算出した第１の直線ｙ１とはみ出し対象の撮像範囲の端縁を示す直線との交点（ｘｂ（１），ｙｂ（１））、およびステップＳ５４１０で（ｘｃ４，ｙｃ４）を算出した第２の直線ｙ２とはみ出し対象の撮像範囲の端縁を示す直線との交点（ｘｂ（２），ｙｂ（２））が、それぞれ境界座標であると特定する。
【０４２９】
そして、非検査領域設定部１３８は、撮像範囲からはみ出している２つの原稿頂点（ｘｃ３，ｙｃ３）、（ｘｃ４，ｙｃ４）と、境界部分特定処理部１３６が特定した２つの境界座標（ｘｂ（１），ｙｂ（１））、（ｘｂ（２），ｙｂ（２））の、計４点で囲まれた領域を非検査領域に設定し（Ｓ５８０５）、３辺検出による非検査領域特定処理を終了する。
【０４３０】
一方、edgeleft，edgetop ，edgeright ，edgebottomの何れもが“２”でない場合には、境界部分特定処理部１３６はそれぞれが“１”である組合せを順次判定し、非検査領域設定部１３８はその判定結果に応じた非検査領域設定処理をする。この判定は、隣接する２つの原稿頂点が撮像範囲のあるコーナー側に位置していて、その内の一方がそのコーナーの端縁をなす一方の直線よりも外側に位置し、かつ他方の頂点がこの一方の直線と交差する、端縁をなす他方の直線よりも外側に位置しているか否かの判定である。つまり、図３７の（Ｅ）〜（Ｈ）の何れかにある状態の判定である。
【０４３１】
たとえば先ず、edgeleftとedgetopが“１”の場合（Ｓ５８０６−Ｙｅｓ）、境界部分特定処理部１３６は、２つの原稿頂点が図３７（Ｅ）に示したように左上側にはみ出していると判断し、非検査領域設定部１３８との協働により、左上側コーナーについての非検査領域設定処理２１を行なう（Ｓ５８０７）。
【０４３２】
edgetop とedgeright が“１”の場合（Ｓ５８０８−Ｙｅｓ）、境界部分特定処理部１３６は、２つの原稿頂点が図３７（Ｆ）に示したように右上側にはみ出していると判断し、非検査領域設定部１３８との協働により、右上側コーナーについての非検査領域設定処理２２を行なう（Ｓ５８０９）。
【０４３３】
edgeright とedgebottomが“１”の場合（Ｓ５８１０−Ｙｅｓ）、境界部分特定処理部１３６は、２つの原稿頂点が図３７（Ｇ）に示したように右下側にはみ出していると判断し、非検査領域設定部１３８との協働により、右下側コーナーについての非検査領域設定処理２３を行なう（Ｓ５８１１）。
【０４３４】
edgebottomとedgeleftが“１”の場合（Ｓ５８１２−Ｙｅｓ）、境界部分特定処理部１３６は、２つの原稿頂点が図３７（Ｈ）に示したように左下側にはみ出していると判断し、非検査領域設定部１３８との協働により、左下側コーナーについての非検査領域設定処理２４を行ない（Ｓ５８１３）、３辺検出による非検査領域特定処理を終了する。
【０４３５】
図７６は、各コーナーについての３辺検出による非検査領域設定処理の手順の一例を示すフローチャートである。ここでは、左上側コーナーについての非検査領域設定処理２１（Ｓ５８０７）の例で示している。
【０４３６】
図７７は、この処理手順において、非検査領域を特定するための原稿頂点と２つの交点の対応を示した図表である。右上側、右下側、および左下側の各コーナーについての非検査領域設定処理２２〜２４については、この図７７に示す対応に従って実行すればよい。
【０４３７】
境界部分特定処理部１３６は先ず、撮像範囲からはみ出している２つの原稿頂点（ｘｃ３，ｙｃ３）と（ｘｃ４，ｙｃ４）間の、撮像範囲外の原稿辺縁をなす直線式ｙ＝ａ（４）・ｘ＋ｂ（４）を算出する（Ｓ５９０１）。次いで境界部分特定処理部１３６は、ステップＳ５４０９で（ｘｃ３，ｙｃ３）を算出した第１の直線ｙ１とはみ出し対象の撮像範囲の端縁を示す直線との交点（ｘｂ（１），ｙｂ（１））、およびステップＳ５９０１で算出した直線ｙとはみ出し対象の撮像範囲の端縁を示す直線との交点（ｘｂ（３），ｙｂ（３））が、それぞれ境界座標であると特定する（Ｓ５９０２）。
【０４３８】
また、境界部分特定処理部１３６は、ステップＳ５４１０で（ｘｃ４，ｙｃ４）を算出した第２の直線ｙ２とはみ出し対象の撮像範囲の端縁を示す直線との交点（ｘｂ（２），ｙｂ（２））、およびステップＳ５９０１で算出した直線ｙとはみ出し対象の撮像範囲の端縁を示す直線との交点（ｘｂ（４），ｙｂ（４））が、それぞれ境界座標であると特定する（Ｓ５９０３）。
【０４３９】
そして、非検査領域設定部１３８は、撮像範囲からはみ出している第１の原稿頂点（ｘｃ３，ｙｃ３）と、境界部分特定処理部１３６がステップＳ５９０２にて特定した２つの境界座標（ｘｂ（１），ｙｂ（１））、（ｘｂ（３），ｙｂ（３））の、計３点で囲まれた領域を非検査領域（非検査部１）に設定する（Ｓ５９０４）。また、非検査領域設定部１３８は、撮像範囲からはみ出している第２の原稿頂点（ｘｃ４，ｙｃ４）と、境界部分特定処理部１３６がステップＳ５９０３にて特定した２つの境界座標（ｘｂ（２），ｙｂ（２））、（ｘｂ（４），ｙｂ（４））の、計３点で囲まれた領域を非検査領域（非検査部２）に設定し（Ｓ５９０５）、非検査領域設定処理２１を終了する。
【０４４０】
これらの処理は、撮像範囲からはみ出している２つの原稿頂点（ｘｃ３，ｙｃ３）と（ｘｃ４，ｙｃ４）間に形成される原稿辺縁をなす直線を求めることで、矩形状の原稿辺縁をなす４つの直線式を特定してから、非検査領域を設定するもので、４辺検出による非検査領域特定処理（Ｓ５５０２）と、事実上等価となる。
【０４４１】
図７８および図７９は、境界部分特定処理部１３６と非検査領域設定部１３８による、３辺検出による非検査領域特定処理（Ｓ５５０４）による処理結果例を示す図である。ここで、図７８は、図３７（Ｂ）や図４９などに示したと同様に、透視変換後の撮像画像範囲の上端にて、２つの原稿頂点が、撮像範囲からはみ出した状態にある撮像画像を処理対象とする場合の処理結果を示している。
【０４４２】
この状態では、edgetop が“２”のため、上記の３辺検出による非検査領域特定処理において、ステップＳ５８０２を経由したステップＳ５８０５の処理によって、（ｘｃ３，ｙｃ３）、（ｘｃ４，ｙｃ４）、（ｘｂ（１），ｙｂ（１））、（ｘｂ（２），ｙｂ（２））で囲まれた４角形の領域が非検査領域に設定される。
【０４４３】
一方、図７９は、２つの原稿頂点が図３７（Ｅ）に示したように左上側にはみ出している場合の処理結果を示している。この状態では、edgeleftとedgetopが“１”のため、上記の３辺検出による非検査領域特定処理において、ステップＳ５８０６を経由した非検査領域設定処理２１（Ｓ５８０７）によって、先ず、図７９（Ａ）に示すように、第３の直線ｙ３＝ａ（４）・ｘ＋ｂ（４）が特定される。
【０４４４】
そして、図７９（Ｂ）に示すように、原稿頂点（ｘｃ３，ｙｃ３）、境界座標（ｘｂ（１），ｙｂ（１））、（ｘｂ（３），ｙｂ（３））の、計３点で囲まれた３角形の非検査部１が非検査領域に設定される。また、図７９（Ｃ）に示すように、原稿頂点（ｘｃ４，ｙｃ４）、境界座標（ｘｂ（２），ｙｂ（２））、（ｘｂ（４），ｙｂ（４））の、計３点で囲まれた３角形の非検査部２が非検査領域に設定される。
【０４４５】
以上説明したように、第３実施形態の構成に依れば、チルトスキャンにより撮像画像の原稿の複数の頂点が撮像画像からはみ出した場合に対しても、撮像範囲内に４辺が存在する場合には、４辺のエッジ有効部を検出することで、頂点を推算して非検査部を設定することにより、はみ出し部分を検査対象から除外して基準画像と比較することができる。
【０４４６】
また、撮像範囲内に４辺が存在しないが３辺が存在する場合には、３辺のエッジ有効部を検出することで、頂点を推算して非検査部を設定することにより、はみ出し部分を検査対象から除外して基準画像と比較することができる。
【０４４７】
＜＜電子計算機での対応＞＞
図８０は、ＣＰＵやメモリを利用して、上述した各実施形態の画像検査装置５をソフトウェア的に構成する、すなわち電子計算機（コンピュータ）を用いて構成する場合のハードウェア構成の一例を示した図である。
【０４４８】
画像検査装置５を構成するコンピュータシステム９００は、ＣＰＵ９０２、ＲＯＭ（Read Only Memory）９０４、ＲＡＭ９０６、および通信Ｉ／Ｆ（インターフェース）９０８を備える。ＲＡＭ９０６は、撮像画像データを格納する領域を含んでいる。
【０４４９】
また、たとえばメモリ読出部９０７、ハードディスク装置９１４、フレキシブルディスク（ＦＤ）ドライブ９１６、あるいはＣＤ−ＲＯＭ（Compact Disk ROM）ドライブ９１８などの、記憶媒体からデータを読み出したり記録したりするための記録・読取装置を備えてもよい。画像データは、データバスを通じて各ハードウェア間をやり取りされる。
【０４５０】
ハードディスク装置９１４、ＦＤドライブ９１６、あるいはＣＤ−ＲＯＭドライブ９１８は、たとえば、ＣＰＵ９０２にソフトウェア処理をさせるためのプログラムデータを登録するなどのために利用される。また、ハードディスク装置９１４は、処理対象画像データを格納する領域を含んでいる。
【０４５１】
通信Ｉ／Ｆ９０８は、インターネットなどの通信網との間の通信データの受け渡しを仲介する。またコンピュータシステム９００は、カメラヘッド１０２との間のインターフェース（ＩＯＴコントローラ）の機能をなすカメラＩ／Ｆ部９３０と、プリントエンジン５７０との間のインターフェースの機能をなすＩＯＴコントローラ９３２とを備える。カメラＩ／Ｆ部９３０は、カメラヘッド１０２からの出力データをアナログデジタル変換してＲＡＭ９０６もしくはハードディスク装置９１４へ格納する。
【０４５２】
なお、上記実施形態で示した撮像画像処理部１１０や画像画像検査処理部２００の各機能部分の全ての処理をソフトウェアで行なうのではなく、これら機能部分の一部をハードウェアにて処理回路９４０として設けてもよい。
【０４５３】
このような構成のコンピュータシステム９００は、上記実施形態に示した画像検査装置５の基本的な構成および動作と同様とすることができる。また、上述した処理をコンピュータに実行させるプログラムは、ＣＤ−ＲＯＭ９２２などの記録媒体を通じて配布される。あるいは、プログラムは、ＣＤ−ＲＯＭ９２２ではなくＦＤ９２０に格納されてもよい。また、ＭＯドライブを設け、ＭＯに前記プログラムを格納してもよく、またフラッシュメモリなどの不揮発性の半導体メモリカード９２４など、その他の記録媒体に前記プログラムを格納してもよい。
【０４５４】
さらに、他のサーバなどからインターネットなどの通信網を経由して前記プログラムをダウンロードして取得したり、あるいは更新したりしてもよい。なお、記録媒体としては、ＦＤ９２０やＣＤ−ＲＯＭ９２２などの他にも、ＤＶＤなどの光学記録媒体、ＭＤなどの磁気記録媒体、ＰＤなどの光磁気記録媒体、テープ媒体、磁気記録媒体、ＩＣカードやミニチュアカードなどの半導体メモリを用いることができる。
【０４５５】
記録媒体の一例としてのＦＤ９２０やＣＤ−ＲＯＭ９２２などには、上記実施形態で説明した画像検査装置５における処理の一部または全ての機能を格納することができる。したがって、以下のプログラムや当該プログラムを格納した記憶媒体を提供することができる。たとえば、基準画像処理部２１０や画像検査部２３０用のプログラム、すなわちＲＡＭ９０６などにインストールされるソフトウェアは、上記実施形態に示された基準画像処理部２１０や画像検査部２３０と同様の各機能部をソフトウェアとして備える。
【０４５６】
このようなソフトウェアは、画像処理ソフトウェア、あるいは画像検査用アプリケーションソフトなどとして、ＣＤ−ＲＯＭやＦＤなどの可搬型の記憶媒体に格納され、あるいはネットワークを介して配布されるとよい。
【０４５７】
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で上記実施形態に多様な変更または改良を加えることができ、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれる。
【０４５８】
また、上記の実施形態は、クレーム（請求項）にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組合せの全てが発明の解決手段に必須であるとは限らない。前述した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜の組合せにより種々の発明を抽出できる。実施形態に示される全構成要件から幾つかの構成要件が削除されても、効果が得られる限りにおいて、この幾つかの構成要件が削除された構成が発明として抽出され得る。
【０４５９】
たとえば、上記実施形態では、矩形状を呈した原稿を取り扱う場合について説明したが、他の角形状を呈した原稿を取り扱う場合であっても、上述した実施形態とほぼ同様に、原稿辺縁を表す線分の式（直線式）を求め、その線分と撮像範囲を示す境界線との交点座標を特定することで、原稿辺縁と撮像範囲を示す境界線との位置関係を特定することで、はみ出し部分を非検査部分に設定するようにすればよい。
【０４６０】
また、角形状の原稿に限らず、たとえば円形状（楕円状も含む）や他の任意の形状を呈する原稿であっても、撮像画像中の原稿の辺縁を示す線分を求め、この求めた線分と撮像範囲を示す境界線との位置関係を特定し、この特定した位置関係に基づいて、撮像範囲からはみ出している原稿部分を非検査領域に設定するものであればよい。この場合、たとえば、予め分かっている原稿の形状と撮像画像から抽出した原稿の辺縁を示す線分とのパターンマッチングにより原稿辺縁と撮像範囲を示す境界線との位置関係を特定することで、原稿の撮像範囲の外部に位置する部分を非検査部分に設定すればよい。
【図面の簡単な説明】
【０４６１】
【図１】本発明に係る画像処理装置の一実施形態を備えた画像検査装置を示す概略図である。
【図２】図１に示した画像検査装置の第１実施形態の詳細例を示すブロック図である。
【図３】撮像画像と基準画像との関係を示す図である。
【図４】非検査領域特定処理部の一構成例を示すブロック図である。
【図５】実施形態で処理対象とする、原稿部分が撮像範囲からはみ出して撮像される場合の状態を説明する図である。
【図６】第１実施形態の画像検査装置における処理手順の概要を示すフローチャートである。
【図７】第１実施形態で取り扱う画像の一例を示す図である。
【図８】第１実施形態で取り扱う画像の他の一例を示す図である。
【図９】エッジ抽出部の処理を説明する図である。
【図１０】第１実施形態の非検査領域特定処理部の非検査領域特定処理の手順の概要を示すフローチャートである。
【図１１】第１例の非検査領域特定処理におけるエッジ抽出処理を示すフローチャートである。
【図１２】第１例の非検査領域特定処理における左辺エッジ抽出処理（図１１のＳ２１０Ｌ）の詳細例を示すフローチャートである。
【図１３】左辺エッジ有効部検出処理を、図８（Ｂ）の画像に適用した場合を説明する図である。
【図１４】第１例の非検査領域特定処理における左辺エッジ有効部検出処理の詳細例を示すフローチャートである。
【図１５】エッジ有効部検出処理で使用する判定条件を示す図表である。
【図１６】第１例の非検査領域特定処理における左辺エッジ有効部仮検出処理（図１４のＳ３１０Ｌ）の詳細例を示すフローチャートである。
【図１７】第１例の左辺エッジ有効部仮検出処理（図１４のＳ３１０Ｌ）における左辺エッジ有効部選択処理（図１６のＳ３１１４）の詳細例を示すフローチャートである。
【図１８】第１例の非検査領域特定処理における左辺エッジ有効部検出処理（図１４のＳ３３４）の詳細例を示すフローチャートである。
【図１９】図１８で使用する計算式の導出を説明する図である。
【図２０】第１実施形態のエッジ有効部直線式算出部によるエッジ有効部直線式算出処理（図１０のＳ４００）の詳細例を示すフローチャートである。
【図２１】第１実施形態の原稿頂点設定処理部による原稿頂点設定処理（図１０のＳ４２０）の詳細例を示すフローチャートである。
【図２２】第１実施形態のはみ出し場所判定処理部によるはみ出し場所判定処理（図１０のＳ５００）の詳細例を示すフローチャートである。
【図２３】境界部分特定処理部によるはみ出し部の非検査部設定処理（図１０のＳ６００）の詳細例を示すフローチャートである。
【図２４】はみ出し部の非検査部設定処理の具体例を示す図である。
【図２５】図２４に示した左下についての処理ステップに使用する式や交点座標を、左上、右上、右下に適用させる場合の対応関係を示す図表などである。
【図２６】図１に示した画像検査装置の第２実施形態の詳細例を示すブロック図である。こ
【図２７】第２実施形態の画像検査装置における処理手順の概要を示すフローチャートである。
【図２８】第２実施形態で取り扱う画像の一例を示す図である。
【図２９】第２実施形態のはみ出し場所判定処理部によるはみ出し場所判定処理の詳細例を示すフローチャートである。
【図３０】はみ出し場所判定処理部によるはみ出し場所判定処理における一事例を示す図である。
【図３１】第２実施形態の境界部分特定処理部によるはみ出し部の非検査部設定処理の具体例を示すフローチャートである。
【図３２】図３１に示した左下についての処理ステップに使用する式や交点座標を、左上、右上、右下に適用させる場合の対応関係を示す図表である。
【図３３】図１に示した画像検査装置５の第３実施形態における原稿範囲特定処理の概要を説明する図である。
【図３４】第３実施形態における非検査領域特定処理の概要を説明する図である。
【図３５】第３実施形態の処理内容を実現するため処理手順の概要を説明する図である。
【図３６】第３実施形態の処理で対応可能な原稿のはみ出し状態を示す、撮像画像の一例である。
【図３７】第３実施形態の処理で対応可能な原稿のはみ出し状態を示す、撮像画像の一例である。
【図３８】第３実施形態の処理でも対応できない原稿のはみ出し状態を示す、撮像画像の一例である。
【図３９】第３実施形態の非検査領域特定処理部の一構成例を示すブロック図である。
【図４０】第３実施形態の非検査領域特定処理部における処理手順の概要を示すフローチャートである。
【図４１】第３実施形態のエッジ有効部検出部の処理における対応関係を説明する図である。
【図４２】エッジ有効部検出部のエッジ追跡部によるエッジ追跡の各方向とエッジ追跡フィルタとを説明する図である。
【図４３】第３実施形態におけるエッジ有効部検出処理とエッジ有効部直線式算出処理の手順の概要を示すフローチャートである。
【図４４】原稿範囲特定処理（エッジ有効部検出処理＋エッジ直線式算出処理）の手順の詳細例を示すフローチャートである。
【図４５】エッジ追跡部による、所定方向にエッジ追跡するエッジ直線検出処理の概要を示すフローチャートである。
【図４６】エッジ追跡部による所定方向へのエッジ追跡処理の詳細例を示すフローチャートである。こ
【図４７】エッジ有効部直線式算出処理（Ｓ４５４０）の詳細例を示すフローチャートである。
【図４８】第３実施形態のエッジ追跡による直線検出処理の具体例を説明する図である（４辺検出時）。
【図４９】第３実施形態のエッジ追跡による直線検出処理の具体例を説明する図である（３辺検出時）。
【図５０】エッジ有効部直線式重複判定処理（Ｓ４５６０）の詳細例を示すフローチャートである。
【図５１】エッジ有効部直線式重複判定処理の意義を説明する図である。
【図５２】エッジ追跡開始座標調整処理（Ｓ４２１４）の詳細例を示すフローチャートである。
【図５３】上下左右の各端からの処理における、エッジ追跡開始座標調整処理の各ステップの処理内容の対応を示す図表である。
【図５４】この処理における各ステップに対応したはみ出し状態の一例を示す図である。
【図５５】原稿範囲特定処理によって特定される、原稿辺縁をなす直線式についての具体例を示す図である（４辺検出時）。
【図５６】原稿範囲特定処理によって特定される、原稿辺縁をなす直線式についての具体例を示す図である（３辺検出時）。
【図５７】原稿頂点設定処理の手順の概要を示すフローチャートである。
【図５８】４点頂点設定処理の手順の一例を示したフローチャートである。
【図５９】４点頂点設定処理における判定対象となる状態と、それに対応した頂点算出処理１〜３を説明する図である。
【図６０】４点頂点設定処理によって求められる、４つの原稿頂点の具体例を示す図である。
【図６１】２点頂点設定処理の手順の一例を示したフローチャートである。
【図６２】２点頂点設定処理における判定対象となる状態と、それに対応した頂点算出処理１〜３を説明する図である。
【図６３】２点頂点設定処理によって求められる、２つの原稿頂点の具体例を示す図である。
【図６４】はみ出し場所判定処理（Ｓ４００８）と、はみ出し場所頂点推算処理（Ｓ４０１０）の手順の概要を示したフローチャートである。
【図６５】２点はみ出し方向判定処理（Ｓ５１０２）の手順の詳細例を示したフローチャートである。
【図６６】はみ出し場所判定処理の手順の一例を示すフローチャートである。
【図６７】はみ出し場所判定処理中の各ステップの処理内容について、はみ出し場所判定処理１〜８の対応を示した図表である。
【図６８】２点はみ出し場所頂点推算処理（Ｓ５１０３）の手順の一例を示すフローチャートである。
【図６９】２点はみ出し場所頂点推算処理手順において、はみ出し状態を推算する方向の対応を示した図表である。
【図７０】２点はみ出し場所頂点推算処理（Ｓ５１０３）による処理結果例を示す図である。
【図７１】境界部分特定処理（Ｓ４０１２）と非検査部設定処理（Ｓ４０１４）の概要を示すフローチャートである。
【図７２】４辺検出による非検査領域特定処理（Ｓ５５０２）の概要を示すフローチャートである。
【図７３】非検査領域特定処理の手順の一例を示したフローチャートである。
【図７４】境界部分特定処理部１３６と非検査領域設定部１３８による、４辺検出による非検査領域特定処理（Ｓ５５０２）による処理結果例を示す図である。
【図７５】３辺検出による非検査領域特定処理（Ｓ５５０４）の概要を示すフローチャートである。
【図７６】各コーナーについての３辺検出による非検査領域設定処理の手順の一例を示すフローチャートである。
【図７７】３辺検出による非検査領域設定処理手順において、非検査領域を特定するための原稿頂点と２つの交点の対応を示した図表である。
【図７８】３辺検出による非検査領域特定処理（Ｓ５５０４）による処理結果例を示す図である（その１；Ｓ５８０５）。
【図７９】３辺検出による非検査領域特定処理（Ｓ５５０４）による処理結果例を示す図である（その２；Ｓ５８０７）。
【図８０】ＣＰＵやメモリを利用して、ソフトウェア的に画像検査装置を構成する場合のハードウェア構成の一例を示した図である。
【符号の説明】
【０４６２】
１…システム、５…画像検査装置、１００…画像読取部、１０２…カメラヘッド、１０４…撮影レンズ、１０６…ＣＣＤ撮像素子、１１０…撮像画像処理部、１１２…シェーディング補正部、１１４…光学歪補正部、１１６…透視変換部、１２０…非検査領域特定処理部、１２２…エッジ抽出部、１２４…エッジ有効部検出部、１２４ａ…エッジ追跡部、１２４ｂ…エッジ画素カウント部、１２６…エッジ有効部直線式算出部（線分算出部）、１３０…非検査領域特定部、１３２…原稿頂点設定処理部（位置関係特定処理部）、１３４…はみ出し場所判定処理部、１３５…はみ出し頂点座標推定処理部、１３６…境界部分特定処理部、１３８…非検査領域設定部、２００…画像検査処理部、２１０…基準画像処理部、２１２…逆透視変換部、２１４…解像度変換部、２１６…暈かし処理部、２１８…非検査領域削除処理部、２３０…画像検査部、２３２…位置合わせ処理部、２３４…欠陥異常検出処理部、３００…データ格納部、３２０…制御部、５００…プリンタ
【図１】
2004310726.tif 000039
【図２】
2004310726.tif 000040
【図３】
2004310726.tif 000041
【図４】
2004310726.tif 000042
【図５】
2004310726.tif 000043
【図６】
2004310726.tif 000044
【図７】
2004310726.tif 000045
【図８】
2004310726.tif 000046
【図９】
2004310726.tif 000047
【図１０】
2004310726.tif 000048
【図１１】
2004310726.tif 000049
【図１２】
2004310726.tif 000050
【図１３】
2004310726.tif 000051
【図１４】
2004310726.tif 000052
【図１５】
2004310726.tif 000053
【図１６】
2004310726.tif 000054
【図１７】
2004310726.tif 000055
【図１８】
2004310726.tif 000056
【図１９】
2004310726.tif 000057
【図２０】
2004310726.tif 000058
【図２１】
2004310726.tif 000059
【図２２】
2004310726.tif 000060
【図２３】
2004310726.tif 000061
【図２４】
2004310726.tif 000062
【図２５】
2004310726.tif 000063
【図２６】
2004310726.tif 000064
【図２７】
2004310726.tif 000065
【図２８】
2004310726.tif 000066
【図２９】
2004310726.tif 000067
【図３０】
2004310726.tif 000068
【図３１】
2004310726.tif 000069
【図３２】
2004310726.tif 000070
【図３３】
2004310726.tif 000071
【図３４】
2004310726.tif 000072
【図３５】
2004310726.tif 000073
【図３６】
2004310726.tif 000074
【図３７】
2004310726.tif 000075
【図３８】
2004310726.tif 000076
【図３９】
2004310726.tif 000077
【図４０】
2004310726.tif 000078
【図４１】
2004310726.tif 000079
【図４２】
2004310726.tif 000080
【図４３】
2004310726.tif 000081
【図４４】
2004310726.tif 000082
【図４５】
2004310726.tif 000083
【図４６】
2004310726.tif 000084
【図４７】
2004310726.tif 000085
【図４８】
2004310726.tif 000086
【図４９】
2004310726.tif 000087
【図５０】
2004310726.tif 000088
【図５１】
2004310726.tif 000089
【図５２】
2004310726.tif 000090
【図５３】
2004310726.tif 000091
【図５４】
2004310726.tif 000092
【図５５】
2004310726.tif 000093
【図５６】
2004310726.tif 000094
【図５７】
2004310726.tif 000095
【図５８】
2004310726.tif 000096
【図５９】
2004310726.tif 000097
【図６０】
2004310726.tif 000098
【図６１】
2004310726.tif 000099
【図６２】
2004310726.tif 000100
【図６３】
2004310726.tif 000101
【図６４】
2004310726.tif 000102
【図６５】
2004310726.tif 000103
【図６６】
2004310726.tif 000104
【図６７】
2004310726.tif 000105
【図６８】
2004310726.tif 000106
【図６９】
2004310726.tif 000107
【図７０】
2004310726.tif 000108
【図７１】
2004310726.tif 000109
【図７２】
2004310726.tif 000110
【図７３】
2004310726.tif 000111
【図７４】
2004310726.tif 000112
【図７５】
2004310726.tif 000113
【図７６】
2004310726.tif 000114
【図７７】
2004310726.tif 000115
【図７８】
2004310726.tif 000116
【図７９】
2004310726.tif 000117
【図８０】
2004310726.tif 000118