説明

画像処理装置及び画像処理プログラム

【課題】対象とする画像内に有彩色領域が存在する場合に、画像全体に、原稿色に対応したかぶりを除去するときに生じる輝度値が明るくなりすぎてしまうことを防止するようにした画像処理装置を提供する。
【解決手段】画像処理装置の抽出手段は、画像から領域を抽出し、選択手段は、前記抽出によって抽出された領域を予め定めた規則に基づいて選択し、測定手段は、前記選択手段によって選択された領域内の画素の輝度値を測定し、推定手段は、前記測定手段によって測定された画素値から、前記受付手段によって受け付けられた画像におけるかぶりの度合いを示す関数を推定し、除去手段は、前記推定手段によって推定された関数に基づいて、前記受付手段によって受け付けられた画像からかぶりを除去する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【0002】
特許文献1には、入力された画像を所定の大きさからなる画素群に分割するステップと、分割された前記画素群における画素群濃度を算出するステップと、前記画素群のうち前記画像における注目画素の属する画素群の画素群濃度と当該注目画素の属する画素群に隣接する画素群の画素群濃度とに基づいて算出した当該注目画素に対する相対濃度と、当該注目画素の絶対濃度とに基づいて当該注目画素の出力値を算出するステップとを含むことを特徴とする画像処理方法によって、多値画像内で背景より相対的に暗いペンなどで書かれた文字等を高速に切り出し、文字認識等の前処理に使い、文字図形などのオブジェクトを強調し、理解し易さを損なわずに画像サイズを圧縮することが可能となることが開示されている。
【0003】
特許文献2には、コンタクトガラス上に載置されたブック原稿を画像読取手段により読み取ったスキャン画像の輝度を補正する画像輝度補正装置において、前記スキャン画像を複数のブロックに分割するブロック分割手段と、前記ブロック分割手段により分割された複数の各ブロックに含まれる画素の中で最も輝度値の高い画素をそれぞれ選択し、その最も輝度値の高い画素の輝度値を当該各ブロックの地肌値とみなして検出する地肌値検出手段と、前記地肌値検出手段により検出された各ブロックの前記地肌値を各ブロック間で平滑化した地肌値に基づいて、前記スキャン画像に対して輝度補正処理を施す輝度補正手段と、を備えることを特徴とする画像輝度補正装置によって、画像読取手段の照明が均一でない場合やブック原稿のコンタクトガラスへの載せ方が不均一な場合(ページの上端と下端とでコンタクトガラスからの浮き上がり方が異なる場合)であっても、スキャン画像の一部分の地肌値に基づいてスキャン画像を帯状に輝度補正する場合に比べて局所的な範囲で地肌値を検出して輝度補正するので、輝度補正後の画像に黒い筋や薄い影が生じてしまうのを防止することができ、また、ノイズの影響を抑制することが可能になることが開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第3426189号公報
【特許文献2】特許第4111697号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、対象とする画像内に有彩色領域が存在する場合に、画像全体に、原稿色に対応したかぶりを除去するときに生じる輝度値が明るくなりすぎてしまう課題を解決する画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、画像を受け付ける受付手段と、前記受付手段によって受け付けられた画像から領域を抽出する抽出手段と、前記抽出手段によって抽出された領域を予め定めた規則に基づいて選択する選択手段と、前記選択手段によって選択された領域内の画素の輝度値を測定する測定手段と、前記測定手段によって測定された画素値から、前記受付手段によって受け付けられた画像におけるかぶりの度合いを示す関数を推定する推定手段と、前記推定手段によって推定された関数に基づいて、前記受付手段によって受け付けられた画像からかぶりを除去する除去手段を具備することを特徴とする画像処理装置である。
【0007】
請求項2の発明は、前記抽出手段は、予め定めた大きさ以上又はより大きい領域を抽出し、該領域を抽出できなかった場合は、前記選択手段以降の処理を行わないことを特徴とする請求項1に記載の画像処理装置である。
【0008】
請求項3の発明は、前記選択手段における予め定めた規則は、前記抽出手段によって抽出された領域の大きさによって定められていることを特徴とする請求項1又は2に記載の画像処理装置である。
【0009】
請求項4の発明は、前記選択手段は、予め定めた規則として、さらに前記抽出手段によって抽出された領域の輝度又は彩度によって定められていることを特徴とする請求項3に記載の画像処理装置である。
【0010】
請求項5の発明は、前記選択手段は、予め定めた規則として、さらに前記抽出手段によって抽出された領域の彩度の分散値、前記画像における位置、外周の大きさのいずれか一つ以上によって定められていることを特徴とする請求項3又は4に記載の画像処理装置である。
【0011】
請求項6の発明は、前記測定手段は、画素値を測定する走査方向として水平方向、垂直方向、斜め方向、楕円状のいずれか一つ以上であることを特徴とする請求項1から5のいずれか一項に記載の画像処理装置である。
【0012】
請求項7の発明は、前記推定手段は、前記選択手段によって選択された領域内の画素の輝度値を通る関数を推定することを特徴とする請求項1から6のいずれか一項に記載の画像処理装置である。
【0013】
請求項8の発明は、前記除去手段は、前記測定手段による走査方向が複数方向あり、該走査方向が交差する位置におけるかぶりの値は、該走査に対して前記推定手段によって推定された複数の関数によって求められた値に基づいて算出することを特徴とする請求項7に記載の画像処理装置である。
【0014】
請求項9の発明は、コンピュータを、画像を受け付ける受付手段と、前記受付手段によって受け付けられた画像から領域を抽出する抽出手段と、前記抽出手段によって抽出された領域を予め定めた規則に基づいて選択する選択手段と、前記選択手段によって選択された領域内の画素の輝度値を測定する測定手段と、前記測定手段によって測定された画素値から、前記受付手段によって受け付けられた画像におけるかぶりの度合いを示す関数を推定する推定手段と、前記推定手段によって推定された関数に基づいて、前記受付手段によって受け付けられた画像からかぶりを除去する除去手段として機能させるための画像処理プログラムである。
【発明の効果】
【0015】
請求項1の画像処理装置によれば、対象とする画像内に有彩色領域が存在する場合に、画像全体に、原稿色に対応したかぶりを除去するときに生じる輝度値が明るくなりすぎてしまうことを防止することができる。
【0016】
請求項2の画像処理装置によれば、かぶりの度合いを示す関数を推定するのに適している領域を抽出できない場合は、余計な処理を行わせないようにすることができる。
【0017】
請求項3の画像処理装置によれば、本構成を有していない場合に比較して、画像内のかぶりを安定して除去することができる。
【0018】
請求項4の画像処理装置によれば、本構成を有していない場合に比較して、画像内のかぶりをさらに安定して除去することができる。
【0019】
請求項5の画像処理装置によれば、画像に写真が含まれている場合であっても、本構成を有していない場合に比較して、画像内のかぶりを安定して除去することができる。
【0020】
請求項6の画像処理装置によれば、かぶりの傾斜に対応した走査を行うことができる。
【0021】
請求項7の画像処理装置によれば、選択した領域外に対しても画像内のかぶりを除去することができる。
【0022】
請求項8の画像処理装置によれば、本構成を有していない場合に比較して、画像内のかぶりを安定して除去することができる。
【0023】
請求項9の画像処理プログラムによれば、対象とする画像内に有彩色領域が存在する場合に、画像全体に、原稿色に対応したかぶりを除去するときに生じる輝度値が明るくなりすぎてしまうことを防止することができる。
【図面の簡単な説明】
【0024】
【図1】本実施の形態の構成例についての概念的なモジュール構成図である。
【図2】本実施の形態による処理例を示すフローチャートである。
【図3】画像受付モジュールによる処理例を示す説明図である。
【図4】非エッジ領域抽出モジュールによる処理例を示す説明図である。
【図5】非エッジ領域抽出モジュールによる処理例を示す説明図である。
【図6】検査領域選択モジュールによる処理例を示す説明図である。
【図7】画素値測定モジュールによる処理例を示す説明図である。
【図8】画素値測定モジュールによる処理例を示す説明図である。
【図9】画素値分布推定モジュールによる処理例を示す説明図である。
【図10】画素値分布推定モジュールによる処理例を示す説明図である。
【図11】かぶり除去モジュールによる処理例を示す説明図である。
【図12】かぶり除去モジュールによる処理例を示す説明図である。
【図13】かぶり除去モジュールによる処理例を示す説明図である。
【図14】本実施の形態の前提となる技術例を示す説明図である。
【図15】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【0025】
まず、本実施の形態を説明する前に、その前提となる技術について説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。
図14(a)の例に示す撮影対象文書1410は名刺であり、白黒のみではなく、有彩色の領域(例えば、原稿の構成として、まとまった領域が写真であったり、原稿の紙と異なる色(白以外の色)で平坦に塗られていたりする場合等)もある。具体的には、撮影対象文書1410内の領域1412は赤色を背景としており、領域1414は白色を背景としており、図形1416は赤色のマーク(図形)である。この撮影対象文書1410を、例えばデジタルカメラで撮影し、図14(c)の例に示す撮影画像1430を得る。この場合、撮影した画像には図14(b)の例に示すかぶり画像1420が重複されて撮影されている。このかぶり画像1420は、照明のかたより、逆光、撮影対象文書1410の設置等(つまり、撮影対象文書1410と照明と撮影装置の位置関係)又はデジタルカメラ内のレンズの構成(例えば、画像の中央部分は明るく、周辺部分は暗くなる)等によって、発生するものである。図14(b)の例に示すようにかぶり画像1420では、右上が濃い黒であり、左下が白となるようなグラデーション画像(濃淡が段階的に変化している画像)となっている。したがって、図14(c)の例に示すように撮影画像1430でも、右上は黒くなるが、左下は元の撮影対象文書1410の画像に近いものとなる。なお、このかぶりとは、影、黒かぶり等ともいわれている。
【0026】
また、デジタルカメラで撮影する場合のみでなく、スキャナ等においても、このかぶり画像は発生することがある。例えば、スキャナ(いわゆるフラッドベットスキャナ)では、コンタクトガラス上に開閉自在の圧板を設け、コンタクトガラス上に原稿を設置した後に圧板を閉じて原稿をスキャンするようにしている。しかし、原稿としてはシート状のものに限られず、ブック原稿(本、冊子等)も原稿として扱われることがあり、そのような場合にもコンタクトガラス上にブック原稿を設置し、原稿をスキャンすることになる。ところが、原稿としてブック原稿を用いた場合には、ブック原稿のページ綴じ部がコンタクトガラスから浮き上がってしまう。このようにブック原稿のページ綴じ部がコンタクトガラスから浮き上がってしまった場合には、ページ綴じ部が焦点面から離れてしまうため、浮き上がった部分のスキャン画像には、かぶりという画像劣化が発生する。
【0027】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
【0028】
本実施の形態である画像処理装置は、画像からかぶりを除去するものであって、図1の例に示すように、画像受付モジュール110、非エッジ領域抽出モジュール120、検査領域選択モジュール130、画素値測定モジュール140、画素値分布推定モジュール150、かぶり除去モジュール160、出力モジュール170を有している。
【0029】
画像受付モジュール110は、非エッジ領域抽出モジュール120と接続されており、画像を受け付けて、その画像を非エッジ領域抽出モジュール120へ渡す。画像を受け付けるとは、例えば、スキャナ、カメラ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、ハードディスク(コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む)等に記憶されている画像を読み出すこと等が含まれる。画像は、多値画像(カラー画像を含む)である。受け付ける画像は、1枚であってもよいし、複数枚であってもよい。また、画像の内容として、ビジネスに用いられる文書(例えば、前述の名刺等)、広告宣伝用のパンフレット、ホワイトボードに書かれたもの等であってもよい。また、画像受付モジュール110は、デジタルフィルタ処理等によって補正をするようにしてもよい。例えば、手ぶれ補正等がある。画像受付モジュール110の処理例については、図3を用いて後述する。
【0030】
非エッジ領域抽出モジュール120は、画像受付モジュール110、検査領域選択モジュール130と接続されている。非エッジ領域抽出モジュール120は、前記画像受付モジュール110によって受け付けられた画像から領域を抽出し、その抽出した領域を検査領域選択モジュール130に渡す。
また、非エッジ領域抽出モジュール120は、予め定めた大きさ以上又はより大きい領域を抽出し、その領域を抽出できなかった場合は、検査領域選択モジュール130、画素値測定モジュール140、画素値分布推定モジュール150、かぶり除去モジュール160、出力モジュール170の処理を行わないようにしてもよい。また、この場合、領域を抽出できなかった旨(つまり、かぶりの除去ができなかったこと)を出力するようにしてもよい。
ここで、抽出対象の領域とは、色値がなだらかで連続した領域である。言い換えると、エッジのない領域、又はエッジに囲まれた領域である。
非エッジ領域抽出モジュール120の処理例については、図4、図5を用いて後述する。
【0031】
検査領域選択モジュール130は、非エッジ領域抽出モジュール120、画素値測定モジュール140と接続されている。検査領域選択モジュール130は、非エッジ領域抽出モジュール120によって抽出された領域を予め定めた規則に基づいて選択し、その選択した領域を画素値測定モジュール140に渡す。
また、検査領域選択モジュール130における予め定めた規則は、非エッジ領域抽出モジュール120によって抽出された領域の大きさによって定められているようにしてもよい。検査領域選択モジュール130は、予め定めた規則として、さらに非エッジ領域抽出モジュール120によって抽出された領域の輝度又は彩度によって定められているようにしてもよい。検査領域選択モジュール130は、予め定めた規則として、さらに非エッジ領域抽出モジュール120によって抽出された領域の彩度の分散値、画像における位置、外周の大きさのいずれか一つ以上によって定められているようにしてもよい。
検査領域選択モジュール130の処理例については、図6を用いて後述する。
【0032】
画素値測定モジュール140は、検査領域選択モジュール130、画素値分布推定モジュール150と接続されている。画素値測定モジュール140は、検査領域選択モジュール130によって選択された領域内の画素の輝度値を測定し、測定結果を画素値分布推定モジュール150に渡す。画素の輝度値の測定には、予め定めた方向に走査しながら輝度を測定する。
また、画素値測定モジュール140が行う処理では、画素値を測定する走査方向として水平方向、垂直方向、斜め方向、楕円状のいずれか一つ以上であるようにしてもよい。水平方向と垂直方向の組み合わせ、右上斜め方向と右下斜め方向の組み合わせのように2種類の走査方向であってもよいし、楕円状に走査するように1種類の走査方向であってもよいし、3種類以上の走査方向の組み合わせであってもよい。
画素値測定モジュール140の処理例については、図7、図8を用いて後述する。
【0033】
画素値分布推定モジュール150は、画素値測定モジュール140、かぶり除去モジュール160と接続されている。画素値分布推定モジュール150は、画素値測定モジュール140によって測定された画素値から、画像受付モジュール110によって受け付けられた画像におけるかぶりの度合いを示す関数を推定し、その推定した関数をかぶり除去モジュール160に渡す。かぶりの度合いを示す関数としては、1次関数であってもよいし、2次以上の関数であってもよい。
また、画素値分布推定モジュール150は、検査領域選択モジュール130によって選択された領域内の画素の輝度値を通る関数を推定するようにしてもよい。
画素値分布推定モジュール150の処理例については、図9、図10を用いて後述する。
【0034】
かぶり除去モジュール160は、画素値分布推定モジュール150、出力モジュール170と接続されている。かぶり除去モジュール160は、画素値分布推定モジュール150によって推定された関数に基づいて、画像受付モジュール110によって受け付けられた画像からかぶりを除去し、そのかぶりを除去した画像を出力モジュール170に渡す。
また、かぶり除去モジュール160は、画素値測定モジュール140による走査方向が複数方向あり、その走査方向が交差する位置におけるかぶりの値は、その走査に対して画素値分布推定モジュール150によって推定された複数の関数によって求められた値に基づいて算出するようにしてもよい。走査線上にない画素にあっては、走査線上の画素におけるかぶりの値を用いて、その画素からの距離に応じてかぶりの値を算出すればよい。なお、かぶりの値とは、受け付けた画像の画素値と本来の地肌値(かぶりがない状態で撮影した画像の画素値)との差である。
かぶり除去モジュール160の処理例については、図11、図12、図13を用いて後述する。
【0035】
出力モジュール170は、かぶり除去モジュール160と接続されており、かぶり除去モジュール160によってかぶり除去された画像を受け取り、その画像を出力する。画像を出力するとは、例えば、プリンタ等の印刷装置で印刷すること、ディスプレイ等の表示装置に表示すること、ファックス等の画像送信装置で画像を送信すること、画像データベース等の画像記憶装置へ画像を書き込むこと、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置へ渡すこと等が含まれる。また、画像受付モジュール110によって受け付けられた画像と対応付けて出力するようにしてもよい。
【0036】
図2は、本実施の形態による処理例を示すフローチャートである。
ステップS202では、画像受付モジュール110が、対象画像を受け付ける。
図3は、画像受付モジュール110による処理例を示す説明図である。撮影対象文書320は、図14の例で示した撮影対象文書1410と同等のものである。撮影対象文書320には、左側の赤色を背景とした領域、右側の白色を背景とした領域、右上にある赤色のマークの領域がある。これを撮影装置310で撮影した場合、撮影画像330のようにかぶりが発生した画像を得る。例えば、名刺交換した後に、机の上に撮影対象文書320を置き、撮影装置310で撮影するような状況である。撮影装置310は、デジタルカメラであってもよいし、携帯情報端末装置(例えば、スマートフォンを含む携帯電話等)に内蔵されているデジタルカメラであってもよいし、スキャナ等であってもよい。
【0037】
ステップS204では、非エッジ領域抽出モジュール120が、色値の変化がなだらかで連続した領域を抽出する。
図4、図5は、非エッジ領域抽出モジュール120による処理例を示す説明図である。例えば、非エッジ領域抽出モジュール120は、ソーベルフィルターモジュール410、2値化モジュール420、白黒反転モジュール430、ラベリングモジュール440、小サイズ除去モジュール450を有している。
ソーベルフィルターモジュール410は、2値化モジュール420と接続されており、ステップS202で受け付けられた撮影画像330に対して、ソーベルフィルター(Sobel Filter)処理を行って、その結果の画像を2値化モジュール420に渡す。ソーベルフィルター処理とは、例えば、縦線や横線のエッジを検出する処理であり、フィルタを用いて行うものである。もちろんのことながら、フィルタの設計によっては、縦線、横線以外の線を検出することもできる。
【0038】
2値化モジュール420は、ソーベルフィルターモジュール410、白黒反転モジュール430と接続されており、ソーベルフィルターモジュール410によってエッジが検出された画像を受け取り、それに対して2値化処理を行って、その2値化処理の結果画像を白黒反転モジュール430に渡す。ここでの2値化処理は、知られている2値化処理を採用すればよい。この処理によってエッジ部分は黒となり、他の部分は白となる。
白黒反転モジュール430は、2値化モジュール420、ラベリングモジュール440と接続されており、2値化モジュール420によって2値化された画像を受け取り、それに対して白黒反転処理を行って、その白黒反転処理の結果画像をラベリングモジュール440に渡す。この処理によってエッジ部分は白となり、他の部分は黒となる。
【0039】
ラベリングモジュール440は、白黒反転モジュール430、小サイズ除去モジュール450と接続されており、白黒反転モジュール430によって白黒反転された画像を受け取り、それに対してラベリング処理を行って、そのラベリング処理の結果画像を小サイズ除去モジュール450に渡す。この処理によって、連続している黒領域は同じラベルが付されることになる。したがって、同じラベルが付されている領域を抽出することによって、エッジではない領域を抽出することができる。
小サイズ除去モジュール450は、ラベリングモジュール440と接続されており、ラベリングモジュール440によってラベリングされた画像を受け取り、それに対して予め定めた大きさ以下又はより小さい領域であるノイズを除去する。この処理は、結果的に、予め定めた大きさ以上又はより大きい領域を抽出することになる。同じラベルが付されている領域の面積は、そのラベルが付された画素数を計数すること、又はその領域の外接矩形の面積を算出することによって求めてもよい。
図4の例に示した撮影画像330に対して、以上の処理を施した結果の画像の例を図5に示す。領域画像510は撮影画像330の左側の赤色を背景とした領域であり、領域画像520は撮影画像330の右側の白色を背景とした領域であり、領域画像530は撮影画像330の右上にある赤色のマークの領域である。ただし、これらの画像は2値画像である。また、これらの画像は、撮影画像330とのAND処理(論理積処理)を施すことによって、撮影画像330からのその領域を抽出することができるというマスク画像としての役割を有する。
なお、非エッジ領域抽出モジュール120は、図4の例に示したモジュール構成による処理ではなく、他の処理によって領域を抽出するようにしてもよい。例えば、同じ色の領域を統合する処理を行うようにしてもよい。なお、同じ色とは完全同一の色のみならず、予め定めた関係にある色を含めてもよい。具体的には、画像内から画素を選択し、その選択した画素に接触している画素であって、選択した画素の色と予め定めた関係(例えば、色空間において、その2つの色の間の距離が予め定めた値以下又は未満である関係)にある色の画素を統合し、次にその統合した画素に対して同様の統合処理を繰り返して行うことによって領域を抽出するようにしてもよい。
【0040】
ステップS206では、検査領域選択モジュール130が、かぶりの傾斜を推定するのに適している領域を抽出する。
検査領域選択モジュール130は、ステップS204で抽出した領域の特徴量を抽出する。そして、(1)式の識別関数にしたがって、各領域の(1)式の値を算出し、その値によって領域(ここでは前述のマスク画像)を選択する。例えば、ステップS204で抽出した領域内で最大値を有する領域を選択する。
【数1】

