以下、図面を参照して、本発明の実施形態について説明する。図1は、本発明の実施形態の画像処理システムの一例を示す図である。
画像処理システム100は、画像処理装置10、および端末装置20を有する。画像処理装置10と、端末装置20とは互いに専用線やVPN(Virtual Private Network)などの閉域網のネットワークNを介して、互いが通信可能に接続される。画像処理装置10と端末装置20とはインターネット(Internet)を介して互いに通信可能に接続してもよい。また、画像処理システム100は、図1に示していない他の装置や端末を備えていてもよい。
端末装置20は、スマートフォンやタブレット、携帯電話などの情報処理装置である。端末装置20は、例えば、ノート型PC(パーソナルコンピュータ)やPDA(Personal Digital Assistant)、ウェアラブル端末などであってもよい。端末装置20は、本人確認証30の画像を撮像し、撮像した本人確認証30の画像を、ネットワークNを介して画像処理装置10へ送信する。
本人確認証30は、運転免許証、健康保険証、在留カード、特別永住者証明書、マイナンバーカード、パスポート(Passport)などの身分証明書である。本人確認証30は、例えば、氏名、住所、生年月日、性別、顔写真など、個人を特定する情報を記載、貼付したものであってもよい。
画像処理装置10は、端末装置20から送信された画像に基づいて、正確に文字認識処理を行うために、文字認識処理に先立って、画像を補正する後述の画像補正処理を行う。なお、画像処理装置10が画像補正処理を行う画像は、画像処理装置10自身が撮像した画像であってもよいし、カメラなどの他の装置からメモリカードなどの搬送可能な記憶媒体を介して入手した画像であってもよい。また、端末装置20が画像処理装置10に送信する画像は、該端末装置20とは別のカメラなどで撮像して端末装置20に記憶させた画像でもよい。
<実施形態の画像処理装置および端末装置の一例>
図2は、画像処理装置10および端末装置20の機能構成の一例を示す図である。図2の例では、画像処理装置10と端末装置20とは、ネットワークNを介して接続されている。図2の例では、画像処理装置10に対し、1つの端末装置20が接続されているがこの限りではなく、1以上の複数の端末装置20が画像処理装置10に対し接続される。画像処理装置10は、端末装置20において撮像された画像を補正するように画像補正処理を行う。画像処理装置10は、例えば、プロセッサおよびメモリを含むコンピュータにより実現される。
図2の例に示すように、端末装置20は、撮像部21および通信部22を含む。撮像部21は、本人確認証30を撮像し、本人確認証30の画像を取得する。通信部22は、撮像部21が撮像した本人確認証30の画像を、ネットワークNを介して画像処理装置10へ送信する。
次に、画像処理装置10について説明する。画像処理装置10は、主処理部11、影補正処理部12、明度補正処理部13、記憶部14、表示部15、入力部16および通信部17を含む。主処理部11は、認識処理および実施形態に係る画像補正処理を含む、画像処理装置10が行う各種処理、並びに各種制御を行う。
影補正処理部12は、端末装置20で撮像された画像の影を補正する。影補正処理部12は、影の補正を行うために、白黒輝度閾値設定部31、色相グループ分類部32、明度平均化部33および黒画素補完部34を含む。
影補正処理部12は、ビットマップ情報の各画素のRGB値をHSV(色相:Hue・彩度:Saturation・明度:Value)値に変換する。RGB値をHSV値に変換する方法については、公知の変換方法を採用することができるため説明を省略する。また、影補正処理部12は、ビットマップ情報の各画素のRGB値をHSL(色相:Hue・彩度:Saturation・輝度:Lightness)値に変換する。RGB値をHSL値に変換する方法については、公知の変換方法を採用することができるため説明を省略する。
明度補正処理部13は、影補正処理部12により補正された画像の明度を補正する。明度補正処理部13は、明度の補正を行うために、ピーク値取得部41、明度補正テーブル選択部42および明度調整部43を含む。
白黒輝度閾値設定部31は、白色に近似するグループの平均輝度と、黒色に近似するグループの平均輝度と、の平均に基づき、白色に近似するグループと、黒色に近似するグループと、の閾値を白黒輝度閾値として設定する。白黒輝度閾値設定部31が白黒輝度閾値を設定する白黒輝度閾値設定処理については後述する。
色相グループ分類部32は、端末装置20で撮像された画像の画素を、同類の色相ごとのグループに分類する。なお、色相グループ分類部32は、端末装置20で撮像された画像のみならず、画像処理装置10自体が撮像した画像や、他の装置で撮像された画像の画素を同類の色相ごとのグループに分類することもできる。色相グループ分類部32による同類の色相ごとのグループに分類する色相グループ分類処理については後述する。
明度平均化部33は、色相グループ分類部32により同類の色相ごとにグループ分けされた画像の画素ごとの明度を平均化する。明度平均化部33は、画素ごとにRGB値からHSV値に変換して得られるV(明度)の値を平均化する。明度平均化部33によるV(明度)平均化処理については後述する。
黒画素補完部34は、白黒輝度閾値設定部31により設定された白黒輝度閾値に基づき、判別対象の対象画素が黒色に近似するグループの画素であると判別された場合に、明度平均化部33により平均化された画像の各画素のうち、対象画素の周囲に存在する黒色に近似するグループに属する画素の数または配置のうち少なくとも1つ以上の条件に基づき、対象画素を黒色に近似するグループの画素に補完する。黒画素補完部34による黒画素補完処理については後述する。
ピーク値取得部41は、明度平均化部33により明度が平均化された画像の明度の情報に基づいてヒストグラムを作成して、明度のピーク値を取得する。ピーク値取得部41によるV(明度)ヒストピーク値取得処理については後述する。
明度補正テーブル選択部42は、複数の明度補正テーブルの中から、ピーク値取得部41が取得した明度のピーク値に対応する明度補正テーブルを選択する。明度補正テーブルは、V(明度)のピーク値に応じて、OCRに基づき画像認識を行うのに最適なV(明度)となるように、V(明度)を補正する補正値を有する。明度補正テーブルおよび明度補正テーブル選択部42による明度補正テーブル選択処理については後述する。
明度調整部43は、ピーク値取得部41が取得した明度のピーク値に基づいて、画像の明度を増減する。具体的には、明度調整部43は、明度補正テーブル選択部42により選択された明度補正テーブルに基づいて、画像の明度補正を行う。明度調整部43による明度調整処理については後述する。
記憶部14は、明度補正テーブルを含む各種テーブルを記憶する。表示部15は、例えばLCD(Liquid crystal display)などのディスプレイであり、主処理部11の制御のもとで表示画面の表示を行う。入力部16は、例えばキーボード、マウスなどの入力インタフェースであり、主処理部11の制御のもとで画像処理装置10の操作者の操作入力を受け付ける。例えば、入力部16には読取キーが含まれる。通信部17は、端末装置20から送信された本人確認証30の画像を、ネットワークNを介して受信する。
次に、図3〜図21を参照して、実施形態の処理の流れの一例について説明する。図3は、画像処理装置10が実行する本人確認証受付処理の一例を示すフローチャートである。
はじめに、主処理部11は、撮像分の各本人確認証30に対する繰り返し処理を開始する(ステップS101)。主処理部11は、入力部16を介して認識依頼の操作を受け付けたか否かを判定する(ステップS102)。認識依頼の操作を受け付けていない場合(ステップS102のNO)には、認識依頼の操作を受け付けるまで処理は待機となる。
認識依頼の操作を受け付けた場合(ステップS102のYES)には、主処理部11、影補正処理部12または明度補正処理部13が後述の画像認識処理(ステップS103)を行う。画像認識処理が行われると、主処理部11は、本人確認証の認識結果の修正指示を受け付け(ステップS104)、受け付けた修正指示に基づき認識結果の修正を行う(ステップS105)。
主処理部11は、全ての本人確認証30について本人確認証の認識結果を取得したか否か判定する(ステップS106)。全ての本人確認証30について本人確認証の認識結果を取得していない場合には、処理はステップS102に戻り、全ての本人確認証30について本人確認証の認識結果を取得するまでの間、ステップS101〜S106の処理が繰り返し実行される。全ての本人確認証30について取得した場合には、主処理部11は、認識結果を画像処理装置10の記憶部14に記録する(S107)。ステップS107の処理が終了すると、本人確認証受付処理は終了となる。
図4は、画像処理装置10が実行する画像認識処理の一例を示すフローチャートである。図4の画像認識処理は、図3のステップS103において行われる処理である。はじめに、主処理部11は、本人確認証30の画像を取得する(ステップS201)。ステップS201の処理では、主処理部11は、端末装置20から送信された本人確認証30の撮像画像を取得する。
影補正処理部12は、端末装置20で撮像された画像の影を補正する動的影補正処理(ステップS202)を行う。動的影補正処理については後述する。続いて、明度補正処理部13は、動的影補正処理により補正された画像の明度を補正する自動明度補正処理を行う(ステップS203)。自動明度補正処理については後述する。主処理部11は、動的影補正処理および自動明度補正処理に基づき補正された本人確認証30の画像をOCRに基づき画像認識を行い(ステップS204)、本人確認証の認識結果を得る。OCRに基づき画像認識を行う方法については、公知の方法を採用することができるため説明を省略する。そして、主処理部11は、本人確認証の認識結果を表示部15の認識結果画面に表示する(ステップS205)。ステップS205の処理が終了すると、画像認識処理は終了となる。
図5は、画像処理装置10が実行する動的影補正処理の一例を示すフローチャートである。図5の動的影補正処理は、図4のステップS202において行われる処理である。はじめに、影補正処理部12は、ステップS201で取得した本人確認証30の画像からRGB値で表現されたビットマップ情報を取得する(ステップS301)。
影補正処理部12は、ステップS301で取得したビットマップ情報の各画素のRGB値をHSV値に変換する(ステップS302)。また、影補正処理部12は、ステップS301で取得したビットマップ情報の各画素のRGB値をHSL値に変換する(ステップS303)。
ステップS303の処理の後、白黒輝度閾値設定部31は、後述の白黒輝度閾値設定処理を行う(ステップS304)。ステップS304の処理の後、色相グループ分類部32は、後述の色相グループ分類処理を行う(ステップS305)。ステップS305の処理の後、色相グループ分類部32は、後述の類似グループ統合処理を行う(ステップS306)。ステップS306の処理の後、明度平均化部33は、後述の動的影補正メイン処理を行う(ステップS307)。ステップS307の処理の後、黒画素補完部34は、後述の黒画素補完処理を行う(ステップS308)。ステップS308の処理が終了すると、動的影補正処理は終了となる。
図6は、画像処理装置10が実行する白黒輝度閾値設定処理の一例を示すフローチャートである。図6の白黒輝度閾値設定処理は、図5のステップS304において行われる処理である。はじめに、白黒輝度閾値設定部31は、白色に近似するグループの平均輝度を設定する(ステップS401)。ステップS401の処理では、白黒輝度閾値設定部31は、HSLのL(輝度)の値が予め定義された白色に近似するグループの閾値より高いか否かを全ての画素において判定する。白黒輝度閾値設定部31は、HSLのL(輝度)の値が予め定義された所定の閾値より高いと判定された画素のHSLのL(輝度)の値を平均することで、白色に近似するグループの平均輝度を設定する。
同様に、白黒輝度閾値設定部31は、黒色に近似するグループの平均輝度を設定する(ステップS402)。ステップS402の処理では、白黒輝度閾値設定部31は、HSLのL(輝度)の値が予め定義された黒色に近似するグループの閾値より低いか否かを全ての画素において判定する。白黒輝度閾値設定部31は、HSLのL(輝度)の値が予め定義された所定の閾値より低いと判定された画素のHSLのL(輝度)の値を平均することで、黒色に近似するグループの平均輝度を設定する。
白黒輝度閾値設定部31は、各対象画素分繰り返し処理を開始する(ステップS403)。白黒輝度閾値設定部31は、対象画素が有彩色か否かを判定する(ステップS404)。ステップS404の処理では、白黒輝度閾値設定部31は、対象画素のHSVのS(彩度)とV(明度)の値が、予め定義された有彩色の範囲に入るか否かを判定する。予め定義された有彩色の範囲は、画像処理装置10の記憶部14などに予め記憶させておく。対象画素が有彩色である場合(ステップS404のYES)には、処理はステップS409に進む。
対象画素が無彩色である場合(ステップS404のNO)には、白黒輝度閾値設定部31は、対象画素が白色に近似するグループの範囲であるか否かを判定する(ステップS405)。ステップS405の処理では、白黒輝度閾値設定部31は、ステップS401で設定した白色に近似するグループの平均輝度の値と、対象画素のHSLのL(輝度)の値と、の差が、予め定義された白色に近似するグループの範囲内であるか否かを判定する。対象画素が白色に近似するグループの範囲である場合(ステップS405のYES)には、白黒輝度閾値設定部31は、白色に近似するグループの平均輝度を更新し(ステップS406)、ステップS409の処理に進む。
対象画素が白色に近似するグループの範囲ではない場合(ステップS405のNO)には、白黒輝度閾値設定部31は、対象画素が黒色に近似するグループの範囲であるか否かを判定する(ステップS407)。ステップS407の処理では、白黒輝度閾値設定部31は、ステップS402で設定した黒色に近似するグループの平均輝度と、対象画素のHSLのL(輝度)と、の差が、予め定義された黒色に近似するグループの範囲内であるか否かを判定する。対象画素が黒色に近似するグループの範囲である場合(ステップS407のYES)には、白黒輝度閾値設定部31は、黒色に近似するグループの平均輝度を更新し(ステップS408)、ステップS409の処理に進む。対象画素が黒色に近似するグループの範囲ではない場合(ステップS407のNO)には、処理はステップS409に進む。
白黒輝度閾値設定部31は、ビットマップ情報に含まれる全ての画素に対してステップS403〜S408の処理を終了したら、繰り返し処理を終了する(ステップS409)。白黒輝度閾値設定部31は、ステップS406で更新した白色に近似するグループの平均輝度と、ステップS408で更新した黒色に近似するグループの平均輝度と、を加算して2で割った値を、白黒輝度閾値として設定する(ステップS410)。ステップS410の処理が終了すると、白黒輝度閾値設定処理は終了となる。
図7は、画像処理装置10が実行する色相グループ分類処理の一例を示すフローチャートである。図7の色相グループ分類処理は、図5のステップS305において行われる処理である。はじめに、色相グループ分類部32は、色相グループリストを初期化する(ステップS501)。色相グループリストは、複数の色相グループがセットされているリストである。例えば、色相グループ分類部32は、色相グループリストに120個の色相グループをセットする。色相グループ分類部32は、各対象画素分繰り返し処理を開始する(ステップS502)。
色相グループ分類部32は、対象画素が黒グループであるか否かを判定する(ステップS503)。ステップS503の処理では、色相グループ分類部32は、対象画素のHSLのL(輝度)の値が、ステップS410で設定した白黒輝度閾値より低く(すなわち、白黒輝度閾値の黒側にあり)、かつ、対象画素のHSVのS(彩度)とV(明度)の値が予め定義された黒色の範囲に入るか否かを判定する。予め定義された黒色の範囲は、画像処理装置10の記憶部14などに予め記憶させておく。
対象画素が黒グループである場合(ステップS503のYES)には、処理はステップS510に進む。対象画素が黒グループではない場合(ステップS503のNO)には、色相グループ分類部32は、後述の所属する色相グループ探索処理を行う(ステップS504)。所属する色相グループ探索処理では、対象画素が属する色相グループを探索する。
色相グループ分類部32は、所属する色相グループ探索処理の結果、色相グループに所属していないかを判定する(ステップS505)。色相グループに所属していない場合(ステップS505のYES)には、色相グループ分類部32は、色相グループリストに色相グループを新設し、基準となるHSVのH(色相)の値(以下、「基準のH(色相)の値」とも呼ぶ」を設定する(ステップS506)。ステップS506の処理では、色相グループ分類部32は、対象画素のH(色相)の値を新設した色相グループの基準のH(色相)の値を設定する。なお、色相グループが新設された場合、色相グループ分類部32は、該当色相グループの基準のH(色相)の値を、色相平均、最大H(色相)、最小H(色相)としてそれぞれ設定する。ステップS506の処理が終了すると、処理はステップS509に進む。
色相グループリストに所属する色相グループである場合(ステップS505のNO)には、色相グループ分類部32は、色相グループリストの該当色相グループの基準となるHSVのH(色相)の値を平均化する(ステップS507)。ステップS507の処理では、色相グループ分類部32は、色相グループリストの該当色相グループに含まれる全てのH(色相)の値を該当色相グループの合計画素数で割って平均した結果を該当色相グループの色相平均として設定する。該当色相グループの合計画素数は、後述のステップS509で更新される値である。
色相グループ分類部32は、色相グループリストの該当色相グループの最大H(色相)と最小H(色相)を更新する(ステップS508)。ステップS508の処理では、色相グループ分類部32は、基準のH(色相)の値が、該当色相グループに含まれる最大H(色相)より大きいか、および、該当色相グループに含まれる最小H(色相)より小さいかを判定する。例えば、色相グループ分類部32は、基準のH(色相)の値が、該当色相グループに含まれる最大H(色相)より大きいと判定した場合には、その基準のH(色相)の値を最大H(色相)として更新する。同様に、色相グループ分類部32は、基準のH(色相)の値が、該当色相グループに含まれる最小H(色相)より小さいと判定した場合には、その基準のH(色相)の値を最小H(色相)として更新する。色相グループ分類部32は、更新した最大H(色相)と最小H(色相)を記憶する。
色相グループ分類部32は、色相グループリストの該当色相グループの合計画素数および該当色相グループの平均明度を更新する(ステップS509)。
色相グループ分類部32は、ビットマップ情報に含まれる全ての画素に対してステップS502〜S509の処理を終了したら、繰り返し処理を終了する(ステップS510)。ステップS510の処理が終了すると、色相グループ分類処理は終了となる。
図8は、画像処理装置10が実行する所属する色相グループ探索処理の一例を示すフローチャートである。はじめに、色相グループ分類部32は、返却する色相グループを未所属として設定する(ステップS601)。色相グループ分類部32は、対象画素に対し各色相グループ分繰り返す処理を開始する(ステップS602)。
色相グループ分類部32は、色相グループが設定なしかを判定する(ステップS603)。色相グループが設定されていない場合(ステップS603のYES)はステップS607に進む。
色相グループが設定されている場合(ステップS603のNO)には、色相グループ分類部32は、対象画素が有彩色であるか否かを判定する(ステップS604)。ステップS604の処理では、色相グループ分類部32は、対象画素のHSVのS(彩度)とV(明度)の値が、予め定義された有彩色の範囲に入るか否かに応じて、対象画素が有彩色であるか否かを判定する。予め定義された有彩色の範囲は、画像処理装置10の記憶部14などに予め記憶させておく。
対象画素が有彩色ではない場合(ステップS604のNO)には、処理はステップS607に進む。対象画素が有彩色である場合(ステップS604のYES)には、色相グループ分類部32は、対象画素が色相グループ分けレンジの範囲内であるか否かを判定する(ステップS605)。ステップS605の処理では、設定済の色相グループの基準のH(色相)の値と対象画素のH(色相)の値との差が、予め定義された色相グループ分けレンジに入るか否かを判定する。予め定義された色相グループ分けレンジは、画像処理装置10の記憶部14などに予め記憶させておく。色相グループ分けレンジは、例えば、該当色相グループの色相平均に対する所定の割合(±1〜30%など)の範囲をいう。対象画素が色相グループ分けレンジの範囲内である場合(ステップS605のYES)には、処理はステップS608に進む。
対象画素が色相グループ分けレンジの範囲内ではない場合(ステップS605のNO)には、対象画素が色相グループの最大H(色相)と最小H(色相)の範囲内であるか否かを判定する(ステップS606)。対象画素が色相グループの最大H(色相)と最小H(色相)の範囲内である場合(ステップS606のYES)には、処理はステップS608に進む。対象画素が色相グループの最大H(色相)と最小H(色相)の範囲内ではない場合(ステップS606のNO)には、色相グループ分類部32は、全ての色相グループに対してステップS602〜S606の処理を終了したら、繰り返し処理を終了し(ステップS607)、処理はステップS609に進む。
対象画素が色相グループ分けレンジの範囲内である場合(ステップS605のYES)、または、対象画素が色相グループの最大H(色相)と最小H(色相)の範囲内である場合(ステップS606のYES)には、色相グループ分類部32は、その時点で(すなわち全ての色相グループに対してステップS602〜S606の処理を行ったか否かによらず)繰り返し処理を終了し、返却する色相グループに現在の色相グループを設定する(ステップS608)。ステップS608の処理が終了すると、処理はステップS609に進む。ステップS609において、色相グループ分類部32は、所属する色相グループ返却し、所属する色相グループ探索処理を終了する。
図9は、画像処理装置10が実行する類似グループ統合処理の一例を示すフローチャートである。図9の類似グループ統合処理は、図5のステップS306において行われる処理である。はじめに、色相グループ分類部32は、各色相グループ分繰り返す処理を開始する(ステップS701)。
色相グループ分類部32は、比較元の色相グループの基準となるH(色相)と、比較先の色相グループの基準となるH(色相)と、が類似するか否かを判定する(ステップS702)。ステップS702の処理では、色相グループ分類部32は、比較元の色相グループの基準となるH(色相)と、比較先の色相グループの基準となるH(色相)と、の差が,予め定義された色相グループ分けレンジの範囲内であるか否かを判定することで、色相グループ同士のH(色相)が類似するか否かを判定する。これにより、色相グループ分類部32は、色相グループ同士のH(色相)が類似するか否かを判定する。予め定義された色相グループ分けレンジは、図8のステップS605において判定対象となる色相グループ分けレンジと同じものである。
比較元の色相グループの基準となるH(色相)と、比較先の色相グループの基準となるH(色相)と、が類似しない場合、すなわち、異なる場合(ステップS702のNO)には、処理はステップS705に進む。比較元の色相グループの基準となるH(色相)と、比較先の色相グループの基準となるH(色相)と、が類似(または同一)である場合(ステップS702のYES)には、色相グループ分類部32は、比較先の色相グループを比較元の色相グループに統合する(ステップS703)。ステップS703の処理では、色相グループ分類部32は、比較元の色相グループの色相平均と、比較元の色相グループの色相平均と、を平均した値を、統合した色相グループの色相平均として設定する。また、色相グループ分類部32は、比較元の色相グループの色相最大と、比較元の色相グループの色相最大のうち、何れか大きい方の色相最大を、統合した色相グループの色相最大として設定する。同様に、色相グループ分類部32は、比較元の色相グループの色相最小と、比較元の色相グループの色相最小のうち、何れか小さい方の色相最小を、統合した色相グループの色相最小として設定する。そして、色相グループ分類部32は、基準となるH(色相)が類似する色相グループ同士を統合した結果、重複することとなった比較先の色相グループを削除する(ステップS704)。色相グループ分類部32は、全ての色相グループに対してステップS701〜S704の処理を終了したら、繰り返し処理を終了する(ステップS705)。ステップS705の処理が終了すると、類似グループ統合処理は終了となる。
図10を参照して、図7の色相グループ分類処理および図9の類似グループ統合処理の具体例について説明する。図10は、色相グループ分類処理および類似グループ統合処理の具体例を示す図である。図10には、画素ごとにRGB値から、HSV値、HSL値にそれぞれ変換された本人確認証の画像のビットマップ情報の一部および色相グループの例を示す。ビットマップ情報の各画素の上段の値は、HSVのH(色相)の値を示し、各画素の下段の値はHSVのV(明度)の値を示す。
図10(1)を参照して、色相グループリストに色相グループが何も設定されていない場合に、有彩色である画素TP1を対象画素として、色相グループ分類処理および類似グループ統合処理が実行された場合について説明する。この場合、色相グループ分類部32は、色相グループの設定があるか否か判定する(ステップS603)。
この時点では、設定済の色相グループがないため(ステップS603のYES)、色相グループ分類部32は、画素TP1の色相グループは未所属と返却する(ステップS609)。
図7の色相グループ分類処理に戻り、色相グループは未所属であるため(ステップS505のYES)、色相グループ分類部32は、色相グループリストに、色相グループG1を新設し(ステップS506)、色相グループG1の基準のH(色相)として「200」を設定する(ステップS506)。色相グループ分類部32は、色相グループが新設された場合、同時に色相グループG1の基準のH(色相)の値「200」を、色相平均、最大H(色相)、最小H(色相)としてそれぞれ設定する。
次に、図10(2)を参照して、色相グループリストに色相グループG1が設定されている場合に、画素TP1の次(右隣)の画素TP2を対象画素として、色相グループ分類処理および類似グループ統合処理が実行された場合について説明する。この時点では、色相グループG1が設定されており(ステップS603のNO)、画素TP2のHSVのS(彩度)とV(明度)の値から有彩色であると判定された場合(ステップS604のYES)、色相グループ分類部32は、画素TP2が色相グループ分けレンジの範囲内であるか否かを判定する(ステップS605)。例えば、画素TP2が色相グループG1のグループ分けレンジの範囲内である場合(ステップS605のYES)には、色相グループ分類部32は、画素TP2に現在の色相グループとして、色相グループG1を設定する(ステップS608)。
図7の色相グループ分類処理に戻り、色相グループG1に所属しているため(ステップS505のNO)、色相グループ分類部32は、色相グループG1の画素TP1と画素TP2のHSVのH(色相)の値を合計して、合計画素数で割って平均化する(ステップS507)。具体的には、色相グループ分類部32は、画素TP1のH(色相)の値「200」と、TP2のH(色相)の値「180」の合計値「300」を合計画素数「2」で割って平均化した値「190」を色相グループG1の画素平均として設定する。
そして、色相グループ分類部32は、色相グループG1に含まれるH(色相)の値のうち、一番大きいTP1のHの値「200」を最大H(色相)として更新し、色相グループG1に含まれるH(色相)の値のうち、一番小さいTP2のHの値「180」を最小H(色相)として更新する(ステップS508)。
次に、図10(3)を参照して、色相グループリストに色相グループG1が設定されている場合に、画素TP2の次(右隣)の画素TP3を対象画素として、色相グループ分類処理および類似グループ統合処理が実行された場合について説明する。
この時点では、色相グループG1が設定されており(ステップS603のNO)、有彩色である(ステップS604)ので、色相グループ分類部32は、画素TP3が色相グループ分けレンジの範囲内であるか否か(ステップS605)、または、対象画素が色相グループの最大H(色相)と最小H(色相)の範囲内であるか否かを判定する(ステップS606)。例えば、画素TP3が色相グループG1やG2との色相グループ分けレンジの範囲外である場合には、色相グループ分類部32は、画素TP3の色相グループは未所属と返却する(ステップS609)。
図7の色相グループ分類処理に戻り、色相グループは未所属であるため(ステップS505のYES)、色相グループ分類部32は、色相グループリストに、色相グループG2を新設し(ステップS506)、色相グループG2の基準のH(色相)として「5」を設定する(ステップS506)。色相グループ分類部32は、色相グループが新設された場合、同時に色相グループG2の基準のH(色相)の値「5」を、色相平均、最大H(色相)、最小H(色相)としてそれぞれ設定する。
次に、図10(4)、(5)を参照して、類似グループ統合処理により色相グループG1および色相グループG2が統合される例について説明する。なお、図10(4)の色相グループG3は、色相グループG1やG2と異なる色相グループの一例である。
図10(4)に示すように、比較元の色相グループとして色相グループG1が設定され、比較先の色相グループとして色相グループG2が設定されている場合について説明する。色相グループ分類部32は、比較元の色相グループG1の基準となるH(色相)(色相平均)の値「190」と、比較先の色相グループG2の基準となるH(色相)(色相平均)の値「156」が類似するか否かを判定する。
色相グループ分けレンジが「±20%」である場合、比較元の色相グループG1の基準となるH(色相)(色相平均)の値「190」に対する±20%の範囲(「228」〜「152」)に比較先の色相グループG2の基準となるH(色相)(色相平均)の値「156」が含まれる。
この場合、比較元の色相グループの基準となるH(色相)と、比較先の色相グループの基準となるH(色相)と、が類似(または同一)である(ステップS702のNO)と判定され、図10(5)に示すように、色相グループ分類部32は、比較先の色相グループG2を比較元の色相グループG1に統合する(ステップS703)。ステップS703の処理では、例えば、色相グループ分類部32は、(色相グループG1の色相平均+色相グループG2の色相平均)/2を統合後の色相グループG1の色相平均として設定する。また、色相グループ分類部32は、色相グループG1と色相グループG2のうち大きい色相を統合後の色相グループG1の色相最大とて設定し、色相グループG1と色相グループG2のうち小さい色相を統合後の色相グループG1の色相最小とて設定する。この場合、色相グループ分類部32は、色相グループ同士を統合した結果、重複することとなった比較先の色相グループG2を削除し(ステップS704)、旧色相グループG3を繰り上げて色相グループG2とする。このように、色相が類似する色相グループ同士を統合することにより、処理対象の色相グループ数を減らし、処理速度の向上を図ることができる。
図11は、画像処理装置10が実行する動的影補正メイン処理の一例を示すフローチャートである。図11の動的影補正メイン処理は、図5のステップS307において行われる処理である。はじめに、明度平均化部33は、各対象画素分繰り返し処理を開始する(ステップS801)。
明度平均化部33は、対象画素が黒グループであるか否かを判定する(ステップS802)。ステップS802の処理では、明度平均化部33は、対象画素のHSLのL(輝度)の値が、図6のステップS410で設定した白黒輝度閾値より低く(すなわち、白黒輝度閾値の黒色側にあり)、かつ、対象画素のHSVのS(彩度)とV(明度)の値が予め定義された黒色の範囲に入るか否かを判定する。予め定義された黒色の範囲は、画像処理装置10の記憶部14などに予め記憶させておく。対象画素が黒グループである場合(ステップS802のYES)には、処理はステップS806に進む。
対象画素が黒グループではない場合(ステップS802のNO)には、明度平均化部33は、所属する色相グループ探索処理を行う(ステップS803)。所属する色相グループ探索処理については、図8で説明した所属する色相グループ探索処理と同様の処理であるため説明を省略する。明度平均化部33は、所属する色相グループ探索処理の結果、色相グループに所属するか否かを判定する(ステップS804)。
色相グループに所属していない場合(ステップS804のNO)には、処理はステップS806に進む。色相グループに所属している場合(ステップS804のYES)には、明度平均化部33は、後述のV(明度)平均化処理を行う(ステップS805)。
明度平均化部33は、ビットマップ情報に含まれる全ての画素に対してステップS801〜S805の処理を終了したら、繰り返し処理を終了する(ステップS806)。ステップS806の処理が終了すると動的影補正メイン処理は終了となる。
図12は、画像処理装置10が実行するV(明度)平均化処理の一例を示すフローチャートである。図12のV(明度)平均化処理は、図11のステップS805において行われる処理である。はじめに、明度平均化部33は、対象画素のRGBの最大値を算出する(ステップS901)。RGBの最大値は、本実施形態では(1)式で表される。
RGBの最大値=((HSVのV(明度)×(100−明度平均化率)+色相グループの平均明度×明度平均化率)/100・・・(1)
明度平均化率は、色相グループの明度の平均化率を規定するための所定の係数であり、例えば、1〜0の値で定義される。明度平均化率は、予め定義され画像処理装置10の記憶部14などにより予め記憶されている。なお、明度平均化率は、画像処理装置10外の任意の装置において任意に定義することもできる。色相グループの平均明度は、図7のステップS509で更新される値である。
同様に、明度平均化部33は、対象画素のRGBの最小値を算出する(ステップS902)。RGBの最小値は、本実施形態では(2)式で表される。
RGBの最小値=RGBの最大値−(HSVのS×RGBの最大値/255)・・・(2)
RGBの最大値は(1)式で算出した値である。
明度平均化部33は、対象画素のHSVのH(色相)の値が0以上60未満であるか否か判定する(ステップS903)。対象画素のHSVのH(色相)の値が0以上60未満である場合(ステップS903のYES)には、明度平均化部33は、条件1で対象画素をHSV値からRGB値へ変換する(ステップS904)。条件1は、(3)〜(5)式で表される。
R=RGBの最大値・・・(3)
G=(HSVのH(色相)×(RGBの最大値−RGBの最小値)/60)+RGBの最小値・・・(4)
B=RGBの最小値・・・(5)
RGBの最大値は(1)式、RGBの最小値は(2)式で算出した値である。
ステップS904の処理が終了すると、V(明度)平均化処理は終了となる。
対象画素のHSVのH(色相)の値が0以上60未満ではない場合(ステップS903のNO)には、明度平均化部33は、対象画素のHSVのH(色相)の値が60以上120未満であるか否かを判定する(ステップS905)。対象画素のHSVのH(色相)の値が60以上120未満である場合(ステップS905のYES)には、明度平均化部33は、条件2で対象画素をHSV値からRGB値へ変換する(ステップS906)。条件2は、(6)〜(8)式で表される。
R=((120−HSVのH(色相)の値)×(RGBの最大値−RGBの最小値)/60)+RGBの最小値・・・(6)
G=RGBの最大値・・・(7)
B=RGBの最小値・・・(8)
RGBの最大値は(1)式、RGBの最小値は(2)式で算出した値である。
ステップS906の処理が終了すると、V(明度)平均化処理は終了となる。
対象画素のHSVのH(色相)の値が60以上120未満ではない場合(ステップS905のNO)には、明度平均化部33は、対象画素のHSVのH(色相)の値が120以上180未満であるか否かを判定する(ステップS907)。対象画素のHSVのH(色相)の値が120以上180未満である場合(ステップS907のYES)には、明度平均化部33は、条件3で対象画素をHSV値からRGB値へ変換する(ステップS908)。条件3は、(9)〜(11)式で表される。
R=RGBの最小値・・・(9)
G=RGBの最大値・・・(10)
B=((色相−120)×(RGBの最大値−RGBの最小値)/60)+RGBの最小値・・・(11)
RGBの最大値は(1)式、RGBの最小値は(2)式で算出した値である。
ステップS908の処理が終了すると、V(明度)平均化処理は終了となる。
対象画素のHSVのH(色相)の値が120以上180未満ではない場合(ステップS907のNO)には、明度平均化部33は、対象画素のHSVのH(色相)の値が180以上240未満であるか否かを判定する(ステップS909)。対象画素のHSVのH(色相)の値が180以上240未満である場合(ステップS909のYES)には、明度平均化部33は、条件4で対象画素をHSV値からRGB値へ変換する(ステップS910)。条件4は、(12)〜(14)式で表される。
R=RGBの最小値・・・(12)
G=((240−色相)×(RGBの最大値−RGBの最小値)/60)+RGBの最小値・・・(13)
B=RGBの最大値・・・(14)
RGBの最大値は(1)式、RGBの最小値は(2)式で算出した値である。
ステップS910の処理が終了すると、V(明度)平均化処理は終了となる。
対象画素のHSVのH(色相)の値が180以上240未満ではない場合(ステップS909のNO)には、明度平均化部33は、対象画素のHSVのH(色相)の値が240以上300未満であるか否かを判定する(ステップS911)。対象画素のHSVのH(色相)の値が240以上300未満である場合(ステップS911のYES)には、明度平均化部33は、条件5で対象画素をHSV値からRGB値へ変換する(ステップS912)。条件5は、(15)〜(17)式で表される。
R=((色相−240)×(RGBの最大値−RGBの最小値)/60)+RGBの最小値・・・(15)
G=RGBの最小値・・・(16)
B=RGBの最大値・・・(17)
RGBの最大値は(1)式、RGBの最小値は(2)式で算出した値である。
ステップS912の処理が終了すると、V(明度)平均化処理は終了となる。
対象画素のHSVのH(色相)の値が240以上300未満ではない場合、すなわち、対象画素のHSVのH(色相)の値が300以上360以下である場合(ステップS911のNO)には、明度平均化部33は、条件6で対象画素をHSV値からRGB値へ変換する(ステップS913)。条件6は、(18)〜(20)式で表される。
R=RGBの最大値・・・(18)
G=RGBの最小値・・・(19)
B=((360−色相)×(RGBの最大値−RGBの最小値)/60)+RGBの最小値・・・(20)
RGBの最大値は(1)式、RGBの最小値は(2)式で算出した値である。
ステップS913の処理が終了すると、V(明度)平均化処理は終了となる。
以上のように、HSVのH(色相)ごとに、分類した色相グループの平均明度をRGB変換に採用することにより、H(色相)ごとに統合したV(明度)を平均化することができる。
図13を参照して、図12のV(明度)平均化処理の具体例について説明する。図13は、V(明度)平均化処理の具体例を示す図である。図13には、図8の所属する色相グループ探索処理および図9の類似グループ統合処理を経て統合されたビットマップ情報の一部および色相グループの例を示す。ビットマップ情報の各画素の上段の値は、HSVのH(色相)の値を示し、各画素の下段の値はHSVのV(明度)の値を示す。
図9の類似グループ統合処理では、明度平均化部33は、HSVのH(色相)の範囲ごとに異なる条件でHSV値からRGB値への変換を行っている(ステップS903〜S913)。この場合、各条件に含まれるRGBの最大値を算出する際に、明度平均化部33は、該当「色相グループの平均明度」を使用している(ステップS902)。すなわち、明度平均化部33は、HSVのH(色相)ごとに分類された色相グループの画素ごとにHSVのV(明度)の平均化を行い、HSV値からRGB値への変換を行っている。
例えば、図13(1)に示す、同じ色相グループNo.1に属する画素TP4〜TP7に対し、図12のV(明度)平均化処理を行う。これにより、HSVのH(色相)の値(すなわち、各画素の上段の値)を変化させずに、図13(2)に示すように、各画素TP4〜TP7のHSVのV(明度)の値(すなわち、各画素の下段の値)が平均化することができる。本実施形態におけるV(明度)の平均化とは、全ての画素を平均値に置き換えるだけでなく、平均的に均すことを含む。均す割合は、画像処理装置10の記憶部14などに予め記憶させておく。このように変換するのは、HSV色空間のうちV(明度)のみに影の影響が発生するということを利用するためである。このように、V(明度)を平均化することにより、影の影響を除去した画像を得ることができる。したがって、影の影響を抑制して本人確認証の認識に適した画像に補正することができる。
図14は、画像処理装置10が実行する黒画素補完処理の一例を示すフローチャートである。図14の黒画素補完処理は、図5のステップS308において行われる処理である。黒画素補完処理では、黒画素が周囲の色相に引っ張られて薄くなった画素を黒い画素に補完する処理が行われる。はじめに、黒画素補完部34は、図11の動的影補正メイン処理を経て画素ごとのHSVのV(明度)が平均化された後RGB値に変換されたビットマップ情報に対し、各対象画素分繰り返し処理を開始する(ステップS1001)。
黒画素補完部34は、対象画素が黒グループであるか否かを判定する(ステップS1002)。ステップS1002の処理では、黒画素補完部34は、対象画素のHSLのL(輝度)の値が、図6のステップS410で設定した白黒輝度閾値より低く(すなわち、白黒輝度閾値の黒色側にあり)、かつ、対象画素のHSVのS(彩度)とV(明度)の値が予め定義された黒色の範囲に入るか否かを判定する。予め定義された黒色の範囲は、画像処理装置10の記憶部14などに予め記憶させておく。
対象画素が黒グループである場合(ステップS1002のYES)には、処理はステップS1014に進む。対象画素が黒グループではない場合(ステップS1002のNO)には、黒画素補完部34は、対象画素の周囲の黒グループの画素数を取得する(ステップS1003)。ステップS1003の処理では、黒画素補完部34は、対象画素を中心として周囲(上下、左右、斜め)8つの画素のうち黒グループに属する画素を取得する。
黒画素補完部34は、対象画素の周囲に黒グループの画素が3つ以上あるか否かを判定する(ステップS1004)。
対象画素の周囲に黒グループの画素が3つ以上ある場合(ステップS1004のYES)には、黒画素補完部34は、対象画素を黒画素に補完する(ステップS1005)。ステップS1005の処理では、例えば、黒画素補完部34は、対象画素のRGB値を(0,0,0)に設定する。また、黒画素補完部34は、対象画素のHSVのVの値を0に設定してもよい。ステップS1005の処理が終了すると、処理はステップS1014に進む。
対象画素の周囲の黒グループの画素が3つ未満である場合(ステップS1004のNO)には、黒画素補完部34は、対象画素の周囲に黒グループの画素が2つ以上あるか否かを判定する(ステップS1006)。
対象画素の周囲に黒グループの画素が2つ以上ある場合(ステップS1006のYES)には、黒画素補完部34は、対象画素の上下の画素が黒グループの画素であるか否かを判定する(ステップS1007)。対象画素の上下の画素が黒グループの画素である場合(ステップS1007のYES)には、処理はステップS1010に進む。
対象画素の上下の画素が黒グループの画素ではない場合(ステップS1007のNO)には、黒画素補完部34は、対象画素の左右の画素が黒グループの画素であるか否かを判定する(ステップS1008)。対象画素の左右の画素が黒グループの画素である場合(ステップS1008のYES)には、処理はステップS1010に進む。
対象画素の左右の画素が黒グループの画素ではない場合(ステップS1008のNO)には、黒画素補完部34は、対象画素自身が無色の画素であるか否かを判定する(ステップS1009)。ステップS1009の処理では、黒画素補完部34は、対象画素のHSVのS(彩度)とV(明度)の値が、予め定義された無色の範囲に入るか否かに応じて、対象画素が無色であるか否かを判定する。予め定義された無色の範囲は、画像処理装置10の記憶部14などに予め記憶させておく。
対象画素自身が無色の画素ではない場合(ステップS1009のNO)には、処理はステップS1014に進む。対象画素自身が無色の画素である場合(ステップS1009のYES)には、処理はステップS1010に進む。
ステップS1010では、黒画素補完部34は、対象画素を黒い画素に補完する(ステップS1010)。ステップS1010の処理では、例えば、黒画素補完部34は、対象画素のRGB値を(0,0,0)に設定する。また、黒画素補完部34は、対象画素のHSVのVの値を0に設定してもよい。ステップS1010の処理が終了すると、処理はステップS1014に進む。
対象画素の周囲の黒グループの画素が2つ未満である場合(ステップS1006のNO)には、黒画素補完部34は、対象画素の周囲に黒グループの画素が1つ以上あるか否かを判定する(S1011)。対象画素の周囲に黒グループの画素がない場合(ステップS1011のNO)には、処理はステップS1014に進む。
対象画素の周囲に黒グループの画素が1つ以上ある場合、すなわち、対象画素の周囲に黒グループの画素が1つある場合(ステップS1011のYES)には、黒画素補完部34は、対象画素自身が無色の画素であるか否かを判定する(ステップS1012)。ステップS1012の処理では、黒画素補完部34は、対象画素のHSVのS(彩度)とV(明度)の値が、予め定義された無色の範囲に入るか否かに応じて、対象画素が無色であるか否かを判定する。予め定義された無色の範囲は、画像処理装置10の記憶部14などに予め記憶させておく。
対象画素自身が無色の画素である場合(ステップS1012のYES)には、黒画素補完部34は、対象画素を黒い画素に補完する(ステップS1013)。ステップS1013の処理では、例えば、黒画素補完部34は、対象画素のRGB値を(0,0,0)に設定する。また、黒画素補完部34は、対象画素のHSVのVの値を0に設定してもよい。ステップS1013の処理が終了すると、処理はステップS1014に進む。対象画素自身が無色の画素ではない場合(ステップS1012のNO)には、処理はステップS1014に進む。
黒画素補完部34は、ビットマップ情報に含まれる全ての画素に対してステップS1001〜S1013の処理を終了したら、繰り返し処理を終了する(ステップS1014)。ステップS1014の処理が終了すると黒画素補完処理は終了となる。黒画素補完処理を行うことにより、動的影補正メイン処理などによって黒い画素が周囲の色相に引っ張られて薄くなった画素を補完することができる。
図15は、画像処理装置10が実行する自動明度補正処理の一例を示すフローチャートである。図15の自動明度補正処理は、図4のステップS203において行われる処理である。はじめに、明度補正処理部13は、HSVのV(明度)に応じて異なる補正値を有する複数の明度補正テーブル1〜Nを記憶部14から取得する(ステップS1101)。
明度補正処理部13は、図12のV(明度)平均化処理により変換されたビットマップ情報の各画素のRGB値をHSV(色相・彩度・明度)値に変換する(ステップS1102)。RGB値をHSV値に変換する方法については、公知の変換方法を採用することができるため説明を省略する。ピーク値取得部41は、後述のV(明度)ヒストピーク値取得処理を行う(ステップS1103)。明度補正テーブル選択部42は、後述の明度補正テーブル選択処理を行う(ステップS1104)。明度調整部43は、後述の明度調整処理を行う(ステップS1105)。
明度補正処理部13は、ステップS1105で明度を調整(増減)した各画素のHSV(色相・彩度・明度)値をRGB値に変換する(ステップS1106)。HSV値をRGB値に変換する方法については、公知の変換方法を採用することができるため説明を省略する。ステップS1106の処理が終了すると、自動明度補正処理は終了となる。
図16は、画像処理装置10が実行するV(明度)ヒストピーク値取得処理の一例を示すフローチャートである。図16のV(明度)ヒストピーク値取得処理は、図15のステップS1103において行われる処理である。はじめに、ピーク値取得部41は、全画素からV(明度)ごとに画素数をカウントして、HSVのV(明度)の値のヒストグラム(以下、「V(明度)ヒストグラム」と呼ぶ)を作成する(ステップS1201)。ピーク値取得部41は、作成したV(明度)ヒストグラムの隣接明度との加算平均をとってV(明度)方向のV(明度)ヒストグラムの平準化を行う(ステップS1202)。ピーク値取得部41は、加算平均を行ったV(明度)ヒストグラムからV(明度)のピークを検索して、検索したピーク値を取得する(ステップS1203)。ステップS1203の処理が終了すると、V(明度)ヒストグラム取得処理は終了となる。
図17は、図16のV(明度)ヒストピーク値取得処理で作成されたV(明度)ヒストグラムの一例を示す図である。図17に示すように、V(明度)ヒストグラムには、V(明度)ごとに画素数の情報を有する。ピーク値取得部41は、V(明度)ヒストグラムから、ピーク値Pを検索して取得する。
図18は、画像処理装置10が実行する明度補正テーブル選択処理の一例を示すフローチャートである。図18の明度補正テーブル選択処理は、図15のステップS1104において行われる処理である。はじめに、明度補正テーブル選択部42は、ステップS1203で取得したV(明度)ヒストグラムのV(明度)のピーク値のV(明度)を判定する(ステップS1301)。
明度補正テーブル選択部42は、ステップS1101で取得した複数の明度補正テーブルの中から、ステップS1301で判定したV(明度)ヒストグラムのV(明度)のピーク値のV(明度)に対応する明度補正テーブルを選択する(ステップS1302)。V(明度)ヒストグラムのV(明度)のピーク値のV(明度)と、対応する明度補正テーブルと、の関係は、画像処理装置10の記憶部14に記憶されている。明度補正テーブルを選択する方法の具体例については後述する。ステップS1302の処理が終了すると、明度補正テーブル選択処理は終了となる。
図19は、画像処理装置10が実行する明度調整処理の一例を示すフローチャートである。図19の明度調整処理は、図15のステップS1105において行われる処理である。はじめに、明度調整部43は、各対象画素分繰り返し処理を開始する(ステップS1401)。明度調整部43は、対象画素に対する補正前のHSVのV(明度)を取得する(S1402)。
明度調整部43は、ステップS1402で取得した補正前のHSVのV(明度)の値と、ステップS1302で選択した明度補正テーブルとに基づいて、V(明度)補正値を取得する(ステップS1403)。明度調整部43は、補正前のHSVのV(明度)にステップS1403で取得したV(明度)補正値を加算した値を補正後のHSVのV(明度)としてV(明度)を調整する(ステップS1404)。
明度調整部43は、ビットマップ情報に含まれる全ての画素に対してステップS1401〜S1404の処理を終了したら、繰り返し処理を終了する(ステップS1405)。ステップS1405の処理が終了すると明度調整処理は終了となる。
図20および図21を参照して、図18の明度補正テーブル選択処理および図19の明度調整処理の具体例について説明する。図20は、明度補正テーブルの一例を示す図である。図20には、明度補正テーブルの一例として、3つの明度補正テーブル1〜3の組を示している。図21は、図20の各明度補正テーブルをグラフ化した図である。図21(1)〜(3)は、それぞれ図20の明度補正テーブル1〜3をグラフ化した図である。図21(1)〜(3)のグラフは、ぞれぞれ、横軸が基準明度値、縦軸が補正後明度値である。また、実線は補正後明度値、点線が基準明度値である。
明度補正テーブル選択部42は、V(明度)ヒストグラムのV(明度)のピーク値のV(明度)に対応する明度補正テーブルを選択する(ステップS1302)
例えば、暗い画素が多いV(明度)ヒストグラムのV(明度)のピーク値のV(明度)は低くなるので、明度補正テーブル選択部42は、V(明度)の値が明るくなる明度補正テーブルとして明度補正テーブル1を選択する(ステップS1403)。例えば、補正前のV(明度)の値が「54」である場合、明度調整部43は、明度補正テーブル1のV(明度)補正値として「+24」を取得する(ステップS1403)。そして、明度調整部43は、補正前のHSVのV(明度)「54」に、取得したV(明度)補正値「+24」を加算した値「78」を補正後のV(明度)としてV(明度)を調整する(S1404)。V(明度)の値が明るくなる明度補正テーブルを選択して、V(明度)を加算した場合、V(明度)は高くなる。
また、明るすぎる画素が多いV(明度)ヒストグラムのV(明度)のピーク値のV(明度)は高くなるので、明度補正テーブル選択部42は、V(明度)の値が暗くなる明度補正テーブルとして、例えば、明度補正テーブル3を選択する(ステップS1302)。例えば、補正前のV(明度)の値が「54」である場合、明度調整部43は、明度補正テーブル3のV(明度)補正値として「−2」を取得する(ステップS1403)。そして、明度調整部43は、補正前のHSVのV(明度)「54」に、取得したV(明度)補正値「−2」を加算した値「52」を補正後のV(明度)としてV(明度)を調整する(S1404)。V(明度)の値が暗くなる明度補正テーブルを選択して、V(明度)を加算した場合、V(明度)は低くなる。
なお、画素の明るさが画像認識を行うのに適した明るさの画素が多いV(明度)ヒストグラムは、V(明度)のピーク値が適正範囲にあるので、明度補正テーブル選択部42は、V(明度)の値をほぼ変化させない明度補正テーブル2を選択する(ステップS1302。例えば、補正前のV(明度)の値が「54」である場合、明度調整部43は、明度補正テーブル3のV(明度)補正値として「0」を取得する(ステップS1403)。そして、明度調整部43は、補正前のHSVのV(明度)「54」に、取得したV(明度)補正値「0」を加算した値「54」を補正後のV(明度)としてV(明度)を調整する(S1404)。すなわち、画素の明るさが画像認識を行うのに適した明るさの画素が多いV(明度)ヒストグラムである場合には、明度調整部43は、V(明度)を変化させない。したがって、明度の影響を抑制して本人確認証の認識に適した画像に補正することができる。
<画像処理装置のハードウェア構成の一例>
次に、画像処理装置10のハードウェア構成の一例を説明する。図22は、画像処理装置10のハードウェア構成の一例を示す図である。図22の例に示すように、バス110に対して、プロセッサ111とRandom Access Memory(RAM)112とRead Only Memory(ROM)113と補助記憶装置114とが接続されている。また、バス110に対して、媒体接続部115と通信インタフェース116と入力インタフェース117とディスプレイインタフェース118とが接続されている。図22において、インタフェースは「IF」と表記してある。
プロセッサ111は任意の処理回路である。プロセッサ111はRAM112に展開されたプログラムを実行する。実行されるプログラムとしては、実施形態の処理を行うプログラムを適用してもよい。ROM113はRAM112に展開されるプログラムを記憶する不揮発性の記憶装置である。
補助記憶装置114は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブや半導体メモリなどを補助記憶装置114に適用してもよい。媒体接続部115は、可搬型記録媒体119と接続可能に設けられている。
可搬型記録媒体119は、可搬型のメモリや光学式ディスク(例えば、Compact Disc(CD)やDigital Versatile Disc(DVD))、半導体メモリなどであってもよい。この可搬型記録媒体119に実施形態の処理を行うプログラムが記録されていてもよい。
通信インタフェース116は、ネットワークN(図1参照)等を介して端末装置20等の各種外部装置との通信を行うインタフェースである。入力インタフェース117は、キーボード121に接続されるインタフェースである。ディスプレイインタフェース118は、ディスプレイ122と接続されるインタフェースである。
図2に示した画像処理装置10における画像処理装置10のうち、主処理部11と、影補正処理部12(白黒輝度閾値設定部31、色相グループ分類部32、明度平均化部33、および黒画素補完部34)と、明度補正処理部13(ピーク値取得部41、明度補正テーブル選択部42、および明度調整部43)と、は、プロセッサ111が与えられたプログラムを実行するにことにより、実現されてもよい。
通信部17は、通信インタフェース116により実現されてもよい。記憶部14は、RAM112や補助記憶装置114により実現されてもよい。表示部15は、ディスプレイ122により実現されてもよい。入力部16は、キーボード121により実現されてもよい。
RAM112、ROM113、補助記憶装置114および可搬型記録媒体119は、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
なお、本発明は上述した実施形態そのままに限定されるものではなく、実施段階でのその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素を適宜組み合わせても良い。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。このような、発明の趣旨を逸脱しない範囲内において種々の変形や応用が可能である。
上述の実施形態において図4を参照して説明した画像認識処理では、画像処理装置10は動的影補正処理(ステップS202)の後に自動明度補正処理(ステップS203)を行うが、画像処理装置10が行う画像認識処理の内容はこの限りではない。例えば、ステップS202の動的影補正処理を省略して、ステップS203の自動明度補正処理を行ってもよい。これにより、影がない画像については、本人確認証認識に適した明度に補正することにより、処理速度の向上を図ることができる。
なお、ステップS202の動的影補正処理を省略する場合には、図15の自動明度補正処理のステップS1101の前に、明度補正処理部13は、図5のステップS301と同様のビットマップ情報取得処理を行う。
更に、上述の実施形態における画像処理システム100では、画像処理装置10が、画像の明度を補正(調整)した後に明度を補正した画像に対する認識処理(図4のステップS204およびS205の処理)を行っている。しかしながら、画像処理システム100は、画像処理装置10とは別の外部装置が図4のステップS204およびS205の処理を行うものであってもよい。また、画像処理システム100は、例えば、図4のフローチャートにおける動的影補正処理(ステップS202)および自動明度補正処理(ステップS203)を端末装置20において行うものであってもよい。