(57)【特許請求の範囲】
【請求項１】
スキャン画像に含まれる影領域と影以外の領域との照度差に対する画像補正を行う非接触スキャナ装置であって、
スキャンを行った日時に基づいて、前記照度差に対する画像補正の補正係数を画素毎に決定する補正係数決定部と、
前記補正係数決定部が決定した前記補正係数に基づいて、前記照度差に対する画像補正を行う補正画像生成部と、
スキャンを行った日時に基づいて、前記画像補正の要否を判定し、前記画像補正が必要と判定した場合は、前記照度差に対する画像補正を行うよう前記補正画像生成部を制御し、前記画像補正が不要と判定した場合は、前記照度差に対する画像補正を行わないよう前記補正画像生成部を制御する補正要否判定部と、
を具備することを特徴とする非接触スキャナ装置。
【請求項２】
前記補正係数決定部は、
前記スキャンを行った日時の太陽の位置情報および太陽光線を遮蔽する遮蔽物の位置情報を用いて前記影領域を算出する影領域算出部と、
前記算出した影領域の輝度値を大きくする、あるいは、前記算出した影領域以外の領域の輝度値を小さくする前記補正係数を生成する補正係数生成部と、
を具備することを特徴とする請求項１に記載の非接触スキャナ装置。
【請求項３】
前記補正要否判定部は、前記影領域算出部が算出した影領域に基づいて、前記スキャン画像に影領域と影以外の領域とが含まれるか否かを判定し、含まれると判定した場合は、前記照度差に対する画像補正を行うよう前記補正画像生成部を制御し、含まれないと判定した場合は、前記照度差に対する画像補正を行わないよう前記補正画像生成部を制御することを特徴とする請求項２に記載の非接触スキャナ装置。
【請求項４】
前記補正係数と太陽の位置情報とを対応付けて複数記憶する補正係数記憶部と、
明度が既知のスキャン対象物をスキャンする測定用スキャンのスキャン画像の各画素の輝度値に基づいて前記補正係数を生成し、前記生成した補正係数を前記測定用スキャン時の太陽の位置情報と対応付けて前記補正係数記憶部に書き込む補正係数生成部と、
前記画像補正が必要な日時を記憶する要補正日時記憶部と、
前記測定用スキャンのスキャン画像の各画素の輝度値のばらつきに基づいて前記画像補正が必要な日時を決定して前記要補正日時記憶部に書き込む要補正日時決定部と、
をさらに具備し、
前記補正係数決定部は、前記補正係数記憶部が記憶する補正係数から、前記スキャン時の太陽の位置情報と前記測定用スキャン時の太陽の位置情報とに基づいて補正係数を選択して読み出し、
前記補正要否判定部は、前記スキャンを行った日時に基づいて前記要補正日時記憶部から補正の要否を示す情報を読み出し、読み出した情報に基づいて前記画像補正の要否を判定する
ことを特徴とする請求項１に記載の非接触スキャナ装置。
【請求項５】
スキャン画像に含まれる影領域と影以外の領域との照度差に対する画像補正を行う非接触スキャナ装置の画像補正方法であって、
前記非接触スキャナ装置が、スキャンを行った日時に基づいて、前記画像補正の要否を判定する補正要否判定ステップと、
前記補正要否判定ステップにて前記画像補正が必要と判定した場合のみ、前記非接触スキャナ装置が、前記スキャンを行った日時に基づいて、前記照度差に対する画像補正の補正係数を決定する補正係数決定ステップと、
前記補正要否判定ステップにて前記画像補正が必要と判定した場合のみ、前記非接触スキャナ装置が、前記補正係数決定ステップにて決定した前記補正係数に基づいて、前記照度差に対する画像補正を行う補正画像生成ステップと、
を具備することを特徴とする画像補正方法。
【請求項６】
コンピュータに、非接触スキャナ装置のスキャン画像に含まれる影領域と影以外の領域との照度差に対する画像補正を実行させるプログラムであって、
スキャンを行った日時に基づいて、前記画像補正の要否を判定する補正要否判定ステップと、
前記補正要否判定ステップにて前記画像補正が必要と判定した場合のみ、前記スキャンを行った日時に基づいて、前記照度差に対する画像補正の補正係数を決定する補正係数決定ステップと、
前記補正要否判定ステップにて前記画像補正が必要と判定した場合のみ、前記補正係数決定ステップにて決定した前記補正係数に基づいて、前記照度差に対する画像補正を行う補正画像生成ステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非接触スキャナ装置、画像補正方法およびプログラムに関する。
【背景技術】
【０００２】
２次元の画像データを生成する装置の一つに、置き台の上方に支柱で固定されたヘッドから、置き台に置かれたスキャン対象物を撮像して画像データを生成する非接触スキャナ装置がある。非接触スキャナ装置は、例えば、金融機関等における帳票の読み取りなどに用いられる。非接触スキャナ装置は、フラットベッドスキャナ装置と異なりスキャン対象物をガラス台に密着させる必要が無いので、スキャン時の操作が容易であり、かつ、スキャン対象物を傷めるおそれが少ない。
一方、非接触スキャナ装置は、周囲の照明等の光源の変化等による照度変動の影響を受け易い。この照度変動の影響を軽減する方法の一つに、照度変動を検出して読み取りゲイン値を再設定する方法がある。例えば、特許文献１では、読み取り処理を行った際に、画像データの階調値を測定し、測定した階調値と前回読み取り時の階調値とを比較して照度変動の有無を判断し、読み取りゲイン値を再設定する方法が示されている。
【０００３】
しかし、この読み取りゲイン値を再設定する方法では、読み取り範囲全体の照度が均一に変動する場合には対応できるが、読み取り範囲の一部のみに直射日光が当たるなど、読み取り範囲内の各部で照度が異なる場合には対応できない。特に非接触スキャナ装置では、支柱やヘッドの影が読み取り範囲に含まれることにより、影領域と影以外の領域とで照度が異なってしまう。
そこで、読み取り範囲に含まれる影領域を算出し、影領域に応じた画像補正を行うことが考えられる。例えば、特許文献２では、航空写真に含まれる影を除去する方法が示されている。この方法では、建物等の高さ情報や、太陽の位置情報に基づいて、影領域を算出し、算出した影領域の画素を削除する。非接触スキャナ装置でも、ヘッドや支柱の位置情報や、太陽の位置情報に基づいて、ヘッドや支柱の影領域を算出し、算出した影領域に応じた画像補正を行うことが考えられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１７８３５２号公報
【特許文献２】特開平１０−２６９３４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、読み取り範囲に含まれる影領域を算出し、影領域に応じた画像補正を行うと、それにより演算量が増加する。上記のように、ヘッドや支柱の大きさや高さの情報や太陽の位置情報に基づいてヘッドや支柱の影領域を算出して画像補正を行う場合、例えば、太陽の位置情報を算出する処理や、太陽の位置情報に基づいて影領域を算出する処理や、スキャン画像の各画素が影領域に含まれるか否かを判定し、判定結果に基づいて画素毎の補正係数を決定する処理や、補正係数に基づいて画素毎に補正を行う処理を行う必要があり、演算量が増加する。この演算量の増加により、処理時間や消費電力が増大するおそれがある。
【０００６】
本発明は、このような事情を考慮してなされたものであり、その目的は、より少ない演算量で影の影響に対応した画像を生成できる非接触スキャナ装置、画像補正方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
［１］この発明は上述した課題を解決するためになされたもので、本発明の一態様による非接触スキャナ装置は、スキャン画像に含まれる影領域と影以外の領域との照度差に対する画像補正を行う非接触スキャナ装置であって、スキャンを行った日時に基づいて、前記照度差に対する画像補正の補正係数を決定する補正係数決定部と、前記補正係数決定部が決定した前記補正係数に基づいて、前記照度差に対する画像補正を行う補正画像生成部と、スキャンを行った日時に基づいて、前記画像補正の要否を判定し、前記画像補正が必要と判定した場合は、前記照度差に対する画像補正を行うよう前記補正画像生成部を制御し、前記画像補正が不要と判定した場合は、前記照度差に対する画像補正を行わないよう前記補正画像生成部を制御する補正要否判定部と、を具備することを特徴とする。
【０００８】
［２］また、本発明の一態様による非接触スキャナ装置は上述の非接触スキャナ装置であって、前記補正係数決定部は、前記スキャンを行った日時の太陽の位置情報および太陽光線を遮蔽する遮蔽物の位置情報を用いて前記影領域を算出する影領域算出部と、前記算出した影領域の輝度値を大きくする、あるいは、前記算出した影領域以外の領域の輝度値を小さくする前記補正係数を生成する補正係数生成部と、を具備することを特徴とする。
【０００９】
［３］また、本発明の一態様による非接触スキャナ装置は上述の非接触スキャナ装置であって、前記補正要否判定部は、前記影領域算出部が算出した影領域に基づいて、前記スキャン画像に影領域と影以外の領域とが含まれるか否かを判定し、含まれると判定した場合は、前記照度差に対する画像補正を行うよう前記補正画像生成部を制御し、含まれないと判定した場合は、前記照度差に対する画像補正を行わないよう前記補正画像生成部を制御することを特徴とする。
【００１０】
［４］また、本発明の一態様による非接触スキャナ装置は上述の非接触スキャナ装置であって、前記補正係数と太陽の位置情報とを対応付けて複数記憶する補正係数記憶部と、明度が既知のスキャン対象物をスキャンする測定用スキャンのスキャン画像の各画素の輝度値に基づいて前記補正係数を生成し、前記生成した補正係数を前記測定用スキャン時の太陽の位置情報と対応付けて前記補正係数記憶部に書き込む補正係数生成部と、前記画像補正が必要な日時を記憶する要補正日時記憶部と、前記測定用スキャンのスキャン画像の各画素の輝度値のばらつきに基づいて前記画像補正が必要な日時を決定して前記要補正日時記憶部に書き込む要補正日時決定部と、をさらに具備し、前記補正係数決定部は、前記補正係数記憶部が記憶する補正係数から、前記スキャン時の太陽の位置情報と前記測定用スキャン時の太陽の位置情報とに基づいて補正係数を選択して読み出し、前記補正要否判定部は、前記スキャンを行った日時に基づいて前記要補正日時記憶部から補正の要否を示す情報を読み出し、読み出した情報に基づいて前記画像補正の要否を判定することを特徴とする。
【００１１】
［５］また、本発明の一態様による画像補正方法は、スキャン画像に含まれる影領域と影以外の領域との照度差に対する画像補正を行う非接触スキャナ装置の画像補正方法であって、前記非接触スキャナ装置が、スキャンを行った日時に基づいて、前記画像補正の要否を判定する補正要否判定ステップと、前記補正要否判定ステップにて前記画像補正が必要と判定した場合のみ、前記非接触スキャナ装置が、前記スキャンを行った日時に基づいて、前記照度差に対する画像補正の補正係数を決定する補正係数決定ステップと、前記補正要否判定ステップにて前記画像補正が必要と判定した場合のみ、前記非接触スキャナ装置が、前記補正係数決定ステップにて決定した前記補正係数に基づいて、前記照度差に対する画像補正を行う補正画像生成ステップと、を具備することを特徴とする。
【００１２】
［６］また、本発明の一態様によるプログラムは、コンピュータに、非接触スキャナ装置のスキャン画像に含まれる影領域と影以外の領域との照度差に対する画像補正を実行させるプログラムであって、スキャンを行った日時に基づいて、前記画像補正の要否を判定する補正要否判定ステップと、前記補正要否判定ステップにて前記画像補正が必要と判定した場合のみ、前記スキャンを行った日時に基づいて、前記照度差に対する画像補正の補正係数を決定する補正係数決定ステップと、前記補正要否判定ステップにて前記画像補正が必要と判定した場合のみ、前記補正係数決定ステップにて決定した前記補正係数に基づいて、前記照度差に対する画像補正を行う補正画像生成ステップと、を実行させるプログラムである。
【発明の効果】
【００１３】
本発明によれば、より少ない演算量で、影の影響に対応した画像を生成できる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態における非接触スキャナ装置１の外形を示す概略外形図である。
【図２】同実施形態における非接触スキャナ装置１の構成を示す概略ブロック図である。
【図３】同一日中の時刻の違いによる太陽位置の違い、および、それに伴う影の位置の違いを示す図である。
【図４】月日の変化による太陽位置の違い、および、それに伴う影の位置の違いを示す図である。
【図５】同実施形態において非接触スキャナ装置１がスキャンを行う処理手順を示すフローチャートである。
【図６】同実施形態における非接触スキャナ装置１の一変形例である非接触スキャナ装置２の構成を示す概略ブロック図である。
【図７】本発明の第２の実施形態における非接触スキャナ装置６の構成を示す概略ブロック図である。
【図８】同実施形態において要補正日時記憶部５７が記憶する要補正日時情報のデータ構成を示すデータ構成図である。
【図９】同実施形態において非接触スキャナ装置６が測定用スキャンを行う処理手順を示すフローチャートである。
【図１０】同実施形態において、非接触スキャナ装置６が要求対応スキャンを行う処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１５】
＜第１の実施形態＞
以下、図面を参照して、本発明の実施の形態について説明する。
図１は、本発明の第１の実施形態における非接触スキャナ装置１の外形を示す概略外形図である。同図において、非接触スキャナ装置１は、ヘッド４０１と支柱４０２と本体４０３とを具備する。本体４０３の上面は、置き台４３１を構成する。さらに本体４０３は、電源ボタンや、スキャン実行ボタンや、解像度等の設定を行う選択ボタンおよび設定ボタンや、スキャン結果出力端子等を具備するが、図示および説明を省略する。
ヘッド４０１は、撮像装置を具備し、スキャン対象物を撮像して生画像を生成する。ここでいう「生画像」とは、まだ画像補正されていないスキャン画像である。
支柱４０２は、ヘッド４０１を本体４０３の上方に固定する。
本体４０３は、ＣＰＵおよびメモリを具備し、ヘッド４０１が撮像する生画像を補正する。本体４０３において、置き台４３１は、スキャン対象物を置く台である。
【００１６】
図２は、非接触スキャナ装置１の構成を示す概略ブロック図である。
同図において非接触スキャナ装置１は、生画像生成部１１と配置情報記憶部１２と太陽位置取得部１３と補正係数決定部１４と補正要否判定部１５と静的補正画像生成部２１と補正画像生成部２２とを具備する。補正係数決定部１４は、影領域算出部１４１と補正係数生成部１４２とを具備する。
配置情報記憶部１２は、ヘッド４０１（図１）の位置情報や支柱４０２（図１）の位置情報や置き台４３１（図１）の位置情報や、非接触スキャナ装置１が設置されている部屋の窓の位置情報を記憶する。配置情報記憶部１２は、これらの位置情報を、例えば非接触スキャナ装置１が設置されている部屋のある１点を原点とし、東をＸ軸、北をＹ軸、上をＺ軸とする三次元座標にて記憶する。例えば、支柱４０２の中心軸の上部の座標と底部の座標とをこの３次元座標にて記憶しておき、併せて、支柱の幅を記憶しておく。また、これらの位置情報は、例えば、非接触スキャナ装置１を設置する際に、非接触スキャナ装置１の管理者により入力される。以下では、ヘッド４０１や支柱４０２や部屋の壁が直射日光を遮蔽する遮蔽物となる場合について説明するが、反射光や間接光など直射日光以外の光が遮蔽されて影が生じる場合も、影の位置を算出可能な限りにおいて本実施形態の処理を適用できる。
【００１７】
生画像生成部１１は、スキャン対象物を撮像して生画像を生成する。生画像生成部１１は、生成した生画像を静的補正画像生成部２１に出力する。
静的補正画像生成部２１は、生画像生成部１１から出力される生画像の、置き台の突き当て辺（左辺および上辺）部分にできる微小な影（静的な影）を補正する静的補正を行って、静的補正画像を生成する。静的補正画像生成部２１は、生成した静的補正画像を補正画像生成部２２に出力する。
太陽位置取得部１３は、現在（スキャン実行時）の日時に基づいて太陽の位置を算出し、算出した太陽の位置を示す太陽位置情報を影領域算出部１４１に出力する。太陽位置情報取得部１３は、例えば、配置情報記憶部１２が記憶する座標の原点を原点とし、真北と太陽の方向との角度を上から見て右回りを正の角として表現した角度（例えば、太陽が真東に位置するときは９０度）と、水平方向から太陽の方向への仰角とで記憶する。
影領域算出部１４１は、配置情報記憶部１２が記憶する各位置情報を読み出し、これらの位置情報と太陽位置取得部１３から出力される太陽位置情報とに基づいて、スキャン画像に含まれる影領域を算出する。影領域算出部１４１は、算出した影領域を示す影領域情報を、補正要否判定部１５と補正係数生成部１４２とに出力する。ここでいう「影領域」とは、非接触スキャナ装置１が設置されている部屋の壁あるいはヘッド４０１などの影となり照度が低い領域である。
【００１８】
補正要否判定部１５は、影領域算出部１４１から出力される影領域情報に基づいて、スキャン画像に影領域と影以外の領域とが含まれるか否かを判定する。スキャン画像に影領域と影以外の領域とが含まれると判定した場合は、この影領域と影以外の領域との照度差に対する画像補正を行う必要があると判定する。この場合、補正要否判定部１５は、補正係数生成部１４２が補正係数を生成するよう制御し、この補正係数に基づいて、補正画像生成部２２が画像補正を行うよう制御する。
一方、スキャン画像に影領域と影以外の領域とが含まれないと判定した場合は、影領域と影以外の領域との照度差に対する画像補正を行う必要はないと判定する。この場合、補正要否判定部１５は、補正係数生成部１４２が補正係数を生成しないよう制御し、補正画像生成部２２が画像補正を行わないよう制御する。
具体的には、補正要否判定部１５は、補正係数生成部１４２と補正画像生成部２２とに制御信号を出力することにより、これらの制御を行う。
【００１９】
補正係数生成部１４２は、補正要否判定部１５によって補正係数を生成するよう制御された場合は、影領域算出部１４１から出力される影領域情報に基づいて補正係数を生成する。具体的には、影領域の輝度を大きくする補正係数を生成する。なお、補正係数生成部１４２が、影以外の領域の輝度を小さくする補正係数を生成するようにしてもよい。あるいは、補正係数生成部１４２が、影領域の輝度を大きくし、かつ、影以外の領域の輝度を小さくする補正係数を生成するようにしてもよい。補正係数生成部１４２は、生成した補正係数を補正画像生成部２２に出力する。
補正画像生成部２２は、補正要否判定部１５によって画像補正を行うように制御された場合は、補正係数生成部１４２から出力される補正係数に基づいて、静的補正画像生成部２１から出力される静的補正画像に対して画像補正を行う。補正画像生成部２２は、画像補正の結果得られる画像をスキャン結果の画像として非接触スキャナ装置１の外部に出力する。一方、補正要否判定部１５によって画像補正を行わないように制御された場合は、補正画像生成部２２は、静的補正画像生成部２１から出力される静的補正画像を、スキャン結果の画像として非接触スキャナ装置１の外部に出力する。
【００２０】
生画像生成部１１は、ヘッド４０１（図１）を本体４０３（図１）内のＣＰＵが制御することにより実現される。太陽位置取得部１３と補正係数決定部１４と補正画像生成部２２と補正要否判定部１５とは、本体４０３内のＣＰＵが、同じく本体４０３内のメモリからプログラムを読み出して実行することにより実現される。配置情報記憶部１２は、本体４０３内のメモリ上に実現される。
【００２１】
非接触スキャナ装置１は、ヘッド４０１（図１）や支柱４０２（図１）や部屋の壁が直射日光を遮ることによって読み取り範囲内に生じる影の影響を補正する。その際、太陽の位置は日時により変化するので、非接触スキャナ装置１は、スキャンを実行する日時（月日および時刻）に基づいて太陽位置情報を取得し、取得した太陽位置情報を用いて補正を行う。
【００２２】
図３は、同一日中の時刻の違いによる太陽位置の違い、および、それに伴う影の位置の違いを示す図である。
同図において、非接触スキャナ装置１が机９０２上に置かれており、窓９０１から差し込む直射日光により、読み取り範囲内にヘッド４０１および支柱４０２の影が生じる。
例えば、午前１０時の太陽位置Ｕ２０１からの直射日光により、影Ｈ２０１が生じる。また、１２時（正午）の太陽位置Ｕ２０２からの直射日光により、影Ｈ２０２が生じる。影Ｈ２０１と影Ｈ２０２とでは、太陽位置の違いにより影の位置が互いに異なる。
一方、午後３時の太陽位置Ｕ２０３の場合は、窓９０１から差し込む直射日光は読み取り範囲に当たらず、スキャン画像全体が、壁による影の領域となる。この場合は、スキャン画像に影以外の領域は含まれないので、影領域と影以外の領域との照度差に対する補正を行う必要はない。そこで、影領域算出部１４１が、スキャン画像全体が影領域となることを算出し、補正要否判定部１５は、画像補正が不要であると判定する。そして、補正要否判定部１５は、補正係数生成部１４２が補正係数を生成しないよう制御し、補正画像生成部が画像補正を行わないよう制御する。これにより、各処理に要する時間や非接触スキャナ装置１の負荷や消費電力を削減できる。
【００２３】
図４は、月日の変化による太陽位置の違い、および、それに伴う影の位置の違いを示す図である。
太陽位置Ｕ３０１と太陽位置Ｕ３０２とは、共に午前１０時の太陽位置だが、太陽位置Ｕ３０１は６月の位置であるのに対し、太陽位置Ｕ３０２は１２月の太陽位置であり位置が異なる。これにより、太陽位置Ｕ３０１に対する影Ｈ３０１と太陽位置Ｕ３０２に対する影Ｈ３０２とでは、影の位置が互いに異なる。
【００２４】
次に、非接触スキャナ装置１の動作について説明する。
図５は、非接触スキャナ装置１がスキャンを行う処理手順を示すフローチャートである。非接触スキャナ装置１は、スキャン実行ボタンが押下されると、スキャンを開始する。
ステップＳ１において、生画像生成部１１は、ヘッド４０１（図１）の撮像装置を用いて撮像を行い、生画像を生成する。生画像生成部１１は、生成した生画像を静的補正画像生成部２１に出力する。
ステップＳ２において、静的補正画像生成部２１は、生画像生成部１１から出力される生画像に対して静的補正を行い、静的補正画像を生成する。静的補正画像生成部２１は、生成した静的補正画像を補正画像生成部２２に出力する。
ステップＳ３において、太陽位置取得部１３は、現在の日時（スキャン実行ボタンが押下された日時）に基づいて、太陽の位置を取得する。太陽位置取得部１３は、例えば、日時から太陽の位置を算出する式を予め記憶し、この式を用いて太陽の位置を算出する。あるいは、太陽位置取得部１３が、予め、日時と太陽の位置とを対応付けて記憶するようにしてもよい。太陽位置取得部１３は、現在の日時に最も近い日時に対応付けられた太陽の位置を読み出すことにより、太陽の位置を取得する。太陽位置取得部１３は、取得した太陽の位置を示す太陽位置情報を影領域算出部１４１に出力する。
【００２５】
ステップＳ４において、影領域算出部１４１は、ヘッド４０１の位置情報や、支柱４０２（図１）の位置情報や置き台４３１（図１）の位置情報や、非接触スキャナ装置１が設置されている部屋の窓の位置情報を配置情報記憶部１２から読み出し、これらの位置情報と太陽位置取得部１３から出力される太陽位置情報とに基づいて、レイトレーシングの手法により、スキャン画像上の影領域を示す影領域情報を生成する。
例えば、影領域算出部１４１は、支柱４０２の中心軸の上部の座標と底部の座標とを配置情報記憶部１２から読み出して支柱４０２の高さを算出し、この高さと太陽の仰角とから支柱の影の長さを算出する。そして、支柱４０２の中心軸の底部の座標と置き台４３１の座標と太陽の方向とから、置き台４３１上の支柱４０２の影の向きを算出する。さらに、支柱４０２の幅を影の幅として、置き台４３１上での支柱４０２の影領域を算出する。そして、影領域算出部１４１は、置き台４３１の位置とスキャン画像の画素との対応関係を予め記憶しておき、この対応関係に基づいてスキャン画像に含まれる支柱４０２の影領域を決定する。他の遮蔽物についても同様に、遮蔽物の座標と置き台の座標と太陽の位置とに基づいて影領域を算出し、スキャン画像に含まれる影領域を決定し、影領域情報を生成する。
影領域算出部１４１は、生成した影領域情報を補正係数生成部１４２と補正要否判定部１５とに出力する。
ステップＳ５において、補正要否判定部１５は、影領域算出部１４１から出力される影位置情報に基づいて、スキャン画像に影領域と影以外の領域とが含まれるか否かを判定することにより、画像補正の要否を判定する。画像補正が必要と判定した場合（ステップＳ５：ＹＥＳ）はステップＳ６に進み、画像補正が不要と判定した場合（ステップＳ５：ＮＯ）はステップＳ１１に進む。
【００２６】
ステップＳ６において、補正係数生成部１４２は、影領域算出部１４１から出力される影領域情報に基づいて、スキャン画像の画素毎の補正係数を生成する。直射日光が当たらないために、影領域の画素は影以外の領域の画素よりも輝度値が小さくなる。そこで、補正係数生成部１４２は、影領域の画素の輝度値をＸ（０＜Ｘ≦１．０）分の１倍する補正係数を生成する。一方、光照射領域の画素に対しては、輝度値をそのままとする補正係数（例えば、輝度値を１倍する補正係数）を生成する。
ここで、Ｘは、影領域の輝度と光照射領域の輝度との比に応じた値であり、例えば、補正係数生成部１４２が予めＸの値を記憶しておく。あるいは、補正係数生成部１４２が、静的補正画像生成部２１から出力される静的補正画像の、影領域の輝度値の平均を光照射領域の輝度値の平均で除してＸの値を算出するようにしてもよい。
あるいは、補正係数生成部１４２が、天気に応じてＸの値を決定するようにしてもよい。曇りや雨のときは、晴れのときよりも影が薄くなる。そして、一般には、曇りや雨のときは、晴れのときよりも湿度が高くなる。そこで、補正係数生成部１４２が湿度の入力を受け、湿度が高いときはＸの値が大きくなり、湿度が高いときはＸの値が小さくなるように、Ｘの値を算出あるいは選択するようにしてもよい。
補正係数生成部１４２は、生成した補正係数を補正画像生成部２２に出力する。
【００２７】
ステップＳ７において、補正画像生成部２２は、静的補正画像生成部２１から出力される静的補正画像の各画素に対して、補正係数生成部１４２から出力される補正係数を乗じて補正画像を生成する。
ステップＳ８において、補正画像生成部２２は、生成した補正画像を非接触スキャナ装置１の外部に出力する。その後、非接触スキャナ装置１は、スキャンを終了する。
ステップＳ１１において、補正画像生成部２２は、静的補正画像生成部２１から出力された静的補正画像を非接触スキャナ装置１の外部に出力する。その後、非接触スキャナ装置１は、スキャンを終了する。
【００２８】
以上のように、非接触スキャナ装置１は、スキャン画像に影領域が含まれるか否かを判定し、含まれると判定した場合は影領域の画素の輝度値を大きくする補正を行う。このように、補正が必要な場合のみ補正を行うことにより、より少ない演算量で影の影響に対応した画像を生成できる。
なお、太陽位置取得部１３が、予め、日時と太陽位置情報とを対応付けて記憶している場合、非接触スキャナ装置１がスキャンを行う時間帯が予め決まっているときは、太陽位置取得部１３が当該時間帯内の日時と対応位置情報とのみを記憶するようにしてもよい。例えば、非接触スキャナ装置１が９時から１５時の間のみ銀行窓口業務で使用される場合、太陽位置取得部１３は、例えば１６時の太陽位置情報を記憶する必要はなく、記憶量を削減することができる。
なお、補正画像生成部２２が、上述したスキャン画像に含まれる影領域と影以外の領域との照度差に対する画像補正に加えて、画像全体に対する補正を行うようにしてもよい。例えば、図５のステップＳ５で、補正要否判定部１５が、スキャン画像全体が影領域であると判定した場合、ステップＳ１１に進み、補正画像生成部２２は、スキャン画像に含まれる影領域と影以外の領域との照度差に対する画像補正を行わない。この場合に、補正画像生成部２２が、スキャン画像全体の輝度値を大きくする補正を行うことにより、全体が影領域で暗いスキャン画像が明るくなって見易くなる。
【００２９】
なお、非接触スキャナ装置が、補正が必要な日時を予め記憶しておくようにしてもよい。図６は、非接触スキャナ装置１の一変形例である非接触スキャナ装置２の構成を示す概略ブロック図である。
同図において、非接触スキャナ装置２は、生画像生成部１１と配置情報記憶部１２と太陽位置取得部３３と補正係数決定部３４と補正要否判定部３５と静的補正画像生成部２１と補正画像生成部２２と要補正日時記憶部３７とを具備する。補正係数決定部３４は、影領域算出部３４１と補正係数生成部１４２とを具備する。
同図において、図２の各部に対応する部分には同一の符号（１１、１２、１４２、２１、２２）を付し、説明を省略する。また、非接触スキャナ装置２の外形は、図１と同様である。
【００３０】
要補正日時記憶部３７は、補正が必要な日時を記憶する。補正が必要な日時は、例えば影領域算出部３４１が予め算出して要補正日時記憶部３７に書き込んでおく。例えば、影領域算出部３４１は、配置情報記憶部１２から窓の位置情報と置き台４３１（図１）の位置情報とを読み出し、太陽位置取得部３３から太陽位置情報を取得して、日光が壁に遮られずに非接触スキャナ装置２の置き台４３１に照射する時間帯を日毎に算出する。影領域算出部３４１は、算出した時間帯を、補正が必要な時間帯として、「７月１２日：８時０２分〜１４時５５分」というように、日毎に要補正日時記憶部３７に書き込んでおく。
補正要否判定部３５は、現在（スキャン実行時）の日時と、要補正日時記憶部３７が記憶する補正が必要な時間帯とを対比して、補正の要否を判定する。補正が不要と判定した場合、補正要否判定部３５は、図２の補正要否判定部１５と同様に、補正係数生成部１４２が補正を生成しないように制御し、補正画像生成部２２が補正を行わないように制御する。加えて、補正が不要と判定した場合、補正要否判定部３５は、太陽位置取得部が太陽位置を取得しないように制御し、影領域算出部が影領域を算出しないように制御する。これにより、非接触スキャナ装置１の場合よりも処理時間をさらに短縮し、非接触スキャナ装置２の負荷を軽減できる。
また、太陽位置取得部３３が、予め、日時と太陽位置情報とを対応付けて記憶している場合、要補正日時記憶部３７が記憶する補正が必要な日時以外の日時の太陽位置情報は記憶する必要がなく、記憶量を削減できる。
【００３１】
＜第２の実施形態＞
図７は、本発明の第２の実施形態における非接触スキャナ装置６の構成を示す概略ブロック図である。
同図において非接触スキャナ装置６は、生画像生成部５１と太陽位置取得部５３と要補正日時決定部５８と補正係数生成部５４２と要補正日時記憶部５７と補正係数記憶部５９と補正要否判定部５５と補正係数決定部５４と静的補正画像生成部６１と補正画像生成部２２とを具備する。
同図において、図１の各部に対応する部分には同一の符号（２２）を付し、説明を省略する。
非接触スキャナ装置６は、生画像生成部５１と太陽位置取得部５３と要補正日時決定部５８と補正係数生成部５４２と要補正日時記憶部５７と補正係数記憶部５９とを用いて、測定用スキャンを行う。測定用スキャンは、明度が既知のスキャン対象物をスキャンして、補正係数と画像補正が必要な日時の情報とを予め生成しておくためのスキャンであり、スキャン画像を外部に出力しない。非接触スキャナ装置６は、例えば４分毎など、予め定められた時間間隔で測定用スキャンを行う。また、非接触スキャナ装置６は、ユーザによりスキャン実行ボタンが押下されると、生画像生成部５１と要補正日時記憶部５７と補正係数記憶部５９と補正要否判定部５５と補正係数決定部５４と補正画像生成部２２とを用いてスキャンを行い、スキャン画像を外部に出力する。
以下では、ユーザによりスキャン実行ボタンが押下された際に非接触スキャナ装置６が行うスキャンを、「要求対応スキャン」という。
【００３２】
生画像生成部５１は、要求対応スキャン時と、測定用スキャン時とに、スキャン対象物を撮像して生画像を生成する。生画像生成部５１は、生成した生画像を静的補正画像生成部６１に出力する。
静的補正画像生成部６１は、生画像生成部５１から出力される生画像に対して静的補正を行い、静的補正画像を生成する。そして、要求対応スキャン時には、静的補正画像生成部６１は、静的補正画像を補正画像生成部２２に出力する。一方、測定用スキャン時には、静的補正画像生成部６１は、静的補正画像を要補正日時決定部５８と補正係数生成部５４２とに出力する。
太陽位置取得部５３は、要求対応スキャン時や測定用スキャン時の日時に基づいて太陽の位置を算出し、算出した太陽の位置を示す太陽位置情報を、要求対応スキャン時は補正係数決定部５４に出力し、測定用スキャン時は補正係数生成部５４２に出力する。なお、図５のステップＳ３で説明したのと同様、太陽位置取得部１３が、予め、日時と太陽の位置とを対応付けて記憶し、現在の日時に基づいて太陽の位置を読み出すようにしてもよい。
【００３３】
要補正日時記憶部５７は、日時と補正の要否とを対応付けた要補正日時情報を記憶する。
要補正日時決定部５８は、測定用スキャン時に静的補正画像生成部６１から出力される静的補正画像の画素の輝度値のばらつきに基づいて補正の要否を判定し、判定結果と現在（測定用スキャン時）の日時に基づいて要補正日時記憶部５７の要補正日時情報を更新する。また、要補正日時決定部５８は、補正の要否を示す情報を補正係数生成部５４２に出力する。
補正係数生成部５４２は、要補正日時決定部５８から補正が必要であることを示す情報が出力されると、静的補正画像に基づいて補正係数を生成する。補正係数生成部５４２は、生成した補正係数を、太陽位置取得部５３から出力される太陽の位置と対応付けて補正係数記憶部５９に書き込む。
【００３４】
補正要否判定部５５は、要求対応スキャン時の日時をキーとして要補正日時決定部を検索して補正要否情報を読み出し、補正の要否を判定する。補正要否判定部５５は、判定結果を補正画像生成部２２と補正係数決定部５４とに出力する。
補正係数決定部５４は、補正要否判定部５５から補正が必要であることを示す情報が出力されると、太陽位置取得部５３から出力される太陽位置情報をキーして補正係数記憶部を検索し、補正係数を読み出すことにより補正係数を決定する。
補正画像生成部２２は、補正要否判定部５５から補正が必要であることを示す情報が出力されると、補正係数決定部５４から出力される補正係数に従って静的補正画像に対して画像補正を行い、補正した画像をスキャン画像として非接触スキャナ装置６の外部に出力する。一方、補正画像生成部２２は、補正要否判定部５５から補正が不要であることを示す情報が出力されると、静的補正画像をスキャン画像として非接触スキャナ装置６の外部に出力する。
【００３５】
図８は、要補正日時記憶部５７が記憶する要補正日時情報のデータ構成を示すデータ構成図である。同図に示すように、要補正日時記憶部５７は日時と補正の要否とを対応付けて記憶する。要補正日時記憶部５７は、例えば過去１年分の要補正日時情報を記憶する。
補正要否判定部５５は、要補正日時記憶部５７が記憶する要補正日時情報のうち、例えば、要補正日時情報に含まれる日付と要求対応スキャン時との日付の差が１週間以内で、かつ、要求対応スキャン時に最も時間が近い要補正日時情報を読み出すなど、要求対応スキャン時の日時に近い日時の要補正日時情報を読み出し、読み出した要補正日時情報が示す補正の要否に従って補正の要否を決定する。なお、複数の要補正日時情報を読み出した場合は、補正要否判定部５５は、例えば、読み出した要補正日時情報のうち、補正が必要であることを示すものが１つでもあれば補正が必要と判定する。
なお要補正日時記憶部５７が記憶するデータの構成は図８に示すものに限らない。例えば、要補正日時記憶部５７が日時の情報に代えて、当該日時の太陽の位置と補正の要否とを対応付けて記憶するようにしてもよい。この場合、補正要否判定部５５は、要求対応スキャン時の太陽位置情報を太陽位置取得部５３から取得し、取得した太陽の位置に最も近い太陽の位置の要補正日時情報を要補正日時記憶部５７から読み出し、読み出した要補正日時情報が示す補正の要否に従って補正の要否を決定する。
【００３６】
次に、非接触スキャナ装置６の動作について説明する。
図９は、非接触スキャナ装置６が測定用スキャンを行う処理手順を示すフローチャートである。
非接触スキャナ装置６は、電源がオンされると同図に示す処理を開始する。
ステップＳ４１において、生画像生成部５１は、所定の時間間隔で予め設定された測定時刻か否かを判定する。予め設定された測定時刻であると判定した場合（ステップＳ４１：ＹＥＳ）はステップＳ４２に進み、そうでないと判定した場合（ステップＳ４１：ＮＯ）はステップＳ４１に戻る。
ステップＳ４２において、生画像生成部５１は、要求対応スキャン実行中か否かを判定する。要求対応スキャン実行中であると判定した場合（ステップＳ４２：ＹＥＳ）はステップＳ４２に戻り、要求対応スキャン実行中で無いと判定した場合（ステップＳ４２：ＮＯ）はステップＳ４３に進む。
ステップＳ４３において、生画像生成部５１は、撮像を行って生画像を生成する。この際、例えば、非接触スキャナ装置６が、明度が均一の置き台を具備し、また、ユーザが、要求対応スキャン時以外は置き台に物をおかないことにより、生画像生成部５１は、明度が均一の撮像対象を撮像して生画像を生成する。生画像生成部５１は、生成した生画像を静的補正画像生成部６１に出力する。
ステップＳ４４において、静的補正画像生成部６１は、生画像生成部１１から出力される生画像に対して静的補正を行い、静的補正画像を生成する。静的補正画像生成部６１は、生成した静的補正画像を補正係数生成部５４２と要補正日時決定部５８とに出力する。
ステップＳ４５において、要補正日時決定部５８は、静的補正画像生成部６１から出力される静的補正画像の画素の輝度値のばらつきに基づいて補正の要否を決定する。例えば、要補正日時決定部５８は、静的補正画像の輝度値の最大値と最小値との差が予め定められた閾値以下の場合は補正不要と決定し、それ以外の場合は補正が必要と決定する。補正が必要と決定した場合（ステップＳ４５：ＹＥＳ）はステップＳ４６に進み、不要と決定した場合（ステップＳ４５：ＮＯ）はステップＳ５１に進む。
ステップＳ４６において、要補正日時決定部５８は、測定用スキャン時の日時と補正が必要であること示す情報とを対応付けて要補正日時記憶部５７に書き込む。また、要補正日時決定部５８は、補正が必要であることを示す情報を補正係数生成部５４２に出力する。
ステップＳ４７において、補正係数生成部５４２は、静的補正画像生成部６１から出力される静的補正画像に基づいて画素毎に補正係数を生成する。例えば、補正係数生成部５４２は、輝度値が低い画素ほど輝度値を高くする補正係数を生成する。すなわち、測定用スキャン時に輝度値が低い画素は、影領域に含まれる画素であり、補正係数生成部５４２が、この画素に対して輝度を高くする補正係数を生成しておく。要求対応スキャン時に、補正画像生成部２２が、この補正係数を用いて画像補正を行うことにより、影領域に含まれる画素の輝度値を高くする画像補正を行うことができる。
補正係数生成部５４２は生成した補正係数を、太陽位置取得部から出力される太陽の位置と対応付けて補正係数記憶部５９に書き込む。その後ステップＳ４１に戻る。
ステップＳ５１において、要補正日時決定部５８は、測定用スキャン時の日時と補正が不要であること示す情報とを対応付けて要補正日時記憶部５７に書き込む。また、要補正日時決定部５８は、補正が不要であることを示す情報を補正係数生成部５４２に出力する。その後ステップＳ４１に戻る。
非接触スキャナ装置６は、電源がオフされるまで、同図に示す処理を行う。
【００３７】
図１０は、非接触スキャナ装置６が要求対応スキャンを行う処理手順を示すフローチャートである。非接触スキャナ装置６は、スキャナ実行ボタンが押下されると、同図に示す処理を開始する。
ステップＳ６１において、生画像生成部５１は、撮像対象物を撮像して生画像を生成する。生画像生成部５１は、生成した生画像を静的補正画像生成部６１に出力する。
ステップＳ６２において、静的補正画像生成部６１は、生画像生成部１１から出力される生画像に対して静的補正を行い、静的補正画像を生成する。静的補正画像生成部６１は、生成した静的補正画像を補正画像生成部２２に出力する。
ステップＳ６３において、補正要否判定部５５は要求対応スキャン時の日時に近い日時の要補正日時情報を要補正日時記憶部５７から読み出し、読み出した要補正日時情報が示す補正の要否に従って補正の要否を判定する。前述のように、要補正日時記憶部５７は、例えば過去１年間の要補正日時情報を記憶している。補正要否判定部は、要求対応スキャン実行時の日時に近い日時の要補正日時情報を読み出すことにより、時刻の違いによる太陽の位置の違い、および、月日の変化による太陽の位置の違いの両方が小さい日時の要補正日時情報を読み出すことができる。これにより、要求対応スキャン時の太陽の位置に対して、太陽の位置の差が小さい日時における画像補正の要否に基づいて、画像補正の要否を決定できる。
【００３８】
補正が必要と判定した場合（ステップＳ６３：ＹＥＳ）はステップＳ６４に進み、補正が不要と判定した場合（ステップＳ６３：ＮＯ）はステップＳ７１に進む。
ステップＳ６４において、太陽位置取得部５３は要求対応スキャン時の太陽の位置を取得して、この太陽の位置を示す太陽位置情報を補正係数決定部５４に出力する。また、補正要否判定部５５は補正が必要であることを示す情報を補正係数決定部５４と補正画像生成部２２とに出力する。
ステップＳ６５において、補正係数決定部５４は、太陽位置取得部５３から出力される太陽の位置に最も近い太陽の位置に対応付けられた補正係数を、補正係数記憶部５９から読み出すことにより補正係数を決定する。補正係数決定部５４は、決定した補正係数を補正画像生成部２２に出力する。
【００３９】
ステップＳ６６において、補正画像生成部２２は、補正係数決定部５４から出力される補正係数に基づいて、静的補正画像生成部６１から出力される静的補正画像に対して画像補正を行い、補正像を生成する。
ステップＳ６７において、補正画像生成部２２は、ステップＳ６６で生成した補正画像を、スキャン画像として非接触スキャナ装置６の外部に出力する。その後、同図に示す処理を終了する。
ステップＳ７１において、補正画像生成部２２は、静的補正画像生成部６１から出力される静的補正画像を、スキャン画像として非接触スキャナ装置６の外部に出力する。その後、同図に示す処理を終了する。
【００４０】
以上のように、非接触スキャナ装置６は、測定時スキャン画像に基づいて補正係数を生成するので、例えば、近くのビルが太陽光線を遮蔽するなど、遮蔽物の位置情報が得られない場合や、近くのビルの窓からの反射光や窓から入る間接光など、直射日光以外の光によってスキャン画像に影領域と影以外の領域とが含まれる場合や、窓ガラスの材質を考慮する必要があるなど影以外の領域の輝度値を算出するための演算量が多くなる場合なども、画像補正を行って影の部分と影以外の部分との輝度値の差を減少させることができる。
また、補正画像生成部２２が予め生成された補正係数を用いて画像補正を行うので、スキャン実行ボタン押下後に補正係数を生成する必要がなく、要求対応スキャン時の処理時間を短縮できる。また、補正要否判定部５５が補正必要と判定した場合のみ、補正画像生成部２２が画像補正を行うので、要求対応スキャン時に補正要否判定部５５が補正不要と判定した場合は処理時間を短縮できる。
【００４１】
なお、非接触スキャナ装置１、２、６の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００４２】
以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【産業上の利用可能性】
【００４３】
本発明は、非接触スキャナ装置、画像補正方法およびプログラムに用いて好適である。
【符号の説明】
【００４４】
１、２、６  非接触スキャナ装置
１１、５１  生画像生成部
１２  配置情報記憶部
１３、３３、５３  太陽位置取得部
１４、３４、５４  補正係数決定部
１４１、３４１  影領域算出部
１４２、５４２  補正係数生成部
１５、３５、５５  補正要否判定部
２１、６１  静的補正画像生成部
２２  補正画像生成部
３７、５７  要補正日時記憶部
５８  要補正日時決定部
５９  補正係数記憶部
４０１  ヘッド
４０２  支柱
４０３  本体
４３１  置き台
【図１】
0005434584.tif 000002
【図２】
0005434584.tif 000003
【図３】
0005434584.tif 000004
【図４】
0005434584.tif 000005
【図５】
0005434584.tif 000006
【図６】
0005434584.tif 000007
【図７】
0005434584.tif 000008
【図８】
0005434584.tif 000009
【図９】
0005434584.tif 000010
【図１０】
0005434584.tif 000011