ここで、(1)式の右辺のwは重みであり、正の数の他に、0、負の数であってもよい。0の場合は、その特徴量を採用しないことを意味する。負の数の場合は、特徴量が逆の方向に作用することになる。この重みwは、予め定めた値である。予め定めた値として、操作者が設定した値であってもよいし、正解の選択肢が決まっている教師データを用いて予め学習を行った結果の値であってもよい。
(1)式の右辺のxijは特徴量である。検査領域選択モジュール130が、これらの特徴量を各領域(i)から抽出する。
i0は、領域の幅若しくは高さのいずれか、又は幅×高さ(いわゆる外接矩形の面積)であってもよい。
i1は、領域の面積である。
i2は、領域の画素密度である。
i3は、領域内の画素の輝度(例えば、Lab色空間の場合はLの値)の平均値である。
i4は、領域内の画素の彩度(例えば、Lab色空間の場合はa,bの値)の平均値である。
i5は、領域内の画素の彩度の分散値である。
i6は、領域(マスク画像)の重心とステップS202で受け付けた画像の中心との距離である。
i7は、領域の外周輪郭の長さ/外接矩形の周囲長である。
【0041】
なお、ここに挙げた特徴量は例示であって、他の特徴量を用いてもよい。また、平均値としたものは、その領域を代表する値であればよく、例えば、最頻値、中央値等であってもよい。
また、ここに例示した特徴量は全て使用する必要はなく、このうちのいずれかを選択して用いるようにしてもよい。例えば、xi0、xi1、xi2のいずれかだけを用いた識別関数としてもよい。これはかぶりの度合いを示す関数を推定するのに、大きな領域が適しているからである。
さらに、原稿の背景領域を選択するために、xi3、xi4を加えるようにしてもよい。かぶりの度合いを示す関数を推定するのに、背景領域が適しているからである。背景領域は、一般的には白いので、高輝度、低彩度の領域となるためである。なお、彩度(xi4)の重み(w)は負の数である。
【0042】
以上の特徴量によって、白背景となっている名刺、文書、ホワイトボード等には対応可能であるが、例えば、名刺の半分の領域に風景画が張り付けられているような原稿を撮影した画像の場合(白背景の面積がやや狭い)、逆光の状態でのホワイトボードを撮影した画像の場合(画像の周囲の方が高輝度になっている場合)については、不十分である可能性がある。
そこで、xi5以下の特徴量を追加するようにしてもよい。
風景画は背景部よりも概ね彩度のばらつきが高い。したがって、風景画を選択しないように彩度の分散値が小さい領域を選択できるように、xi5を採用してもよい。なお、彩度の分散値(xi5)の重み(w)は負の数である。
撮影時に目的とする領域は意図的に画像中央になるようにしているのが一般的である。したがって、領域の重心(領域の中心であってもよい)は画像の中央寄りである領域を選択できるように、xi6を採用してもよい。なお、この距離(xi6)の重み(w)は負の数である。
風景画の領域の外周は外接矩形の外周と比較して凹凸が多い。また、名刺の背景部等は矩形であり、その外周は直線状であることが多い。したがって、風景画を選択しないように外周輪郭が短い領域を選択できるように、xi7を採用してもよい。なお、この外周輪郭(xi7)の重み(w)は負の数である。
【0043】
図6は、検査領域選択モジュール130による処理例を示す説明図である。領域画像510に対して識別関数の計算結果は、(2)式のように1.5である。
【数2】

