(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024046817
(43)【公開日】2024-04-05
(54)【発明の名称】画像処理装置及びプログラム
(51)【国際特許分類】
G06T 7/187 20170101AFI20240329BHJP
H04N 1/40 20060101ALI20240329BHJP
H04N 23/60 20230101ALI20240329BHJP
【FI】
G06T7/187
H04N1/40
H04N5/232 290
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022152119
(22)【出願日】2022-09-26
(71)【出願人】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】110001210
【氏名又は名称】弁理士法人YKI国際特許事務所
(72)【発明者】
【氏名】池田 和敏
【テーマコード(参考)】
5C077
5C122
5L096
【Fターム(参考)】
5C077LL02
5C077PP25
5C077PP47
5C077PP53
5C077PQ12
5C077SS05
5C077SS06
5C122EA12
5C122FH09
5C122FH11
5C122FH16
5C122FH18
5C122HA13
5C122HA35
5C122HB01
5C122HB05
5C122HB06
5L096CA02
5L096CA23
5L096DA01
5L096FA14
5L096GA07
5L096GA13
5L096MA03
(57)【要約】
【課題】画像内の影が存在し得る領域を特定する。
【解決手段】画像処理装置はプロセッサを備える。プロセッサは、元画像10の一端部からそれに対向する他端部に向かう方向において、一端部から、一端部の輝度値よりも高い輝度値を有する画素又は画素群が現れる前までの領域ARを、影が存在し得る領域32として特定する。
【選択図】
図4K
【特許請求の範囲】
【請求項1】
プロセッサを含み、
前記プロセッサは、
元画像の一端部からそれに対向する他端部に向かう方向において、
前記一端部から、前記一端部の輝度値よりも高い輝度値を有する画素又は画素群が現れる前までの領域を、影が存在し得る領域として特定する、
画像処理装置。
【請求項2】
請求項1に記載の画像処理装置であって、
前記プロセッサは、
前記元画像の前記他端部からそれに対向する前記一端部に向かう逆方向において、
前記他端部から、前記他端部の輝度値よりも高い輝度値を有する画素又は画素群が現れる前までの領域を、影が存在し得る領域としてさらに特定する、
画像処理装置。
【請求項3】
請求項2に記載の画像処理装置であって、
前記プロセッサは、
前記元画像における、前記一端部を含む前記影が存在し得る領域の輝度値を、前記一端部の輝度値に置き換えるとともに、前記他端部を含む前記影が存在し得る領域の輝度値を、前記他端部の輝度値に置き換えることで、影画像を生成する、
画像処理装置。
【請求項4】
請求項3に記載の画像処理装置であって、
前記プロセッサは、
前記元画像における、前記一端部を含む前記影が存在し得る領域と前記他端部を含む前記影が存在し得る領域との間の領域の輝度値を、前記一端部及び前記他端部の輝度値よりも高い輝度値に置き換えることで、前記影画像を生成する、
画像処理装置。
【請求項5】
請求項1に記載の画像処理装置であって、
前記プロセッサは、
影画像を生成し、
前記影画像の生成において、前記影画像の端部の輝度値を、前記元画像の端部の輝度値に設定して、前記影画像の内側の各画素の輝度値となる対象画素の輝度値を設定する影推定処理を実行し、
前記影推定処理において、前記対象画素を前記元画像の前記一端部からそれに対向する前記他端部に移動させながら、前記対象画素の元値としての前記対象画素の前記元画像の輝度値と、前記対象画素に前記一端部側に隣り合う比較画素の値としての、前記影画像の輝度値としてすでに設定された前記比較画素の輝度値とを比較し、
前記対象画素の元値が前記比較画素の値以下である場合には、前記対象画素の輝度値を前記比較画素の値に設定し、前記対象画素の元値が前記比較画素の値より大きい場合には、前記対象画素の輝度値を前記対象画素の元値に設定する、
画像処理装置。
【請求項6】
請求項5に記載の画像処理装置であって、
前記影推定処理は、1回目の影推定処理であり、
前記1回目の影推定処理により生成された前記影画像は、現影画像であり、前記現影画像の各画素の輝度値は、現推定値であり、
前記プロセッサは、
新影画像を生成し、
前記新影画像の生成において、前記新影画像の端部の輝度値を、前記元画像の端部の輝度値に設定して、前記新影画像の内側の各画素の輝度値となる対象画素の輝度値を設定する2回目の影推定処理を実行し、
前記2回目の影推定処理において、前記対象画素を前記元画像の前記他端部からそれに対向する前記一端部に向かう逆方向に移動させながら、前記対象画素の元値としての前記対象画素の前記元画像の輝度値と、前記対象画素に前記他端部側に隣り合う比較画素の値としての、前記新影画像の輝度値としてすでに設定された前記比較画素の輝度値と、前記対象画素の現推定値としての、前記現影画像における前記対象画素の現推定値と、を比較し、
前記対象画素の現推定値が前記比較画素の値以下である場合には、前記対象画素の輝度値を前記対象画素の現推定値に設定し、
そうでない場合において、前記対象画素の元値が前記比較画素の値以下である場合には、前記対象画素の輝度値を前記比較画素の値に設定し、前記対象画素の元値が前記比較画素の値より大きい場合には、前記対象画素の輝度値を前記対象画素の元値に設定する、
画像処理装置。
【請求項7】
請求項1に記載の画像処理装置であって、
前記プロセッサは、
影画像を生成し、
前記影画像の生成において、前記影画像の端部の輝度値を、前記元画像の端部の輝度値に設定して、前記影画像の内側の各画素の輝度値となる対象画素の輝度値を設定する影推定処理を実行し、
前記影推定処理において、前記対象画素を前記元画像の前記一端部からそれに対向する前記他端部に移動させながら、前記対象画素の元値としての前記対象画素の前記元画像の輝度値と、前記対象画素の周囲の画素群である比較画素群の最小値としての、前記影画像の輝度値としてすでに設定された前記比較画素群の輝度値の最小値とを比較し、
前記対象画素の元値が前記比較画素群の最小値以下である場合には、前記対象画素の輝度値を前記比較画素群の最小値に設定し、前記対象画素の元値が前記比較画素群の最小値より大きい場合には、前記対象画素の輝度値を前記対象画素の元値に設定する、
画像処理装置。
【請求項8】
請求項7に記載の画像処理装置であって、
前記影推定処理は、1回目の影推定処理であり、
前記1回目の影推定処理により生成された前記影画像は、現影画像であり、前記現影画像の各画素の輝度値は、現推定値であり、
前記プロセッサは、
新影画像を生成し、
前記新影画像の生成において、前記新影画像の端部の輝度値を、前記元画像の端部の輝度値に設定して、前記新影画像の内側の各画素の輝度値となる対象画素の輝度値を設定する2回目の影推定処理を実行し、
前記2回目の影推定処理において、前記対象画素を前記元画像の前記他端部からそれに対向する前記一端部に向かう逆方向に移動させながら、前記対象画素の元値としての前記対象画素の前記元画像の輝度値と、前記対象画素の周囲の画素群である比較画素群の最小値としての、前記新影画像の輝度値としてすでに設定された前記比較画素群の輝度値の最小値と、前記対象画素の現推定値としての、前記現影画像における前記対象画素の現推定値と、を比較し、
前記対象画素の現推定値が前記比較画素群の最小値以下である場合には、前記対象画素の輝度値を前記対象画素の現推定値に設定し、
そうでない場合において、前記対象画素の元値が前記比較画素群の最小値以下である場合には、前記対象画素の輝度値を前記比較画素群の最小値に設定し、前記対象画素の元値が前記比較画素群の最小値より大きい場合には、前記対象画素の輝度値を前記対象画素の元値に設定する、
画像処理装置。
【請求項9】
請求項3~8のいずれか1つに記載の画像処理装置であって、
前記プロセッサは、
前記元画像と前記影画像を用いて正規化処理を行うことで、影除去画像を生成する、
画像処理装置。
【請求項10】
請求項1~8のいずれか1つに記載の画像処理装置であって、
前記プロセッサは、
前記影が存在し得る領域と、その他の領域とを区分けした画像を、表示部に表示する制御を行う、
画像処理装置。
【請求項11】
請求項3~8のいずれか1つに記載の画像処理装置であって、
前記プロセッサは、
前記影が存在し得る領域と、その他の領域とを区分けした画像を、表示部に表示する制御を行うとともに、前記表示部に表示された画像に対して、ユーザから前記影が存在し得る領域を変更する指示を受け付け、
ユーザから前記影が存在し得る領域の変更指示がされた際に、前記影画像を更新する、
画像処理装置。
【請求項12】
元画像の一端部からそれに対向する他端部に向かう方向において、
前記一端部から、前記一端部の輝度値よりも高い輝度値を有する画素又は画素群が現れる前までの領域を、影が存在し得る領域として特定する、
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及びプログラムに関する。
【背景技術】
【0002】
帳票等の紙媒体をカメラで撮影し、得られた撮影画像を保存しておいたり、利用したりすることが行われている。撮影画像には影が写り込むことがある。そのため、従来から、撮影画像内に存在する影を特定して、影を除去する技術の検討が進められている。
【0003】
特許文献1には、原稿画像を撮影することで得られた入力画像の輝度成分を示す画像において、画素の輝度成分を用いて、原稿画像のオブジェクトの色により影の写り込みの影響が少ない特異画素の領域を決定するステップと、特異画素の周辺の画素値を参照し、特異画素の領域がなくなるまで、特異画素の画素値を周辺の影が写り込んでいる領域の値に置き換える処理を繰り返すことで、入力画像の影成分を示す画像を生成するステップと、を備える情報処理方法が開示されている。
【0004】
特許文献2には、被写体を撮像して得られたカラー画像を複数の部分領域に分割した後、部分領域それぞれについて地色を検出し、部分領域それぞれの地色に基づいて被写体に対応する画像領域全体の地色濃度を示す地色濃度マップを作製し、地色濃度マップを用いて、地色が濃いほど影が濃いものとしてカラー画像における各画素値から影を除去する、画像補正装置が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第6624827号公報
【特許文献2】特許第5608511号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
画像内の影が存在し得る領域を特定する技術について検討が望まれている。
【0007】
本発明の目的は、画像内の影が存在し得る領域を特定することにある。
【課題を解決するための手段】
【0008】
請求項1に係る発明は、プロセッサを含み、前記プロセッサは、元画像の一端部からそれに対向する他端部に向かう方向において、前記一端部から、前記一端部の輝度値よりも高い輝度値を有する画素又は画素群が現れる前までの領域を、影が存在し得る領域として特定する、画像処理装置である。
【0009】
請求項2に係る発明は、請求項1に記載の画像処理装置であって、前記プロセッサは、前記元画像の前記他端部からそれに対向する前記一端部に向かう逆方向において、前記他端部から、前記他端部の輝度値よりも高い輝度値を有する画素又は画素群が現れる前までの領域を、影が存在し得る領域としてさらに特定する、画像処理装置である。
【0010】
請求項3に係る発明は、請求項2に記載の画像処理装置であって、前記プロセッサは、前記元画像における、前記一端部を含む前記影が存在し得る領域の輝度値を、前記一端部の輝度値に置き換えるとともに、前記他端部を含む前記影が存在し得る領域の輝度値を、前記他端部の輝度値に置き換えることで、影画像を生成する、画像処理装置である。
【0011】
請求項4に係る発明は、請求項3に記載の画像処理装置であって、前記プロセッサは、前記元画像における、前記一端部を含む前記影が存在し得る領域と前記他端部を含む前記影が存在し得る領域との間の領域の輝度値を、前記一端部及び前記他端部の輝度値よりも高い輝度値に置き換えることで、前記影画像を生成する、画像処理装置である。
【0012】
請求項5に係る発明は、請求項1に記載の画像処理装置であって、前記プロセッサは、影画像を生成し、前記影画像の生成において、前記影画像の端部の輝度値を、前記元画像の端部の輝度値に設定して、前記影画像の内側の各画素の輝度値となる対象画素の輝度値を設定する影推定処理を実行し、前記影推定処理において、前記対象画素を前記元画像の前記一端部からそれに対向する前記他端部に移動させながら、前記対象画素の元値としての前記対象画素の前記元画像の輝度値と、前記対象画素に前記一端部側に隣り合う比較画素の値としての、前記影画像の輝度値としてすでに設定された前記比較画素の輝度値とを比較し、前記対象画素の元値が前記比較画素の値以下である場合には、前記対象画素の輝度値を前記比較画素の値に設定し、前記対象画素の元値が前記比較画素の値より大きい場合には、前記対象画素の輝度値を前記対象画素の元値に設定する、画像処理装置である。
【0013】
請求項6に係る発明は、請求項5に記載の画像処理装置であって、前記影推定処理は、1回目の影推定処理であり、前記1回目の影推定処理により生成された前記影画像は、現影画像であり、前記現影画像の各画素の輝度値は、現推定値であり、前記プロセッサは、新影画像を生成し、前記新影画像の生成において、前記新影画像の端部の輝度値を、前記元画像の端部の輝度値に設定して、前記新影画像の内側の各画素の輝度値となる対象画素の輝度値を設定する2回目の影推定処理を実行し、前記2回目の影推定処理において、前記対象画素を前記元画像の前記他端部からそれに対向する前記一端部に向かう逆方向に移動させながら、前記対象画素の元値としての前記対象画素の前記元画像の輝度値と、前記対象画素に前記他端部側に隣り合う比較画素の値としての、前記新影画像の輝度値としてすでに設定された前記比較画素の輝度値と、前記対象画素の現推定値としての、前記現影画像における前記対象画素の現推定値と、を比較し、前記対象画素の現推定値が前記比較画素の値以下である場合には、前記対象画素の輝度値を前記対象画素の現推定値に設定し、そうでない場合において、前記対象画素の元値が前記比較画素の値以下である場合には、前記対象画素の輝度値を前記比較画素の値に設定し、前記対象画素の元値が前記比較画素の値より大きい場合には、前記対象画素の輝度値を前記対象画素の元値に設定する、画像処理装置である。
【0014】
請求項7に係る発明は、請求項1に記載の画像処理装置であって、前記プロセッサは、影画像を生成し、前記影画像の生成において、前記影画像の端部の輝度値を、前記元画像の端部の輝度値に設定して、前記影画像の内側の各画素の輝度値となる対象画素の輝度値を設定する影推定処理を実行し、前記影推定処理において、前記対象画素を前記元画像の前記一端部からそれに対向する前記他端部に移動させながら、前記対象画素の元値としての前記対象画素の前記元画像の輝度値と、前記対象画素の周囲の画素群である比較画素群の最小値としての、前記影画像の輝度値としてすでに設定された前記比較画素群の輝度値の最小値とを比較し、前記対象画素の元値が前記比較画素群の最小値以下である場合には、前記対象画素の輝度値を前記比較画素群の最小値に設定し、前記対象画素の元値が前記比較画素群の最小値より大きい場合には、前記対象画素の輝度値を前記対象画素の元値に設定する、画像処理装置である。
【0015】
請求項8に係る発明は、請求項7に記載の画像処理装置であって、前記影推定処理は、1回目の影推定処理であり、前記1回目の影推定処理により生成された前記影画像は、現影画像であり、前記現影画像の各画素の輝度値は、現推定値であり、前記プロセッサは、新影画像を生成し、前記新影画像の生成において、前記新影画像の端部の輝度値を、前記元画像の端部の輝度値に設定して、前記新影画像の内側の各画素の輝度値となる対象画素の輝度値を設定する2回目の影推定処理を実行し、前記2回目の影推定処理において、前記対象画素を前記元画像の前記他端部からそれに対向する前記一端部に向かう逆方向に移動させながら、前記対象画素の元値としての前記対象画素の前記元画像の輝度値と、前記対象画素の周囲の画素群である比較画素群の最小値としての、前記新影画像の輝度値としてすでに設定された前記比較画素群の輝度値の最小値と、前記対象画素の現推定値としての、前記現影画像における前記対象画素の現推定値と、を比較し、前記対象画素の現推定値が前記比較画素群の最小値以下である場合には、前記対象画素の輝度値を前記対象画素の現推定値に設定し、そうでない場合において、前記対象画素の元値が前記比較画素群の最小値以下である場合には、前記対象画素の輝度値を前記比較画素群の最小値に設定し、前記対象画素の元値が前記比較画素群の最小値より大きい場合には、前記対象画素の輝度値を前記対象画素の元値に設定する、画像処理装置である。
【0016】
請求項9に係る発明は、請求項3~8のいずれか1つに記載の画像処理装置であって、前記プロセッサは、前記元画像と前記影画像を用いて正規化処理を行うことで、影除去画像を生成する、画像処理装置である。
【0017】
請求項10に係る発明は、請求項1~8のいずれか1つに記載の画像処理装置であって、前記プロセッサは、前記影が存在し得る領域と、その他の領域とを区分けした画像を、表示部に表示する制御を行う、画像処理装置である。
【0018】
請求項11に係る発明は、請求項3~8のいずれか1つに記載の画像処理装置であって、前記プロセッサは、前記影が存在し得る領域と、その他の領域とを区分けした画像を、表示部に表示する制御を行うとともに、前記表示部に表示された画像に対して、ユーザから前記影が存在し得る領域を変更する指示を受け付け、ユーザから前記影が存在し得る領域の変更指示がされた際に、前記影画像を更新する、画像処理装置である。
【0019】
請求項12に係る発明は、元画像の一端部からそれに対向する他端部に向かう方向において、前記一端部から、前記一端部の輝度値よりも高い輝度値を有する画素又は画素群が現れる前までの領域を、影が存在し得る領域として特定する、処理をコンピュータに実行させるプログラムである。
【発明の効果】
【0020】
請求項1に係る発明によれば、元画像内の影が存在し得る領域が特定される。
【0021】
請求項2に係る発明によれば、元画像の他端部から延びる、影が存在し得る領域が特定される。
【0022】
請求項3に係る発明によれば、影が存在し得る領域が現われた影画像が得られる。
【0023】
請求項4に係る発明によれば、元画像の影を除去することに使用可能な影画像が得られる。
【0024】
請求項5に係る発明によれば、影が存在し得る領域が現われた影画像が得られる。
【0025】
請求項6に係る発明によれば、元画像の影を除去することに使用可能な影画像が得られる。
【0026】
請求項7に係る発明によれば、影が存在し得る領域が現われた影画像が得られる。
【0027】
請求項8に係る発明によれば、元画像の影を除去することに使用可能な影画像が得られる。
【0028】
請求項9に係る発明によれば、元画像から少なくとも一部の影が除去された影除去画像が得られる。
【0029】
請求項10に係る発明によれば、ユーザが、影が存在し得る領域を把握することが可能となる。
【0030】
請求項11に係る発明によれば、ユーザが、影が存在し得る領域を変更することが可能となる。
【0031】
請求項12に係る発明によれば、元画像内の影が存在し得る領域が特定される。
【図面の簡単な説明】
【0032】
【
図2】第1実施形態の影推定処理の流れ(1回目)を示すフローチャートである。
【
図3】第1実施形態の影推定処理の流れ(2回目以降)を示すフローチャートである。
【
図4A】第1実施形態に係る影推定処理の説明図である。
【
図4B】第1実施形態に係る影推定処理の説明図である。
【
図4C】第1実施形態に係る影推定処理の説明図である。
【
図4D】第1実施形態に係る影推定処理の説明図である。
【
図4E】第1実施形態に係る影推定処理の説明図である。
【
図4F】第1実施形態に係る影推定処理の説明図である。
【
図4G】第1実施形態に係る影推定処理の説明図である。
【
図4H】第1実施形態に係る影推定処理の説明図である。
【
図4I】第1実施形態に係る影推定処理の説明図である。
【
図4J】第1実施形態に係る影推定処理の説明図である。
【
図4K】第1実施形態に係る影推定処理の説明図である。
【
図5】第2実施形態の影推定処理(1回目)の流れを示すフローチャートである。
【
図6】第2実施形態の影推定処理(2回目以降)の流れを示すフローチャートである。
【
図7】第2実施形態に係る影推定処理の説明図である。
【
図8】第2実施形態に係る影推定処理の説明図である。
【
図9】第2実施形態に係る影推定処理の説明図である。
【
図10】第2実施形態に係る影推定処理の説明図である。
【
図11】影画像を用いた処理についての説明図である。
【
図12】影画像を用いた処理についての説明図である。
【
図13】影除去処理の実施有無の判定についての説明図である。
【
図14】影除去画像の別の取得処理の流れを示す図である。
【
図15】影除去画像のさらに別の取得処理の流れを示す図である。
【
図16】色ムラ除去画像の取得処理の流れを示す図である。
【
図17】コンピュータのハードウェア構成を例示する図である。
【発明を実施するための形態】
【0033】
<概要>
以下、本発明に係る実施形態について添付図面を確認しながら詳細に説明する。以下で述べる構成は、説明のための例示であって、画像処理装置の仕様等に合わせて適宜変更が可能である。また、以下において複数の実施形態や変形例等が含まれる場合、それらの特徴部分を適宜に組み合わせて用いることは当初から想定されている。全ての図面において同一の要素には同一の符号を付し、重複する説明を省略する。
【0034】
元画像から影画像を取得し、取得された影画像を用いて影除去画像を取得する画像処理装置についての実施形態を説明する。
【0035】
画像処理装置は、例えば書画カメラ、スマートフォンやタブレット端末等の携帯端末装置、PC(パーソナルコンピュータ)、プリンタ、複写機等である。画像処理装置は、カメラ、イメージスキャナ(画像読取装置)等の撮像装置を含んで構成された装置であってもよいし、撮像装置とは別体の装置であってもよい。画像処理装置は、カメラ、イメージスキャナ等の撮像装置によって撮像された画像に対して、以下説明する処理を行う。
【0036】
以下では、画像処理装置の処理対象となる画像を元カラー画像、元画像と言う。元カラー画像又は元画像は、一般的には、カメラやイメージスキャナ等の撮像装置から出力された画像(撮像装置の出力画像と言う)である。しかし、元カラー画像又は元画像は、撮像装置の出力画像に対して何らかの補正処理を行った後の画像であってもよい。また、撮像装置の出力画像は、何らかの補正処理がすでに施されている場合もあるし、それが施されていない場合もある。なお、元画像は、元カラー画像を処理して得られる画像であってよい。
【0037】
なお、以下説明する輝度値(または画素値)は、0(黒を表す)~255(白を表す)の範囲の値として記載してある。しかし、輝度値(または画素値)の範囲はそれに限定されるものではない。また、一般的に、輝度と明度は異なるものとして定義されるが、特許請求の範囲に記載された「輝度」、「輝度値」は、広義的に解釈されるべきであり、明度を含むものである。
【0038】
以下説明するように、画像処理装置は、影画像や影除去画像等を生成(取得)する処理を行う。これらの処理は、他の補正処理と組み合わせて実施されてもよい。例えば、影画像や影除去画像等の生成処理の途中で、他の補正処理が合わせて実行されてもよい。また、例えば、生成された影画像や影除去画像等に対して他の補正処理が実行されて、影画像や影除去画像等が更新されてもよい。
【0039】
<影除去画像の取得の流れ>
図1は、影除去画像18の取得の流れを示す図である。元カラー画像100は、帳票等の紙書類を、撮像装置で撮像して得られたカラー画像である。例えば、カラー画像は、書画カメラで撮像された画像である。なお、各図に示された画像は例示であって、模式的に表わされている。画像処理装置は、元カラー画像100にある影30を除去した影除去画像18を生成する。具体的には、以下の処理を行う。
【0040】
S100で、画像処理装置は、元カラー画像100を、輝度成分(Y)の画像10と色成分(CbCr)の画像16に分離する。ここで、輝度成分(Y)の画像10が、元画像10である。輝度成分(Y)の画像10の各画素値は、輝度値である。
【0041】
次に、S102で、画像処理装置は、元画像10から影画像12を生成する。具体的な生成処理については、以下で詳しく説明する。
【0042】
次に、S104で、画像処理装置は、元画像10と影画像12から、色なしの影除去画像14を生成する。S104は、例えば、元画像10の各輝度値を影画像12の各輝度値で除算した後、得られた各輝度値に輝度最大値(例えば255)を乗算することで、色なしの影除去画像14の各輝度値を取得する処理(正規化処理と言う)である。なお、S104で、画像処理装置は、正規化処理に加えて別の画像処理を行うこと、または、正規化処理に代えて別の画像処理を行うことで、色なし影除去画像14を取得してもよい。
【0043】
次に、S106で、画像処理装置は、色なし影除去画像14と色成分画像16を合成して、色あり影除去画像18を取得する。
【0044】
<影推定処理の概要>
以下では、
図1のS102における、元画像10から影画像12を生成(取得)する処理(影推定処理と言う)について、詳しく説明する。
【0045】
実施形態に係る影推定処理は、帳票等の紙をカメラ等で撮像する際に、紙と光源の間に浮かんだものが入り込む以外の場合では、撮像画像において影は紙の中央に現れないこと(前提A)と、紙の端部に文字、図形等が印字されていない(紙の端部が紙白である)こと(前提B)を前提としたものである。なお、ここでは、撮像画像に紙が映っているものとして説明をしたが、撮像画像に映っているものは紙に限定されない。
【0046】
そして、影推定処理は、撮像画像(元画像10)において、影を画像端部から画像内部にかかる明るさを低減させる連続的なディフェクト(欠陥)と捉え、画像端部の画素値を画像内部に伝搬することで画像内部の文字、図形等を取り除き、推定された影が表われる影画像12を生成するものである。
【0047】
影推定処理には、元画像10の横方向又は縦方向のみに影を伝搬させる形態(第1実施形態と言う)と、元画像10の横、縦、及び斜め方向に影を伝搬させる形態(第2実施形態と言う)がある。第1実施形態は、
図2、3、4A~4Kに示されており、第2実施形態は、
図5~10に示されている。
【0048】
<第1実施形態>
まず、第1実施形態について説明する。
図2は、第1実施形態の影推定処理の流れ(1回目)を示すフローチャートであり、
図3は、第1実施形態の影推定処理の流れ(2回目以降)を示すフローチャートである。ここで、1回目、2回目とは、影推定処理を2回以上行う場合における、何回目の影推定処理であるかを示す。
【0049】
以下説明する実施例(
図4A~4K)では、画像処理装置は、左側から右側に向かって対象画素を移動させて1回目の影推定処理(
図2のフローを使用、
図4C~4G)を行い、次に、右側から左側に向かって対象画素を移動させて2回目の影推定処理(
図3のフローを使用、
図4H~4J)を行う。
【0050】
図4A~4Kは、上側に、画像を例示して、下側に、上側の画像の破線を付した位置における各画素の輝度値を示す図である。
図4Aには、影がない場合の元画像(影なし元画像10CL)が例示されている。
図4Aの矢印(A)に示すように、影なし元画像10CLにおける文字や図形の部分は、局所的に輝度値が低くなる。
【0051】
図4Bには、元画像10(影30あり)が例示されている。
図4Bの矢印(B)に示すように、影がかかるとその部分の輝度値は低くなる。文字や図形とは異なり、影により元画像10の端から輝度値が低くなる。矢印(C)に示すように、元画像10の端には、文字や図形が現れないため、背景(紙等)が白い場合、元画像10の端の輝度値は、影の影響を示していることになる。すなわち、元画像10の端の輝度値に基づいて、影の影響のみを推定することができる。
【0052】
ここから、1回目の影推定処理について説明する。
図4C~4Gには、1回目の影推定処理における、生成中の影画像12Pが例示されている。1回目の影推定処理では、画像処理装置は、元画像の上下方向(縦方向)に並ぶ各画素を対象画素として、対象画素を左端部(一端部)から右端部(他端部)に向かって横方向に移動させながら、対象画素の値(影画像12Pの輝度値)を取得していく。なお、
図4C~4Gの下側には、影画像12Pの輝度値を取得済みの範囲が符号Rで示されている。
【0053】
具体的には、画像処理装置は、
図2のフローに従って1回目の影推定処理を行う。
図2のフローについて説明する。S200で、画像処理装置は、対象画素を、一端部(ここでは左端部)の画素位置に設定する。S202で、画像処理装置は、対象画素の値(影画像の輝度値)を、対象画素の元値(元画像の輝度値)とする。すなわち、影画像の左端部の画素の輝度値は、元画像の左端部の画素の輝度値となる。
【0054】
次に、S204で、画像処理装置は、比較画素を、対象画素の位置に設定する。そして、S206で、画像処理装置は、対象画素をインクリメントして、対象画素の位置を1画素分だけ右側に移動させる。この状態が、
図4Cの下側の矢印aに示されている。矢印aの根本が比較画素であり、矢印aの先端が対象画素である。以降説明する矢印b~t(
図4D~4J参照)においても、矢印の根本が比較画素であり、矢印の先端が対象画素である。なお、比較画素は、常に対象画素に隣り合う画素である。
【0055】
次に、
図2のS208で、画像処理装置は、対象画素が他端部(ここでは右端部)に到達していないことを確認する。S208がNoの場合(対象画素が右端部に到達した場合)には、1回目の影推定処理が終了となる。一方、S208がYesの場合(対象画素が右端部に到達していない場合)には、S210に進む。
【0056】
S210で、画像処理装置は、対象画素の元値(元画像の輝度値)が、比較画素(ここででは対象画素の左隣の画素)の値(すでに取得された影画像の輝度値)以下であるかを確認する。S210がYesの場合には、S212で、画像処理装置は、対象画素の値(影画像の輝度値)を、比較画素の値(すでに取得された影画像の輝度値)に設定する。一方、S210がNoの場合には、S214で、画像処理装置は、対象画素の値(影画像の輝度値)を、対象画素の元値(元画像の輝度値)に設定する。
【0057】
そして、画像処理装置は、S204~S214を繰り返し行う。これにより、対象画素の位置が右側に向かって移動していき(S206、
図4C~4G参照)、影画像の輝度値が設定されていく(S212、S214)。そして、対象画素が他端部(ここでは右端部)に到達した際には(S208:No)、1回目の影推定処理が終了となる。
【0058】
ここで、
図2のフローを、
図4C~4Gの実施例を見ながら再確認する。
図4Cの矢印a、
図4Dの矢印b~dでは、対象画素の元値(元画像の輝度値)が、比較画素(対象画素の左隣の画素)の値(すでに取得された影画像の輝度値)以下であるため、S210はYesとなる。よって、対象画素の値は、比較画素(対象画素の左隣の画素)の値に設定される(S212)。これは、左端部から内部への影の伝搬を意味し、元画像の文字や図形等が、影画像では取り除かれることを意味する。
図4Dの矢印dから、
図4Eの矢印e手前までの画素も、同様の処理となる。
【0059】
図4Eの矢印eでは、対象画素の元値(元画像の輝度値)が、比較画素(対象画素の左隣の画素)の値(すでに取得された影画像の輝度値)より大きいため、S210はNoとなる。よって、対象画素の値は、対象画素の元値(元画像の輝度値)に設定される(S214)。これは、対象画素が、文字や図形等が存在せず、かつ、影も存在しない部分(影無しの紙白)に到達したことを意味し、影の伝搬を止めることを意味する。
【0060】
そして、
図4Eの矢印fから右側の画素(
図4Fの矢印g,h,i、
図4Gの矢印j,kの画素を含む)では、対象画素の元値(元画像の輝度値)が、比較画素(対象画素の左隣の画素)の値(すでに取得された影画像の輝度値)以下であるため、S210はYesとなる。よって、対象画素の値は、比較画素(対象画素の左隣の画素)の値に設定される(S212)。なお、
図4Gに示すように、影画像において、他端部(ここでは右端部)の画素の輝度値は、元画像10の輝度値(右端部の影の影響が反映された輝度値)に設定する。
【0061】
このようにして1回目の影推定処理が終了し、
図4Gに示すように影画像12Pが得られることになる。
図4Gの(D)に示すように、影画像12Pにおいて文字や図形等が消えており、左端から発生する影のみが残ることが分かる。しかし、
図4Gの(E)に示すように、右端(他端)から発生する影が消えてしまっている。そこで、右端から発生する影を影画像12Pに反映するために、2回目の影推定処理を行う。
【0062】
ここから、2回目の影推定処理について説明する。
図4H~4Jには、2回目の影推定処理における、生成中の影画像12Pが例示されている。2回目の影推定処理では、画像処理装置は、元画像の上下方向(縦方向)に並ぶ各画素を対象画素として、対象画素を右端部(一端部)から左端部(他端部)に向かって横方向に移動させながら、対象画素の値(影画像12Pの輝度値)を取得していく。なお、
図4H~4Jの下側には、影画像12Pの輝度値を取得済みの範囲が符号Rで示されている。
【0063】
2回目の影推定処理では、元画像10と、1回目で生成された影画像12Pとを用いて、新たな影画像12Pを生成する。すなわち、影画像12Pを更新する。以下では、前回(ここでは1回目)で取得された影画像12Pを現影画像と言い、現影画像の各画素の輝度値を、現推定値と言う。また、現在(ここでは2回目)で生成している影画像12Pを新影画像と言う。
【0064】
なお、新影画像の端部(上下左右のそれぞれの端部)の輝度値は、元画像10の端部の輝度値に予め設定されて、維持される。
【0065】
具体的には、画像処理装置は、
図3のフローに従って2回目の影推定処理を行う。
図3のフローについて説明する。
図3のフローにおいて、「一端部」は右端部となり、「他端部」は左端部となる。
図3のフロー(2回目の影推定処理)は、
図2のフロー(1回目の影推定処理)と基本的な処理は同じであるが、一部だけ異なっている。すなわち、
図3のフローでは、
図2のフローに対してS309、S316が追加されている。その他の処理は同じである(
図3のS300~S308、S310~S314は、
図2のS200~S208、S210~S214と同じ処理である)。
【0066】
S309は、対象画素の現推定値(現影画像の輝度値)が、比較画素(対象画素の右隣の画素)の値(すでに取得された新影画像の輝度値)より大きいかを確認する処理である。S309がNoの場合、すなわち、対象画素の現推定値(現影画像の輝度値)が、比較画素(対象画素の右隣の画素)の値(すでに取得された新影画像の輝度値)以下の場合には、対象画素の値は、対象画素の現推定値(現影画像の輝度値)に設定される(S316)。これは、現影画像の輝度値を、新影画像に継承させる処理であり、前回推定された影(
図4Gの影画像12Pでは左側の影:現影画像の輝度値が低い部分)を新影画像でも維持させる処理である。
【0067】
一方、S309がYesの場合には、S310に進み、
図2のフロー(1回目の影推定処理)のS210~S214と同じ処理であるS310~S314(対象画素の元値と比較画素の値を対比することで、対象画素の値を設定する処理)が行われる。
【0068】
ここで、
図3のフローを、
図4H~4Jの実施例を見ながら再確認する。
図4Hの矢印l、
図4Iの矢印m~oでは、対象画素の現推定値(現影画像の輝度値、
図4G参照)が、比較画素(対象画素の右隣の画素)の値(すでに取得された新影画像の輝度値)より大きいため、S309がYesとなる(S310に進む)。そして、対象画素の元値(元画像の輝度値)が、比較画素(対象画素の右隣の画素)の値(すでに取得された新影画像の輝度値)以下であるため、S310がYesとなる。よって、対象画素の値は、比較画素(対象画素の右隣の画素)の値に設定される(S312)。これは、右端部からの影の伝搬を意味する。
図4Iの矢印oから、
図4Jの矢印p手前までの画素も、同様の処理となる。
【0069】
図4Jの矢印pでは、対象画素の現推定値(現影画像の輝度値)が、比較画素(対象画素の右隣の画素)の値(すでに取得された新影画像の輝度値)より大きいため、S309がYesとなる(S310に進む)。そして、対象画素の元値(元画像の輝度値)が、比較画素(対象画素の右隣の画素)の値(すでに取得された新影画像の輝度値)より大きいため、S310がNoとなる。よって、対象画素の値は、対象画素の元値(元画像の輝度値)に設定される(S314)。これは、対象画素が、影が存在しない部分(影無し紙白)に到達したことを意味し、影の伝搬を止めることを意味する。
【0070】
そして、
図4Jの矢印qから左側の画素(矢印r,s,tの画素を含む)では、対象画素の現推定値(現影画像の輝度値)が、比較画素(対象画素の右隣の画素)の値(すでに取得された新影画像の輝度値)以下となっているため、S309がNoとなる。そのため、対象画素の値は、対象画素の現推定値(現影画像の輝度値)に設定される(S316)。
【0071】
このようにして2回目の影推定処理が終了し、新たな影画像12Pが得られることになる。
図4Kは、左側に元画像10を示し、右側に2回目の影推定処理により得られた影画像12を示す。
図4Kに示すように、同図の影画像12では、
図4Gの影画像12Pでは消えていた右側の影が現れているのが分かる。
【0072】
影画像12において、輝度値が白(例えば輝度値:255)より小さい画素、または、輝度値が予め定められた値より小さい画素の領域が、影が存在し得る領域32(影が存在する可能性がある領域)である。以上説明した処理では、画像処理装置が、元画像10の一端部からそれに対向する他端部に向かう方向において、一端部から、一端部の輝度値よりも高い輝度値を有する画素又は画素群(影無しの紙白と推定される部分)が現れる前までの領域ARを、影が存在し得る領域32として特定している、ことになる。
【0073】
なお、影画像12の端部(上下左右のそれぞれの端部、端部の幅は1画素又は複数画素であってよい)の輝度値は、元画像10の端部の輝度値に維持される。これは、以下説明する第2実施形態でも同じである。
【0074】
また、上記した第1実施形態において、
図3のフローを用いて、さらに3、4回目の影推定処理が行われてもよい。すなわち、3回目の影推定処理として、画像処理装置は、元画像の左右方向(横方向)に並ぶ各画素を対象画素として、対象画素を上端部(一端部)から下端部(他端部)に向かって縦方向に移動させながら、対象画素の値(影画像の輝度値)を取得してもよい。また、4回目の影推定処理として、画像処理装置は、元画像の左右方向(横方向)に並ぶ各画素を対象画素として、対象画素を下端部(一端部)から上端部(他端部)に向かって縦方向に移動させながら、対象画素の値(影画像の輝度値)を取得してもよい。
【0075】
なお、上記した1~4回の影推定処理は、順番を入れ替えて実施されてもよい。また、
図4A~4Kを用いて説明した対象画素を横方向に移動させる影推定処理に代えて、対象画素を縦方向に移動させる影推定処理(上記した3、4回目の影推定処理)のみが実施されてもよい。
【0076】
また、影推定処理における画像の一端部、他端部は、1画素に限られず、複数画素であってもよい。複数画素の場合には、一端部、他端部の輝度値として、複数画素の平均輝度値、複数画素の代表輝度値(例えば最小の輝度値)等を用いてもよい。
【0077】
<第2実施形態>
次に、第2実施形態について説明する。
図5は、第2実施形態の影推定処理の流れ(1回目)を示すフローチャートであり、
図6は、第2実施形態の影推定処理の流れ(2回目以降)を示すフローチャートである。第2実施形態は、第1実施形態を拡張した形態であり、画素群を用いて影の伝搬を縦、横、斜め方向に行う形態である。
【0078】
まず、第2実施形態の概要を説明する。
図7~10は、第2実施形態の説明図である。第2実施形態では、画像処理装置は、
図7の画素群(2-2)に示すように、対象画素(画素群の中央位置にある画素)と、対象画素の周囲の画素(画素群(2-2)では8つの画素、比較画素群と言う)とを用いて処理を行う。
【0079】
画像処理装置は、1回目の影推定処理で、
図7の(3)に示すように、対象画素を左上端部(一端部)から右下端部(他端部)に向かって移動させながら、対象画素の値(影画像の輝度値)を取得していく。これには、
図8の(1-a)と(1-b)の形態がある。(1-a)の形態は、最初に対象画素を左上端部に設定して、対象画素を上から下に移動させた後、対象画素を1画素分だけ右側にずらして上から下に移動させる処理を繰り返すことで、対象画素が右下端部に向かう形態である。(1-b)の形態は、最初に対象画素を左上端部に設定して、対象画素を左から右に移動させた後、対象画素を1画素分だけ下側にずらして左から右に移動させる処理を繰り返すことで、対象画素が右下端部に向かう形態である。画像処理装置は、(1-a)と(1-b)のどちらか1つを採用して、1回目の影推定処理を行う。
【0080】
また、画像処理装置は、2回目の影推定処理で、
図7の(5)に示すように、対象画素を右下端部(一端部)から左上端部(他端部)に向かって移動させながら、対象画素の値(影画像の輝度値)を取得していく。これには、
図8の(2-a)と(2-b)の形態がある。(2-a)の形態は、最初に対象画素を右下端部に設定して、対象画素を下から上に移動させた後、対象画素を1画素分だけ左側にずらして下から上に移動させる処理を繰り返すことで、対象画素が左上端部に向かう形態である。(2-b)の形態は、最初に対象画素を右下端部に設定して、対象画素を右から左に移動させた後、対象画素を1画素分だけ上側にずらして右から左に移動させる処理を繰り返すことで、対象画素が左上端部に向かう形態である。画像処理装置は、(2-a)と(2-b)のどちらか1つを採用して、2回目の影推定処理を行う。
【0081】
第2実施形態を具体的に説明する。画像処理装置は、
図5のフローに従って1回目の影推定処理(影画像の取得処理)を行う。まず、S400で、画像処理装置は、対象画素を、一端部(ここでは左上端部)の画素群(例えば3×3の画素群)の中央画素の位置に設定する。
図7の画素群(1-1)には、この状態が例示されている。なお、画素群(1-1)には元画像の輝度値が例示されており、影画像の輝度値は例示されていない。
【0082】
なお、画像処理装置は、生成する影画像の端部(上下左右のそれぞれの端部、端部の幅は1画素又は複数画素であってよい)の輝度値を、元画像10の端部の輝度値に予め設定しておく。そして、画像処理装置は、
図5のフローを進めることで、影画像の内部画素の輝度値を徐々に取得していく。よって、影画像において輝度値を取得済みの画素(影画像の端部の画素及び
図5のフローにより輝度値がすでに取得された画素:取得済み画素と言う)と、輝度値を未取得の画素(未取得画素と言う)が存在する。画像処理装置は、以下説明するS410において、比較画素群を構成する画素の輝度値の最小値(比較画素群の最小値)を取得する際に、比較画素群を構成する画素のうち未取得画素についてはその輝度値を無視して、比較画素群の最小値を取得する必要がある。そこで、画像処理装置、
図7の画素群(2-1)に示すように未取得画素に記号「-」を付す等して未取得画素を管理するか、または、未取得画素に仮の輝度値として最大輝度値(例えば255)を設定しておく。最大輝度値を設定しておくことで、比較画素群の最小値を取得する際に、未取得画素の輝度値が考慮されなくなる。
図7の画素群(2-2)、(2-3)には、未取得画素に、仮の輝度値として最大輝度値:255を設定した例が示されている。
【0083】
次に、
図5のS404で、画像処理装置は、対象画素の周囲の画素群を比較画素群として設定する。そして、S406で、画像処理装置は、比較画素群が右下端部(他端部)に到達していないことを確認する。S406がNoの場合(比較画素群が右下端部に到達した場合)には、1回目の影推定処理が終了となる。一方、S406がYesの場合(比較画素群が右下端部に到達していない場合)には、S410に進む。
【0084】
S410で、画像処理装置は、対象画素の元値(元画像の輝度値)が、比較画素群の最小値(比較画素群を構成する画素の輝度値の最小値)以下であるかを確認する。
図7の(2-2)では、中央画素(対象画素)の周囲にある8画素が比較画素群であり、比較画素群の最小値は126である。
【0085】
S410がYesの場合には、S412で、画像処理装置は、対象画素の値(影画像の輝度値)を、比較画素群の最小値に設定する。
図7の(2-3)には、この場合が例示されており、対象画素の値(影画像の輝度値)を、比較画素群の最小値:126に設定している。一方、S410がNoの場合には、S414で、画像処理装置は、対象画素の値(影画像の輝度値)を、対象画素の元値(元画像の輝度値)に設定する。
【0086】
そして、S418で、画像処理装置は、対象画素をインクリメントして、対象画素の位置を1画素分だけ移動させる。この時、
図8の(1-a)の形態では、対象画素の位置は1画素分だけ下に移動することになり、(1-b)の形態では、対象画素の位置は1画素分だけ右に移動することになる。
【0087】
画像処理装置は、S404~S418を繰り返し行う。これにより、対象画素の位置が右下端部に向かって移動していき(S418)、影画像の輝度値が設定されていく(S412、S414)。この
図5のフローによれば、影画像において、
図7の画素群(3-1)に示すように影の影響が、縦、横、及び斜めに伝搬していくことになる。そして、比較画素群が右下端部(他端部)に到達した際には(S408:No)、1回目の影推定処理が終了となる。
【0088】
図7の(3)には、1回目の影推定処理により得られた影画像12-1が例示されている。影画像12-1において文字や図形等が消えており、左上から右下に延びる影が現れている。しかし、破線で囲った部分(右上の部分)の影は消えてしまっていることが分かる。よって、元画像10と影画像12-1から影除去画像を生成した場合には、
図7の(4)に示すように、影除去画像14-1において影が残ってしまうことになる。そこで、右上部分の影を影画像に反映させるために、2回目の影推定処理を行う。
【0089】
2回目の影推定処理では、元画像10と、1回目で生成された影画像12-1とを用いて、新たな影画像12-2を生成する。すなわち、影画像12を更新する。第1実施形態と同様に、以下では、前回(ここでは1回目)で取得された影画像12-1を現影画像と言い、現影画像の各画素の輝度値を、現推定値と言う。また、現在(ここでは2回目)で生成している影画像12-2を新影画像と言う。
【0090】
なお、新影画像においても、端部(上下左右のそれぞれの端部)の輝度値は、元画像10の端部の輝度値に予め設定されて、維持される。
【0091】
上記したように、画像処理装置は、2回目の影推定処理では、
図7の(5)に示すように、対象画素を右下端部(一端部)から左上端部(他端部)に向かって移動させながら、対象画素の値(影画像の輝度値)を取得していく。
【0092】
具体的には、画像処理装置は、
図6のフローに従って2回目の影推定処理を行う。
図6のフローについて説明する。
図6のフローにおいて、「一端部」は右下端部となり、「他端部」は左上端部となる。
図6のフロー(2回目の影推定処理)は、
図5のフロー(1回目の影推定処理)と基本的な処理は同じであるが、一部だけ異なっている。すなわち、
図6のフローでは、
図5のフローに対してS509、S516が追加されている。その他の処理は同じである(
図6のS500~S508、S510~S514、S518は、
図5のS400~S408、S410~S414、S418と同じ処理である)。
【0093】
S509は、対象画素の現推定値(現影画像の輝度値)が、比較画素群の最小値(比較画素群における、新影画像としてすでに輝度値が取得された画素の輝度値の最小値)より大きいかを確認する処理である。S509がNoの場合、すなわち、対象画素の現推定値(現影画像の輝度値)が、比較画素群の最小値以下である場合には、対象画素の値は、対象画素の現推定値(現影画像の輝度値)に設定される(S516)。これは、現影画像の輝度値を、新影画像に継承させる処理であり、前回推定された影(
図7の(3)の影:現影画像の輝度値が低い部分)を新影画像でも維持させる処理である。
【0094】
一方、S509がYesの場合には、S510に進み、
図5のフロー(1回目の影推定処理)のS410~S414と同じ処理であるS510~S514(対象画素の元値と比較画素群の最小値を対比することで、対象画素の値を設定する処理)が行われる。
【0095】
2回目の影推定処理が終了すると、
図7の(5)に示すように、新たな影画像12-2が得られることになる。影画像12-2に示すように、影画像12-1で消えていた右上側の影が現れていることが分かる。よって、元画像10と影画像12-2から影除去画像を生成した場合には、
図7の(6)のように影除去画像14において影が残らないか、又は、少しの影しか残らないことになる。
【0096】
影画像12-1、12-2において、輝度値が白(例えば255)より小さい画素、または、輝度値が予め定められた値より小さい画素の領域が、影が存在し得る領域32(影が存在する可能性がある領域)である。以上説明した処理では、画像処理装置が、元画像10の左右方向、上下方向、又は斜め方向の一端部からそれに対向する他端部に向かう方向において、一端部から、一端部の輝度値よりも高い輝度値を有する画素又は画素群(影無しの紙白と推定される部分)が現れる前までの領域を、影が存在し得る領域32として特定している、ことになる。
【0097】
なお、以上説明した
図7の例では、比較画素群を、中央画素の周囲の8画素(8近傍エリア)としたが、比較画素群は、
図9の例のように中央画素の周囲の4画素(上下左右の4画素、4近傍エリア)としてもよい。この場合には、4つの画素の輝度値の最小値が、「比較画素群の最小値」となる。また、画素群は3×3(縦3画素、横3画素)に限られず、5×5、7×7、・・・等としてもよい。また、比較画素群は、中央画素の周囲の24画素(24近傍エリア、5×5の場合)、48画素(48近傍エリア、7×7の場合)、・・・等としてもよい。
【0098】
また、上記した1回目の影推定処理と、2回目の影推定処理とを繰り返し(例えば計10回程度)行ってもよい。この際、1回目の影推定処理では
図5のフローを用い、2回目以降の影推定処理では
図6のフローを用いる。これにより、最終的に得られる影画像が、精度の高いものとなり得る。
【0099】
また、異なる影推定処理を3回以上、行ってもよい。
図10には、異なる影推定処理を4回行う形態が示されている。1回目の影推定処理は、
図10の(1)に示すように、対象画素を左上端部(一端部)から右下端部(他端部)に向かって移動させて、影画像12-1を生成するものである。2回目の影推定処理は、
図10の(2)に示すように、対象画素を右上端部(一端部)から左下端部(他端部)に向かって移動させて、影画像12-2を生成するものである。3回目の影推定処理は、
図10の(3)に示すように、対象画素を右下端部(一端部)から左上端部(他端部)に向かって移動させて、影画像12-3を生成するものである。4回目の影推定処理は、
図10の(4)に示すように、対象画素を左下端部(一端部)から右上端部(他端部)に向かって移動させて、影画像12-4を生成するものである。この際、1回目の影推定処理では
図5のフローを用い、2回目以降の影推定処理では
図6のフローを用いる。この形態でも、最終的に得られる影画像が、精度の高いものとなり得る。なお、上記した1~4回の影推定処理は、順番を入れ替えて実施されてもよい。
【0100】
<影画像を用いた各種の処理>
次に、影画像を用いた各種の処理について説明する。画像処理装置は、
図11に示すように、影画像12E1,12E2に対して2値化などの処理を行うことで影のマスク画像20E1,20E2を生成してもよい。なお、マスク画像20E1,20E2は、影が存在し得る領域32と、その他の領域とを区分けした画像の一例である。画像処理装置は、マスク画像20E1,20E2を、表示部としてのディスプレイに表示する制御を行ってもよい。そして、画像処理装置は、影のマスク画像20E1,20E2に基づいて、影の形状、面積、位置、度合(最大値との差分など)を算出してもよい。また、画像処理装置は、影の面積が閾値より大きい場合(例えば影画像12E1のような場合)には、影画像12E1を用いて影除去処理を実行するとしてもよい。一方、画像処理装置は、影の面積が閾値以下である場合(例えば影画像12E2のような場合)には、影除去処理を実行しないとしてもよい。また、画像処理装置は、影に矩形(紙に印刷された図形のようなもの)が含まれている場合(例えば影画像12E1のような場合)には、別の影推定処理(例えば上記した3、4回目の影推定処理等)や他の画像処理を実行して、影画像を更新してもよい。
【0101】
また、画像処理装置は、
図12に示すように、元画像10と影画像12を並べて配置したウィンドウ50を、表示部としてのディスプレイに表示してもよい。そして、画像処理装置は、ユーザから入力装置(キーボード、マウス、タッチパネル等)を介して、影画像12に対して影対象外エリア(例えば
図12の影画像12の破線内側のような領域)を受け付けてもよい。そして、画像処理装置は、ユーザから入力装置を介して再実行のボタン52が押下された際に、影画像12の影対象外エリア(
図12の破線内側のような領域)を修正した影画像12Uを生成して、ディスプレイに表示してもよい。この際、画像処理装置は、例えば影対象外エリアにあった影を取り除いた影画像12Uを生成してもよい。
【0102】
また、画像処理装置は、影が存在し得る領域32と、その他の領域とを区分けした画像(ここでは影画像12,12U)を、表示部としてのディスプレイに表示する制御を行ってもよい。そして、画像処理装置は、ディスプレイに表示された画像に対して、ユーザから、入力装置を介して影が存在し得る領域32を変更する指示を受け付けてもよい。また、画像処理装置は、ユーザから、影が存在し得る領域32の変更指示がされた際に、影画像12を更新して、変更指示に従って変更された新たな影画像12を生成してもよい。
【0103】
<影除去の実施有無の判定>
次に、影除去の実施有無の判定について説明する。画像処理装置は、
図13に示すように、原稿種別判定手段と影除去ルール適用手段を備えてもよい。原稿種別判定手段は、元カラー画像100又は元画像10において、端部まで図形や写真等が存在するか否かを判定するものである。原稿種別判定手段は、例えば元カラー画像100又は元画像10が全面写真102を含むものであれば、端部まで図形や写真等が存在すると判定する。なお、原稿種別判定手段は、元カラー画像100又は元画像10が全面写真102であるか否か(原稿の種類)を判定するものであってもよい。影除去ルール適用手段は、原稿種別判定手段の判定結果によって、影除去処理(ここでは影推定処理を含む処理)を実行するか否かを決定するものである。具体的には、影除去ルール適用手段は、元カラー画像100又は元画像10の端部まで図形や写真等が存在する場合には、影除去処理を実行しないと決定し、そうでない場合には、影除去処理を実行すると決定する。従って、画像処理装置は、例えば元カラー画像100又は元画像10が全面写真102を含む場合には、影除去処理(影推定処理を含む処理)を実行しない、という制御が可能となる。
【0104】
<元画像の別の例>
次に、各種の元画像10について説明する。以上説明した実施形態では、元画像10は、輝度成分(Y)の画像であった(
図1参照)。しかし、元画像10は、輝度成分(Y)の画像以外の画像であってもよい。以下に、複数の元画像の例と、元画像ごとの処理について説明する。
【0105】
図14は、影除去画像の別の取得処理の流れを示す図である。
図14の処理について説明する。S800で、画像処理装置は、元カラー画像100を、明度成分(V)の画像10Aと色成分(H/S)の画像16Aに分離する。ここで、明度成分(V)の画像10Aが、元画像10Aである。なお、明度成分(V)の画像10Aの各画素値は、明度値(明度)であり、輝度値に準ずる値と言える。次に、S802で、画像処理装置は、元画像10Aから影画像12Aを生成する。なお、この処理は、以上で説明した各実施形態の影推定処理を使用可能である。そして、S804で、画像処理装置は、元画像10Aと影画像12Aから、色なしの影除去画像14Aを生成する。次に、S806で、画像処理装置は、色なし影除去画像14Aと色成分画像16Aを合成して、色あり影除去画像18Aを取得する。以上説明した
図14の処理であっても、影除去画像を得ることが可能である。
【0106】
図15は、影除去画像のさらに別の取得処理の流れを示す図である。
図15の処理について説明する。S900で、画像処理装置は、グレースケール画像を、元画像10Bとして取得する。なお、グレースケール画像の各画素値は、輝度値又は輝度値に準ずる値と言える。次に、S902で、画像処理装置は、元画像10Bから影画像12Bを生成する。なお、この処理は、以上で説明した各実施形態の影推定処理を使用可能である。そして、S904で、画像処理装置は、元画像10Bと影画像12Bから、影除去画像14Bを生成する。以上説明した
図15の処理であっても、影除去画像を得ることが可能である。
【0107】
次に、色ムラ除去画像の取得処理について説明する。
図16は、色ムラ除去画像の取得処理の流れを示す図である。
図16の処理について説明する。S1001で、画像処理装置は、元カラー画像100を、RGB等のチャンネル画像(例えば3つのチャンネル画像)に分離する。ここで、チャンネル画像のそれぞれが、元画像10Cである。なお、チャンネル画像の各画素値は、輝度値又は輝度値に準ずる値と言える。次に、S1002で、画像処理装置は、元画像10Cのそれぞれから影画像12C(色ムラ画像とも言う)を生成する。なお、この処理は、以上で説明した各実施形態の影推定処理を使用可能である。そして、S1004で、画像処理装置は、複数の元画像10Cのそれぞれに関し、元画像10Cとそれに対応する影画像12Cから、影除去画像14Cを生成する。次に、S1006で、画像処理装置は、複数の影除去画像14Cを統合して、影除去画像18C(色ムラ除去画像とも言う)を取得する。以上説明した
図16の処理によれば、色ムラ除去画像を得ることが可能である。
【0108】
<その他>
なお、以上説明した各実施形態では、元カラー画像、元画像に現れる紙等が、白であることを前提としていた。しかし、元カラー画像、元画像に現れる紙等は、黒やその他の色であってもよい。例えば、紙が黒の場合には、元カラー画像又は元画像の色を反転させる等の画像処理を行った後、上記した各種処理を行うとよい。その他の色についても、所定の画像処理を行うことで、上記した各種処理を適用可能である。
【0109】
<ハードウェア構成>
上記実施形態の画像処理装置は、例えば汎用のコンピュータを用いて構成される。
図17に例示するように、画像処理装置1000のベースとなるコンピュータは、プロセッサ1002、ランダムアクセスメモリ(RAM)等のメモリ(主記憶装置)1004、フラッシュメモリやSSD(ソリッドステートドライブ)、HDD(ハードディスクドライブ)等の不揮発性記憶装置である補助記憶装置1006を制御するコントローラ、各種の入出力装置1008とのインタフェース、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース1010等が、例えばバス1012等のデータ伝送路を介して接続された回路構成を有する。上記実施形態の処理の内容が記述されたプログラムが、ネットワーク等を経由してそのコンピュータにインストールされ、補助記憶装置1006に記憶される。補助記憶装置1006に記憶されたプログラムが、プロセッサ1002によりメモリ1004を用いて実行されることにより、本実施形態の画像処理装置1000が構成される。
【0110】
なお、上記プログラムは、インターネット等のネットワークを介して提供することはもちろん、光ディスクやUSBメモリ等のコンピュータ読み取り可能な記録媒体に格納して提供することが可能である。
【0111】
上記実施形態において、プロセッサとは広義的なプロセッサを指し、汎用的なプロセッサ(例えばCPU:Central Processing Unit、等)や、専用のプロセッサ(例えばGPU:Graphics Processing Unit、ASIC:Application Specific Integrated Circuit、FPGA:Field Programmable Gate Array、プログラマブル論理デバイス、等)を含むものである。
【0112】
また上記実施形態におけるプロセッサの動作は、1つのプロセッサによってなすのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働してなすものであってもよい。また、プロセッサの各動作は、以上の実施形態において説明した順序のみに限定されるものではなく、適宜に変更してもよい。
【0113】
(付記)
(((1)))
プロセッサを含み、
前記プロセッサは、
元画像の一端部からそれに対向する他端部に向かう方向において、
前記一端部から、前記一端部の輝度値よりも高い輝度値を有する画素又は画素群が現れる前までの領域を、影が存在し得る領域として特定する、
画像処理装置。
(((2)))
(((1)))に記載の画像処理装置であって、
前記プロセッサは、
前記元画像の前記他端部からそれに対向する前記一端部に向かう逆方向において、
前記他端部から、前記他端部の輝度値よりも高い輝度値を有する画素又は画素群が現れる前までの領域を、影が存在し得る領域としてさらに特定する、
画像処理装置。
(((3)))
(((2)))に記載の画像処理装置であって、
前記プロセッサは、
前記元画像における、前記一端部を含む前記影が存在し得る領域の輝度値を、前記一端部の輝度値に置き換えるとともに、前記他端部を含む前記影が存在し得る領域の輝度値を、前記他端部の輝度値に置き換えることで、影画像を生成する、
画像処理装置。
(((4)))
(((3)))に記載の画像処理装置であって、
前記プロセッサは、
前記元画像における、前記一端部を含む前記影が存在し得る領域と前記他端部を含む前記影が存在し得る領域との間の領域の輝度値を、前記一端部及び前記他端部の輝度値よりも高い輝度値に置き換えることで、前記影画像を生成する、
画像処理装置。
(((5)))
(((1)))に記載の画像処理装置であって、
前記プロセッサは、
影画像を生成し、
前記影画像の生成において、前記影画像の端部の輝度値を、前記元画像の端部の輝度値に設定して、前記影画像の内側の各画素の輝度値となる対象画素の輝度値を設定する影推定処理を実行し、
前記影推定処理において、前記対象画素を前記元画像の前記一端部からそれに対向する前記他端部に移動させながら、前記対象画素の元値としての前記対象画素の前記元画像の輝度値と、前記対象画素に前記一端部側に隣り合う比較画素の値としての、前記影画像の輝度値としてすでに設定された前記比較画素の輝度値とを比較し、
前記対象画素の元値が前記比較画素の値以下である場合には、前記対象画素の輝度値を前記比較画素の値に設定し、前記対象画素の元値が前記比較画素の値より大きい場合には、前記対象画素の輝度値を前記対象画素の元値に設定する、
画像処理装置。
(((6)))
(((5)))に記載の画像処理装置であって、
前記影推定処理は、1回目の影推定処理であり、
前記1回目の影推定処理により生成された前記影画像は、現影画像であり、前記現影画像の各画素の輝度値は、現推定値であり、
前記プロセッサは、
新影画像を生成し、
前記新影画像の生成において、前記新影画像の端部の輝度値を、前記元画像の端部の輝度値に設定して、前記新影画像の内側の各画素の輝度値となる対象画素の輝度値を設定する2回目の影推定処理を実行し、
前記2回目の影推定処理において、前記対象画素を前記元画像の前記他端部からそれに対向する前記一端部に向かう逆方向に移動させながら、前記対象画素の元値としての前記対象画素の前記元画像の輝度値と、前記対象画素に前記他端部側に隣り合う比較画素の値としての、前記新影画像の輝度値としてすでに設定された前記比較画素の輝度値と、前記対象画素の現推定値としての、前記現影画像における前記対象画素の現推定値と、を比較し、
前記対象画素の現推定値が前記比較画素の値以下である場合には、前記対象画素の輝度値を前記対象画素の現推定値に設定し、
そうでない場合において、前記対象画素の元値が前記比較画素の値以下である場合には、前記対象画素の輝度値を前記比較画素の値に設定し、前記対象画素の元値が前記比較画素の値より大きい場合には、前記対象画素の輝度値を前記対象画素の元値に設定する、
画像処理装置。
(((7)))
(((1)))に記載の画像処理装置であって、
前記プロセッサは、
影画像を生成し、
前記影画像の生成において、前記影画像の端部の輝度値を、前記元画像の端部の輝度値に設定して、前記影画像の内側の各画素の輝度値となる対象画素の輝度値を設定する影推定処理を実行し、
前記影推定処理において、前記対象画素を前記元画像の前記一端部からそれに対向する前記他端部に移動させながら、前記対象画素の元値としての前記対象画素の前記元画像の輝度値と、前記対象画素の周囲の画素群である比較画素群の最小値としての、前記影画像の輝度値としてすでに設定された前記比較画素群の輝度値の最小値とを比較し、
前記対象画素の元値が前記比較画素群の最小値以下である場合には、前記対象画素の輝度値を前記比較画素群の最小値に設定し、前記対象画素の元値が前記比較画素群の最小値より大きい場合には、前記対象画素の輝度値を前記対象画素の元値に設定する、
画像処理装置。
(((8)))
(((7)))に記載の画像処理装置であって、
前記影推定処理は、1回目の影推定処理であり、
前記1回目の影推定処理により生成された前記影画像は、現影画像であり、前記現影画像の各画素の輝度値は、現推定値であり、
前記プロセッサは、
新影画像を生成し、
前記新影画像の生成において、前記新影画像の端部の輝度値を、前記元画像の端部の輝度値に設定して、前記新影画像の内側の各画素の輝度値となる対象画素の輝度値を設定する2回目の影推定処理を実行し、
前記2回目の影推定処理において、前記対象画素を前記元画像の前記他端部からそれに対向する前記一端部に向かう逆方向に移動させながら、前記対象画素の元値としての前記対象画素の前記元画像の輝度値と、前記対象画素の周囲の画素群である比較画素群の最小値としての、前記新影画像の輝度値としてすでに設定された前記比較画素群の輝度値の最小値と、前記対象画素の現推定値としての、前記現影画像における前記対象画素の現推定値と、を比較し、
前記対象画素の現推定値が前記比較画素群の最小値以下である場合には、前記対象画素の輝度値を前記対象画素の現推定値に設定し、
そうでない場合において、前記対象画素の元値が前記比較画素群の最小値以下である場合には、前記対象画素の輝度値を前記比較画素群の最小値に設定し、前記対象画素の元値が前記比較画素群の最小値より大きい場合には、前記対象画素の輝度値を前記対象画素の元値に設定する、
画像処理装置。
(((9)))
(((3)))~(((8)))のいずれか1つに記載の画像処理装置であって、
前記プロセッサは、
前記元画像と前記影画像を用いて正規化処理を行うことで、影除去画像を生成する、
画像処理装置。
(((10)))
(((1)))~(((9)))のいずれか1つに記載の画像処理装置であって、
前記プロセッサは、
前記影が存在し得る領域と、その他の領域とを区分けした画像を、表示部に表示する制御を行う、
画像処理装置。
(((11)))
(((3)))~(((9)))のいずれか1つに記載の画像処理装置であって、
前記プロセッサは、
前記影が存在し得る領域と、その他の領域とを区分けした画像を、表示部に表示する制御を行うとともに、前記表示部に表示された画像に対して、ユーザから前記影が存在し得る領域を変更する指示を受け付け、
ユーザから前記影が存在し得る領域の変更指示がされた際に、前記影画像を更新する、
画像処理装置。
(((12)))
元画像の一端部からそれに対向する他端部に向かう方向において、
前記一端部から、前記一端部の輝度値よりも高い輝度値を有する画素又は画素群が現れる前までの領域を、影が存在し得る領域として特定する、
処理をコンピュータに実行させるプログラム。
【0114】
(((1)))に係る発明によれば、元画像内の影が存在し得る領域が特定される。
(((2)))に係る発明によれば、元画像の他端部から延びる、影が存在し得る領域が特定される。
(((3)))に係る発明によれば、影が存在し得る領域が現われた影画像が得られる。
(((4)))に係る発明によれば、元画像の影を除去することに使用可能な影画像が得られる。
(((5)))に係る発明によれば、影が存在し得る領域が現われた影画像が得られる。
(((6)))に係る発明によれば、元画像の影を除去することに使用可能な影画像が得られる。
(((7)))に係る発明によれば、影が存在し得る領域が現われた影画像が得られる。
(((8)))に係る発明によれば、元画像の影を除去することに使用可能な影画像が得られる。
(((9)))に係る発明によれば、元画像から少なくとも一部の影が除去された影除去画像が得られる。
(((10)))に係る発明によれば、ユーザが、影が存在し得る領域を把握することが可能となる。
(((11)))に係る発明によれば、ユーザが、影が存在し得る領域を変更することが可能となる。
(((12)))に係る発明によれば、元画像内の影が存在し得る領域が特定される。
【符号の説明】
【0115】
10,10A,10B,10C,10CL 元画像(画像)、12,12-1,12-2,12-3,12-4,12A,12B,12C,12E1,12E2,12P,12U 影画像、14,14-1,14A,14B 影除去画像(色なし)、14C 影除去画像、16,16A 色成分画像(画像)、18,18A,18C 影除去画像(色あり影除去画像)、20E1,20E2 マスク画像、30 影、32 影が存在し得る領域(領域)、50 ウィンドウ、52 ボタン、100 元カラー画像、102 全面写真、1000 画像処理装置、1002 プロセッサ、1004 メモリ、1006 補助記憶装置、1008 入出力装置、1010 ネットワークインタフェース、1012 バス。