領域画像510に対して識別関数の計算結果は、(3)式のように2.0である。
【数3】

領域画像510に対して識別関数の計算結果は、(4)式のように0.2である。
【数4】

そして、(5)式に示すように、識別関数の算出値が最大値となるものを選択する。
【数5】

この場合、(6)式に示すように、領域画像520の領域が選択されることになる。
【数6】

【0044】
ステップS208では、画素値測定モジュール140が、予め定められた規則にしたがってラインを走査して、画素値を測定する。
図7、図8は、画素値測定モジュール140による処理例を示す説明図である。
図7(a)の例に示す領域抽出画像700は、ステップS202で受け付けられた撮影画像330とステップS206で選択された領域画像520とのAND処理による画像である。つまり、撮影画像330から右側にある背景が白い領域を抽出したものである。この領域抽出画像700に対して横と縦に予め定めた間隔(例えば、均等間隔)で走査する。例えば、横方向にライン702〜718、縦方向にライン722〜742で走査する。そして、その走査の結果、各画素の輝度値をグラフにして表すと、ライン702の走査においては図7(b)の例のようなグラフになる。つまり、選択された領域内を走査していないでの、無効なデータのみからなるグラフとなる。そして、ライン712の走査においては図7(c)の例のようなグラフになる。つまり、選択された領域内を一部走査しているので、有効なデータを含むグラフとなり、その輝度の値は右下がりのグラフとなる。ここでのかぶりが全体的に右上方向ほど濃くなるからである。
なお、有効なデータであるか、無効なデータであるかの判別は、検査領域選択モジュール130が選択した領域の画像(マスク画像、図6の例に示した領域画像520)を走査することによって行うことができる。領域画像520内の黒部分の位置が領域抽出画像700内において有効なデータがある位置であり、領域画像520内の白部分の位置は領域抽出画像700内において無効なデータがある位置として取り扱う。また、ここでは無効なデータは輝度値を0として扱っている。
【0045】
また、走査における予め定められた規則として、図7(a)に例示のような走査だけでなく、図8(a)の例に示すような左上から右下への斜め方向の走査と右上から左下への斜め方向の走査を予め定めた間隔で行うようにしてもよい。また、図8(b)の例に示すような楕円状の走査を予め定めた間隔で行うようにしてもよい。なお、ここで楕円状には円を含んでいてもよい。この走査方向は、かぶりの輝度の傾斜に応じて、操作者が選択するようにしてもよいし、撮影装置に応じて予め定めた走査であってもよい。
【0046】
ステップS210では、画素値分布推定モジュール150が、測定した画素値の集合から、かぶりの傾斜度合い(かぶりの度合いを示す関数)を推定する。なお、ここでの関数は1次関数を例示して説明する。
図9、図10は、画素値分布推定モジュール150による処理例を示す説明図である。
図9(a)の例に示すように、縦方向の走査におけるかぶりの度合いを示す関数を(7)式で、横方向の走査におけるかぶりの度合いを示す関数を(8)式とする。
【数7】

【数8】

【0047】
図9(b)の例は、有効なデータがあるラインを実線で示し、有効なデータがないライン(無効なデータだけのライン)を点線で示したものである。有効なデータがあるラインとしては、ライン704〜716、ライン732〜740があり、有効なデータがないラインとしては、ライン702、718、ライン722〜730、742がある。
図10(a)の例は、有効なデータがあるラインにおけるグラフを示している。ライン704〜716のそれぞれにおいて、同様のグラフで示すことができる。これらに対して最小二乗法等を用いて、輝度値を通る関数を推定する。例えば、横方向のラインでの関数は(9)式のように表すことができる。なお、各ラインにおいて、有効なデータ数が予め定めた数よりも少ない場合は、そのデータは用いないで関数を推定する。図10(b)の例において、(9)式は一点鎖線で表している。
【数9】

そして、有効なデータがないラインにおいても、その関数を適用すればよい。したがって、例えば、図9(c)の例に示すようにライン702上の推定点932〜940における輝度値を、図10(c)の例に示すように関数を適用して、推定点932〜940における輝度値とすればよい。このことは、推定した関数を画像全体に適用していることになる。
縦方向のラインを用いた関数の推定も、前述した横方向のラインを用いた関数の推定と同等に行う。
【0048】
ステップS212では、かぶり除去モジュール160が、かぶりの傾斜度合い(ステップS210で推定した関数)を用いて、かぶり除去量を算出し、各座標における画素値を補正する。ここでの補正とは、画像からかぶりを除去して、地肌(本来の画像)を生成することになる。
図11、図12、図13は、かぶり除去モジュール160による処理例を示す説明図である。
図11の例において、領域1110内の4つの交点(つまり交点1112はライン706とライン726の交点であり、交点1114はライン706とライン728の交点であり、交点1116はライン708とライン726の交点であり、交点1118はライン708とライン728の交点である)のかぶり量の計算について、図12を用いて説明する。なお、これらの交点は、無効データとして扱われていた領域にある交点である。
交点1112における輝度値は、(10)式を用いて算出する。
【数10】

(10)式は、ライン706における関数rとライン726における関数cの交点1112(x,y)における値の平均値である。交点1114における輝度値も、ライン706における関数rとライン728における関数cj+1の交点1114(xi+1,y)における値の平均値である。交点1116における輝度値も、ライン708における関数ri+1とライン726における関数cの交点1116(x,yj+1)における値の平均値である。交点1118における輝度値も、ライン708における関数ri+1とライン728における関数cj+1の交点1118(xi+1,yj+1)における値の平均値である。このように、ラインの交点にある画素の輝度値は、横方向の関数値と縦方向の関数値の平均値とする。
【0049】
そして、このような交点ではない画素、例えば図12に示す中間点1222における輝度は、(11)式を用いて算出する。(11)式は、中間点1222における輝度を周囲の4つの交点の輝度によって算出するものである。したがって、交点以外の画素における(11)式による算出は、交点における輝度値を算出した後に行う。
【数11】

中間点1222の位置を(x,y)としている。なお、(11)式の右辺のW((x,y),(x,y))は距離重みを表している。つまり、中間点1222からの交点(交点1112、1114、1116、1118)までの距離による重みであり、4つの交点の重みの合計が1となる値であり、例えば、距離の逆数を用いた値である。したがって、各交点から等距離にある場合は、各交点における輝度の1/4を加えた値となる。
【0050】
そして、(12)式によりかぶり量を算出する。
【数12】

なお、pは、予め定めた補正目標値となる輝度値であり、例えば(1)複数の交点(例えば、画像内の全ての交点であってもよいし、検査領域選択モジュール130が選択した領域内における交点であってもよい)の輝度値を集計して、輝度ヒストグラムを生成して、予め定めた交点(例えば、明るい方から上位10%にある交点)の輝度値としてもよいし、(2)操作者が輝度値を設定するようにしてもよい。
図13は、かぶり量を除去した様子を3次元的に表現したものである。x軸、y軸は画像内における位置を示し、z軸は輝度値を示す空間である。z軸において下にある灰色の面がかぶりの画像であり、画像全体を覆っているように位置している。そして、z軸において上にある薄い格子模様の面が補正した後の画像の輝度を示している。pは、図13の例に示すように、前述(1)に示した画像における明るい輝度値である。これに合わせるように、各点における輝度を上げるようにしてかぶりを除去している。図13では、中間点1222の輝度を引き上げていることを示している。
【0051】
ステップS214では、出力モジュール170が、かぶりを除去した画像を出力する。例えば、プリンタでかぶりを除去した画像を印刷する。
【0052】
前述の図14(a)から(c)の説明において、本実施の形態との比較について、図14(c)から(f)の例を用いて説明する。図14(c)の例に示すように撮影画像1430内をライン1432で走査した場合の輝度値をグラフに示すと、図14(d)の例に示すようになる。つまり、かぶり画像1420は右方向に向かうほど濃くなるため、輝度値は右下がりとなるが、元の画像におけるもともとの輝度値があるので、図14(d)のグラフの例のように、輝度分布1442、輝度分布1444、輝度分布1446、輝度分布1448で段階的な輝度の分布を示すことになる。ここで、図14(f)の例のように、目標輝度になるように各輝度を補正すると、その結果は図14(e)の例に示すような補正画像1440となる。背景が白ではない領域1412のような部分は、輝度が明るくなりすぎてしまい、赤色もとんでしまった画像になってしまう。これは、有彩色の部分は白背景より低い輝度値となるにもかかわらず、「一面全体が白い紙原稿」を対象としていることから生じてしまうことである。
一方、本実施の形態では、領域1414を選択し、その領域1414に基づいてかぶり除去量を算出し、画像を補正している。背景が白ではない領域1412のような部分は、図14(e)の例に示すような補正画像1440と比べて、輝度が明るくなりすぎてしまうことを抑制している。
【0053】
図15を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図15に示す構成は、例えばパーソナルコンピュータ(PC)などによって構成されるものであり、スキャナ等のデータ読み取り部1517と、プリンタなどのデータ出力部1518を備えたハードウェア構成例を示している。
【0054】
CPU(Central Processing Unit)1501は、前述の実施の形態において説明した各種のモジュール、すなわち、非エッジ領域抽出モジュール120、検査領域選択モジュール130、画素値測定モジュール140、画素値分布推定モジュール150、かぶり除去モジュール160等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【0055】
ROM(Read Only Memory)1502は、CPU1501が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)1503は、CPU1501の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス1504により相互に接続されている。
【0056】
ホストバス1504は、ブリッジ1505を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス1506に接続されている。
【0057】
キーボード1508、マウス等のポインティングデバイス1509は、操作者により操作される入力デバイスである。ディスプレイ1510は、液晶表示装置又はCRT(Cathode Ray Tube)などがあり、各種情報をテキストやイメージ情報として表示する。
【0058】
HDD(Hard Disk Drive)1511は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU1501によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、受け付けた画像、抽出した領域の画像、測定した画素値、推定した関数などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【0059】
ドライブ1512は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体1513に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース1507、外部バス1506、ブリッジ1505、及びホストバス1504を介して接続されているRAM1503に供給する。リムーバブル記録媒体1513も、ハードディスクと同様のデータ記録領域として利用可能である。
【0060】
接続ポート1514は、外部接続機器1515を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート1514は、インタフェース1507、及び外部バス1506、ブリッジ1505、ホストバス1504等を介してCPU1501等に接続されている。通信部1516は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部1517は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部1518は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【0061】
なお、図15に示す画像処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図15に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図15に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、デジタルカメラ、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
【0062】
なお、前述の各種の実施の形態において、各モジュールの処理内容として対応する背景技術で説明した技術を採用してもよい。
【0063】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray Disc(登録商標))、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【0064】
110…画像受付モジュール
120…非エッジ領域抽出モジュール
130…検査領域選択モジュール
140…画素値測定モジュール
150…画素値分布推定モジュール
160…かぶり除去モジュール
170…出力モジュール
310…撮影装置
410…ソーベルフィルターモジュール
420…2値化モジュール
430…白黒反転モジュール
440…ラベリングモジュール
450…小サイズ除去モジュール

【特許請求の範囲】
【請求項1】
画像を受け付ける受付手段と、
前記受付手段によって受け付けられた画像から領域を抽出する抽出手段と、
前記抽出手段によって抽出された領域を予め定めた規則に基づいて選択する選択手段と、
前記選択手段によって選択された領域内の画素の輝度値を測定する測定手段と、
前記測定手段によって測定された画素値から、前記受付手段によって受け付けられた画像におけるかぶりの度合いを示す関数を推定する推定手段と、
前記推定手段によって推定された関数に基づいて、前記受付手段によって受け付けられた画像からかぶりを除去する除去手段
を具備することを特徴とする画像処理装置。
【請求項2】
前記抽出手段は、予め定めた大きさ以上又はより大きい領域を抽出し、該領域を抽出できなかった場合は、前記選択手段以降の処理を行わない
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記選択手段における予め定めた規則は、前記抽出手段によって抽出された領域の大きさによって定められている
ことを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記選択手段は、予め定めた規則として、さらに前記抽出手段によって抽出された領域の輝度又は彩度によって定められている
ことを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記選択手段は、予め定めた規則として、さらに前記抽出手段によって抽出された領域の彩度の分散値、前記画像における位置、外周の大きさのいずれか一つ以上によって定められている
ことを特徴とする請求項3又は4に記載の画像処理装置。
【請求項6】
前記測定手段は、画素値を測定する走査方向として水平方向、垂直方向、斜め方向、楕円状のいずれか一つ以上である
ことを特徴とする請求項1から5のいずれか一項に記載の画像処理装置。
【請求項7】
前記推定手段は、前記選択手段によって選択された領域内の画素の輝度値を通る関数を推定する
ことを特徴とする請求項1から6のいずれか一項に記載の画像処理装置。
【請求項8】
前記除去手段は、前記測定手段による走査方向が複数方向あり、該走査方向が交差する位置におけるかぶりの値は、該走査に対して前記推定手段によって推定された複数の関数によって求められた値に基づいて算出する
ことを特徴とする請求項7に記載の画像処理装置。
【請求項9】
コンピュータを、
画像を受け付ける受付手段と、
前記受付手段によって受け付けられた画像から領域を抽出する抽出手段と、
前記抽出手段によって抽出された領域を予め定めた規則に基づいて選択する選択手段と、
前記選択手段によって選択された領域内の画素の輝度値を測定する測定手段と、
前記測定手段によって測定された画素値から、前記受付手段によって受け付けられた画像におけるかぶりの度合いを示す関数を推定する推定手段と、
前記推定手段によって推定された関数に基づいて、前記受付手段によって受け付けられた画像からかぶりを除去する除去手段
として機能させるための画像処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2012−243216(P2012−243216A)
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願番号】特願2011−115011(P2011−115011)
【出願日】平成23年5月23日(2011.5.23)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】