図1は、本発明の第1の実施の形態の構成例を示すブロック図である。図中、11は二値化部、12は収縮膨張部、13は領域設定部、14は色推定部である。二値化部11は、入力画像を二値化して、少なくとも地肌部分とそれ以外とが分かるようにする。二値化の方法としては、浮動二値化処理など、周知の方法を用いればよい。
収縮膨張部12は、二値化部11で二値化した画像に対して収縮処理を施した後に膨張処理を施し、前景二値化画像を得る。収縮処理は、地肌部分以外の領域を収縮させる処理であり、この収縮処理により線幅が所定の幅以下の文字や線画については消去される。収縮処理で残った地肌部分以外の領域について、膨張処理によって元の大きさの領域に戻すことになる。
領域設定部13は、色推定部14における処理対象となる注目画素を含む参照領域を設定する。この参照領域は、膨張収縮部12で得た前景二値化画像における注目画素に対応する画素値が多く含まれるように設定する。例えば二値を「0」と「1」とした場合、注目画素が「0」であれば、前景二値化画像の画素値が「0」の画素が多く含まれるように参照領域を設定する。また、注目画素が「1」であれば、前景二値化画像の画素値が「1」の画素が多く含まれるように参照領域を設定する。
色推定部14は、入力画像中の領域設定部13で設定した参照領域内の画素の値をもとに、裏写りしていない元の色を推定して注目画素の色として出力する。推定の際には、領域設定部13によって設定された参照領域の大きさに従った色の推定処理を行う。色の推定処理としては、特許文献3に記載されている方法を用いる。
図2は、色推定部の一例を示すブロック図、図3は、色推定部の動作の一例の説明図である。図中、21は色ヒストグラム算出部、22は色値候補選出部、23は推定色決定部、24はパラメータ設定部である。色推定部14は、入力された画像について、各画素を順に処理対象の注目画素とし、その注目画素について裏写りしていない元の色を推定する。
色ヒストグラム算出部21は、領域設定部13で設定された参照領域内のそれぞれの画素の色のヒストグラムを算出する。図3(A)において太線で囲んだ部分が領域設定部13で設定された参照領域の一例であり、この参照領域内の画素の色のヒストグラムを算出する。算出されたヒストグラムは、図3(B)に示すような、例えば3次元の色空間中の頻度値となる。
色値候補選出部22は、注目画素の色を置き換える、すなわち裏写りしていない、元の色の候補(色値候補)を選出する。そのための処理として、まず、注目画素の色に対応する色空間中の位置から所定の部分色空間内のヒストグラムを2次微分し、頻度の凸部の色(頻度が局所最大値となる色)を求める。求められた頻度の凸部の色を色値候補とする。
図3(B)における黒丸を処理対象の画素の色に対応する位置とし、その黒丸を頂点とする3次元領域(部分色空間)を2次微分の対象としている。図3(C)には、その2次微分の対象となる3次元領域のみを取り出して示しており、黒丸は2次微分により頻度が凸部となる色を示している。この色が色値候補となる。
推定色決定部23は、色値候補選出部22で選出された色値候補から、裏写り前のもとの色と推定される推定色を決定する。決定方法としてはいくつかの方法が考えられる。例えば色値候補のうち、色値候補の頻度値が最大のものや、注目画素の色との色差が小さいもの、明度が高いもの、などを選択するなどがある。もちろん、これらを組み合わせたり、他の条件により選択してもよい。あるいは、複数の色値候補の中間色を推定色として決定したり、処理対象の画素の色との関係から重み付け演算して決定するなど、様々な方法で推定色を決定してもよい。
パラメータ設定部24は、色ヒストグラム算出部21、色値候補選出部22、推定色決定部23の各部に処理のためのパラメータを設定する。ここでは、領域設定部13で設定された参照領域の大きさに応じたパラメータを設定し、各部が参照領域の大きさに応じた処理を行うようにしている。もちろん、キーボード等の入力装置から入力されたパラメータを設定してもよいし、あるいは予め記憶されているパラメータを設定してもよい。また、これらを組み合わせてパラメータを設定してもよい。設定するパラメータとしては、例えば色値候補選出部22では部分色空間の設定や色値候補の決定の際の閾値など、推定色決定部23では色値候補から推定色を決定する際の重み付けなどがある。
図4は、本発明の第1の実施の形態の構成例における動作の一例を示す流れ図である。S101において、二値化部11は入力された画像を二値化し、地肌色の部分とそれ以外の部分とを示す2値の画像である二値化画像を生成する。
S102において、収縮膨張部12は二値化部11で生成された二値化画像について、収縮処理を施した後に膨張処理を施し、前景二値化画像を得る。
S103において、領域設定部13は色推定部14における注目画素を含む参照領域を設定する。上述のように、前景二値化画像における注目画素に対応する画素値が多く含まれるように、入力された画像を参照するための参照領域を設定する。この参照領域の設定は、それぞれの注目画素について行うことになる。
S104において、色推定部14は領域設定部13で設定された参照領域の大きさに応じてパラメータを設定し、参照領域内の画素値を用いて注目画素において裏写りしていない元の色を推定して、注目画素の色として出力する。この色推定の処理は、それぞれの注目画素について行うことになる。
図5は、本発明の第1の実施の形態の構成例における動作の具体例の説明図である。上述の動作の一例について、具体例を用いて説明する。図5(A)は入力された画像の一例を示している。ここでは、ある色によって楕円の図形が描かれている。図示の都合上、斜線を施して示している。なお、背景色は紙の色であるとする。この楕円にかかるように、「HEA」の文字が裏写りによって鏡像で含まれている。図示の都合上、これらの文字を点線によって示している。
このような入力された画像に対して、S101において二値化部11は二値化処理を行う。この例では浮動二値化処理によって二値化を行うものとする。これにより、図5(B)に示す二値化画像が得られる。ここでは楕円部分と裏写りした文字の部分が背景色以外の部分として抽出されている。図示の都合上、これらの部分を黒く示している。
S102において、収縮膨張部12は図5(B)に示した二値化画像に対して収縮処理と膨張処理を施す。収縮処理の際に所定の線幅以下の線は消えてしまうため、膨張処理を行って元の大きさに戻すと二値化画像中の文字の部分が消去される。これにより、図5(C)に示した前景二値化画像が得られる。
S103では、領域設定部13は注目画素を含む参照領域を設定する。図5(D)には注目画素が地肌色の領域の画素である場合を示し、図5(E)には注目画素が地肌色以外の領域の画素である場合を示している。いずれの場合も、基本的な参照領域として注目画素を中心とする矩形(ここでは正方形)領域を用い、この矩形領域を、注目画素に対応する前景二値化画像の値に応じて拡張する。
例えば図5(D)に示す例では、注目画素が地肌色の領域の画素であることから、地肌色の画素が多く含まれるように、矩形領域を拡張する。この例では領域aと領域bについては地肌色の画素で構成されているので、矩形領域をこれらの領域まで拡張し、図5(F)に示すような参照領域を設定する。なお、図5(D)における領域cについても、地肌色以外の画素が少数であるので、参照領域に含めてもよい。
また、図5(E)に示す例では、注目画素が地肌色以外の領域の画素であることから、地肌色以外の画素が多く含まれるように、矩形領域を拡張する。この例では少なくとも領域bについては地肌色の画素で構成されているので、矩形領域をこれらの領域まで拡張し、図5(G)に示すような参照領域を設定する。なお、図5(E)における領域aについても参照領域に含め、図5(H)に示すような参照領域を設定してもよい。
矩形領域の周囲に配置された各領域を参照領域に含めるか否かは、いずれかの値の画素数と予め設定されている閾値とを比較して行えばよい。閾値は、注目画素の前景二値化画像の値が地肌色を示す場合とそれ以外の場合とで異ならせてもよい。なお、拡張する領域の大きさや形状は任意に設定すればよい。例えば斜め方向への拡張を行ってもよい。
このようにして領域設定部13で設定した参照領域を用いて、S104において色推定部14がパラメータの設定と裏写りしていない元の色の推定を行うことになる。色推定部14では、地肌色の領域では地肌色の画素を多く使用して色推定を行い、地肌色以外の領域についても地肌色以外の画素を多く使用して色推定を行うことになる。従って、地肌色とそれ以外の色とが接している領域においても推定誤差が少なくなり、境界の形状が保存されることになる。
図6は、本発明の第1の実施の形態の構成例における動作の別の具体例の説明図である。上述の動作の具体例では、二値化部11における二値化処理として浮動二値化処理を行った場合について示した。ここでは、二値化部11における二値化処理として移動平均法を用いた場合について具体例を示す。移動平均法では、二値化の処理対象の画素を含む所定の大きさの領域を設定し、その領域内の画素の値の平均値をもとに閾値を設定して処理対象の画素の二値化を行うものである。従って、周囲の画素と濃度や色が異なる境界領域が抽出されることになる。その境界領域の幅は、閾値となる平均値を算出する領域の大きさによって調整する。ここでは、領域設定部13が設定する基本的な大きさの参照領域の幅よりも広い幅の境界領域が得られるように二値化時の領域を設定するものとする。
図6(A)は入力された画像の一例を示している。ここでは、ある色によって矩形が描かれている。図示の都合上、斜線により矩形部分の色を示している。なお、背景色は紙の色であるとする。この矩形にかかるように、「HEA」の文字が裏写りによって鏡像で含まれている。図示の都合上、これらの文字を点線によって示している。
このような入力された画像に対して、S101において二値化部11は移動平均法により二値化処理を行う。これにより、図6(B)に示す二値化画像が得られる。ここでは、矩形の境界部分において所定の幅の領域が抽出されている。図示の都合上、これらの部分を黒く示している。なお、この例では裏写りした文字の部分についても、周囲とは濃度や色が異なるものとして抽出されている。
S102において、収縮膨張部12は図6(B)に示した二値化画像に対して収縮処理と膨張処理を施す。収縮処理の際に所定の線幅以下の線は消えてしまうため、膨張処理を行って元の大きさに戻すと二値化画像中の文字の部分が消去される。これにより、図6(C)に示した二値化画像が得られる。
S103では、領域設定部13は注目画素を含む参照領域を設定する。図6(D)には注目画素が地肌色の領域の画素である場合を示し、図6(F)には注目画素が地肌色以外の領域の内部の画素である場合を示し、図6(E)には注目画素が二値化処理によって得られた境界領域の画素である場合を示している。いずれの場合も、基本的な参照領域として注目画素を中心とする矩形(ここでは正方形)領域を用い、この矩形領域を、注目画素に対応する二値化画像の値に応じて拡張する。
例えば図6(D)に示す例では、注目画素が地肌色の領域の画素であることから、地肌色の画素が多く含まれるように、矩形領域を拡張する。この例では領域a,bについては地肌色の画素で構成されているので、矩形領域をこれらの領域まで拡張し、図6(G)に示すような参照領域を設定する。また、図6(F)に示す例についても地肌色以外の色の画素が多く含まれるように、矩形領域を拡張する。この例では、領域a,bの部分まで矩形領域を拡張し、図6(I)に示すような参照領域を設定する。なお、図6(D)においては領域cについても参照領域に含めてもよい。
また、図6(E)に示す例では注目画素が境界領域の画素である。この場合には、境界領域の画素が多く含まれるように、矩形領域を拡張する。この例では領域a,cについては境界領域の画素で構成されているので、矩形領域をこれらの領域まで拡張し、図6(H)に示すような参照領域を設定する。
矩形領域の周囲に配置された各領域を参照領域に含めるか否かは、いずれかの値の画素数と予め設定されている閾値とを比較して行えばよい。閾値は、注目画素が二値化処理によって得られた境界領域か否かによって異ならせてもよい。なお、拡張する領域の大きさや形状は任意に設定すればよい。例えば斜め方向への拡張を行ってもよい。
このようにして領域設定部13で設定した参照領域を用いて、S104において色推定部14がパラメータの設定と裏写りしていない元の色の推定を行うことになる。色推定部14では、地肌色の領域では地肌色の画素を多く使用し、また、地肌色以外の領域の内部についても地肌色以外の画素を多く使用して色推定を行う。さらに境界領域についても境界領域の画素を多く使用して色推定を行うことになる。従って、境界領域における推定誤差が少なくなり、正確にもとの色が推定され、境界の形状が保存されることになる。
図7は、本発明の第1の実施の形態の構成例における別の動作例を示す流れ図である。上述のように移動平均法により二値化処理を行うことによって境界領域が抽出されるが、この境界領域は地肌色以外の領域内に存在する色の異なる境界部分についても抽出される。この動作例では、このような地肌色以外の領域内に存在する境界部分についても色推定の精度を向上させた例を示している。
S111において、二値化部11は入力された画像を移動平均法により二値化し、濃度や色が変化する境界部分を示す2値の画像である二値化画像を生成する。
S112において、収縮膨張部12は二値化部11で生成された二値化画像について収縮処理を施し、孤立領域をラベリングする。ラベリングの方法は任意であり、周知の方法を適用すればよい。
さらに収縮膨張部12は、S113において、異なるラベルが付与された孤立領域が結合しないように膨張処理を施し、前景二値化画像とする。
S114において、領域設定部13は色推定部14における注目画素を含む参照領域を設定する。参照領域の設定は、前景二値化画像における注目画素にラベルが付与されている場合には、その注目画素に対応するラベルの画素が多く含まれるように設定する。なお、注目画素にラベルが付与されていない場合には、参照領域を拡張しなくてもよいし、あるいは、ラベルが付与されていない画素が多く含まれるように参照領域を設定してもよい。参照領域の設定は、それぞれの注目画素について行う。
S115において、色推定部14は領域設定部13で設定された参照領域の大きさに応じてパラメータを設定し、参照領域内の画素値を用いて注目画素において裏写りしていない元の色を推定して、注目画素の色として出力する。この色推定の処理は、それぞれの注目画素について行うことになる。
図8は、本発明の第1の実施の形態の構成例における動作のさらに別の具体例の説明図である。図8(A)は入力された画像の一例を示している。ここでは、ある色によって矩形が描かれ、その一部に別の色によって矩形が描かれた例を示している。図示の都合上、斜線によりそれぞれの矩形部分の色を示している。なお、背景色は紙の色であるとする。これらの矩形にかかるように、「HEA」の文字が裏写りによって鏡像で含まれている。図示の都合上、これらの文字を点線によって示している。なお、この例では移動平均法による二値化処理によって、領域設定部13が設定する基本的な大きさの参照領域の幅よりも狭い幅の境界領域が得られるものとする。
入力された画像に対して、S111において二値化部11は移動平均法により二値化処理を行う。これにより、図8(B)に示す二値化画像が得られる。ここでは、それぞれの矩形の境界部分において所定の幅の領域が抽出されている。図示の都合上、これらの部分を黒く示している。なお、この例では裏写りした文字の部分についても、周囲とは濃度や色が異なるものとして抽出されている。
S112において、収縮膨張部12は図8(B)に示した二値化画像に対して収縮処理を施し、孤立領域をラベリングする。収縮処理の際に所定の線幅以下の線は消えてしまうため、文字の部分が消去されて矩形の境界部分が残っている。この矩形の境界部分に対してラベリング処理を行う。このラベリング処理によって、それぞれの矩形の境界領域を区別する。収縮処理によって図8(C)に示した二値化画像が得られ、それぞれの孤立領域にラベルを付している。ここでは、小さい矩形の境界部分にラベル1を、大きい矩形の地肌との境界部分にラベル2を、それぞれ付している。
収縮膨張部12は、さらにS113において、収縮処理を行った二値化画像に対して膨張処理を施す。これにより、図8(D)に示した二値化画像が得られる。なお、膨張させた部分に対してもラベルを拡張して付しておく。
S114では、領域設定部13は注目画素を含む参照領域を設定する。図8(E)には注目画素が境界領域の画素である場合を示している。基本的な参照領域として注目画素を中心とする矩形(ここでは正方形)領域を用い、この矩形領域を、注目画素に対応するラベルの画素が多く含まれるように参照領域を拡張する。
例えば図8(E)に示す例では、注目画素に対応するラベルがラベル1であることから、ラベル1の画素が多く含まれるように、基本的な参照領域を拡張する。この例では領域a,cにラベル1の画素が多く含まれているので、矩形領域をこれらの領域まで拡張し、図8(F)に示すような参照領域を設定する。なお、領域bについては、境界領域の画素が含まれているものの、異なるラベル(ラベル2)であるため、この領域への拡張は行わない。
注目画素にラベルが付与されていない場合には、基本的な参照領域(矩形領域)をそのまま適用してもよいし、あるいは、ラベルが付与されていない画素が多く含まれるように参照領域を拡張してもよい。
矩形領域の周囲に配置された各領域を参照領域に含めるか否かは、注目画素に対応するラベルが付与された(あるいはラベルが付与されていない)画素数と予め設定されている閾値とを比較して行えばよい。閾値は、注目画素が二値化処理によって得られた境界領域か否かによって異ならせてもよい。なお、拡張する領域の大きさや形状は任意に設定すればよい。例えば斜め方向への拡張を行ってもよい。
このようにして領域設定部13で設定した参照領域を用いて、S115において色推定部14がパラメータの設定と裏写りしていない元の色の推定を行うことになる。色推定部14では、地肌色の領域では地肌色の画素を多く使用し、また、地肌色以外の領域の内部についても地肌色以外の画素を多く使用して色推定を行う。さらに境界領域についても、注目画素に濃度や色が類似する境界部分の画素を多く使用して色推定を行うことになる。従って、境界領域における推定誤差が少なくなり、正確にもとの色が推定され、境界の形状が保存されることになる。
次に、本発明の第2の実施の形態について説明する。この第2の実施の形態では、図1に示した第1の実施の形態の構成中、領域設定部13における参照領域の設定方法が異なる。この第2の実施の形態における領域設定部13は、膨張収縮部12で得た前景二値化画像における注目画素に対応する画素値で構成される参照領域を設定する。例えば二値を「0」と「1」とした場合、注目画素が「0」であれば、前景二値化画像の画素値が「0」の画素で構成される参照領域を設定する。また、注目画素が「1」であれば、前景二値化画像の画素値が「1」の画素で構成される参照領域を設定する。
この第2の実施の形態の動作例としては、図4に示した第1の実施の形態の流れ図におけるS103の処理として、領域設定部13は、前景二値化画像における注目画素に対応する画素値で構成される参照領域を設定すればよい。
図9は、本発明の第2の実施の形態の構成例における動作の具体例の説明図である。上述の第1の実施の形態で説明した通り、図5(A)に示した画像が入力されると、二値化部11が二値化処理を行って図5(B)に示す二値化画像が得られる。ここでは浮動二値化により二値化画像を得たものとしている。さらに、収縮膨張部12が図5(B)に示した二値化画像に対して収縮処理と膨張処理を施し、図5(C)に示した前景二値化画像が得られる。
得られた前景二値化画像をもとに、領域設定部13は注目画素を含む参照領域を設定する。図9(A)には注目画素が地肌色の領域の画素である場合と、注目画素が地肌色以外の領域の画素である場合について、注目画素を中心とする基本的な参照領域を示している。いずれの場合も、基本的な参照領域として注目画素を中心とする矩形(ここでは正方形)領域を用いている。この基本的な参照領域の画素のうち、注目画素に対応する画素値の画素で構成される領域を参照領域として設定する。
例えば、図9(C)に示す例は注目画素が地肌色の領域の画素である場合を示している。図9(A)に示した注目画素が地肌色の場合の基本的な参照領域では、一部に地肌色以外の領域(図中の黒く塗りつぶした領域)が含まれている。この地肌色以外の領域を除去し、図9(C)に示すような地肌色の画素で構成される部分を参照領域として設定すればよい。
また、図9(B)に示す例は注目画素が地肌色以外の領域の画素である場合を示している。図9(A)に示した注目画素が地肌色以外の場合の基本的な参照領域では、一部に地肌色の領域(図中の白い領域)が含まれている。この地肌色以外の領域を除去し、図9(B)に示すような地肌色以外の画素で構成される部分を参照領域として設定すればよい。
このようにして設定された参照領域を用いて、色推定部14がパラメータの設定と裏写りしていない元の色の推定を行えばよい。色推定部14では、地肌色の領域では地肌色の画素を使用して色推定を行い、地肌色以外の領域についても地肌色以外の画素を使用して色推定を行うことになる。従って、地肌色とそれ以外の色とが接している領域においても推定誤差が少なくなり、境界の形状が保存されることになる。
図10は、本発明の第2の実施の形態の構成例における動作の別の具体例の説明図である。この具体例では二値化部11が移動平均法により二値化処理を行う例を示しており、図6で説明したように二値化により抽出される境界領域の幅が基本的な参照領域の大きさよりも広いものとしている。二値化部11で二値化された画像は、さらに収縮膨張部12で縮小処理と膨張処理が施され、図10(A)に示す前景二値化画像が得られる。
得られた前景二値化画像をもとに、領域設定部13は注目画素を含む参照領域を設定する。図10(A)には注目画素が地肌色の領域の画素である場合と、注目画素が地肌色以外の領域のうち境界領域の画素である場合及びそれ以外の場合について、注目画素を中心とする基本的な参照領域を示している。いずれの場合も、基本的な参照領域として注目画素を中心とする矩形(ここでは正方形)領域を用いている。この基本的な参照領域の画素のうち、注目画素に対応する画素値の画素で構成される領域を参照領域として設定する。
例えば、図10(B)に示す例は注目画素が地肌色の領域の画素である場合を示している。図10(A)に示した注目画素が地肌色の場合の基本的な参照領域では、一部に地肌色以外の領域(図中の黒く塗りつぶした境界領域)が含まれている。この地肌色以外の領域を除去し、図10(B)に示すような地肌色の画素で構成される部分を参照領域として設定すればよい。また図10(D)に示す例は注目画素が地肌色以外の領域のうち、境界領域以外の内部の画素である場合を示している。この場合には、図中の黒く塗りつぶした境界領域が一部に含まれている。この地肌色以外の領域を除去し、図10(D)に示すような地肌色以外の領域のうちの境界領域外の画素で構成される部分を参照領域として設定すればよい。
さらに、図10(C)に示す例は注目画素が地肌色以外の領域の境界領域の画素である場合を示している。この例の場合、注目画素は地肌色以外の画素ではあるが、内部の画素とは区別して扱う。そのため、注目画素が境界領域の画素である場合には、地肌色以外の領域であっても、境界領域以外の画素が含まれないように、図10(C)に示すような参照領域を設定する。
このようにして設定された参照領域を用いて、色推定部14がパラメータの設定と裏写りしていない元の色の推定を行う。色推定部14では、地肌色の領域では地肌色の画素を使用して色推定を行い、地肌色以外の領域のうち境界領域以外の内部の領域についてはその領域の画素を使用して色推定を行うことになる。さらに、境界領域についても、その境界領域の画素を使用して色推定を行うことになる。従って、それぞれの領域における、特性が類似した画素を使用して色推定を行うことになり、推定誤差が少なく、境界の形状が保存されることになる。
図11は、本発明の第2の実施の形態の構成例における動作のさらに別の具体例の説明図である。この具体例も二値化部11が移動平均法により二値化処理を行う例を示しており、図8に示した例のように、基本的な参照領域の大きさの方が二値化により抽出される境界領域の幅よりも大きい場合を示している。
図8(A)に示した二値化部11で二値化された画像は、収縮膨張部12で縮小処理を行った後に孤立領域に対してラベリング処理を行い、さらに膨張処理が施されて、図11(A)に示す前景二値化画像が得られる。これは、図8(E)と同じものである。
得られた前景二値化画像をもとに、領域設定部13は注目画素を含む参照領域を設定する。図11(A)には注目画素が境界領域の画素である場合を示している。基本的な参照領域として注目画素を中心とする矩形(ここでは正方形)領域を用いている。この基本的な参照領域の画素のうち、注目画素に対応するラベルが付与された画素で構成される領域を参照領域として設定する。
例えば図11(A)に示す例では、注目画素に対応するラベルがラベル1である場合を示しており、基本的な参照領域の画素のうち、ラベル1の画素で構成される参照領域を設定する。なお、境界領域の画素であっても、他のラベルが付与されている画素は除外する。これにより、図11(B)に示すような参照領域を設定することになる。
図示していないが、注目画素にラベルが付与されていない場合には、基本的な参照領域(矩形領域)をそのまま適用してもよいし、あるいは、ラベルが付与されている画素を除外してラベルが付与されていない画素で構成される参照領域を設定してもよい。
このようにして設定された参照領域を用いて、色推定部14がパラメータの設定と裏写りしていない元の色の推定を行う。色推定部14では、地肌色の領域では地肌色の画素を使用して色推定を行い、地肌色以外の領域のうち境界領域以外の内部の領域についてはその領域の画素を使用して色推定を行うことになる。さらに、境界領域についても、ラベリングされた結果に応じて参照領域が設定されているので、色が類似した画素を使用して色推定を行うことになり、推定誤差が少なく、境界の形状が保存されることになる。
なお、いずれの二値化方法を用いた場合においても、設定された参照領域に含まれる画素が少ないと、色推定部14で裏写りしていない元の色を推定する際に誤差が生じる場合がある。例えば色ヒストグラム算出部21で色ヒストグラムを算出する際のサンプル数が少なくなり、少ない頻度値の中から色値候補を抽出しなければならなくなる。そのため、抽出された色値候補にばらつきが生じ、また色値候補から推定色を決定する際にも誤差が生じやすくなる。このような場合に対処するため、例えば上述の第1の実施の形態で説明したように、注目画素に対応する値の画素が増加するように参照領域を拡張する方法を併用するとよい。
図12は、本発明の第3の実施の形態の構成例を示すブロック図である。図中、31は二値化部、32は収縮処理部、33は膨張処理部、34は端部二値画像取得部、35は色推定部、36は色調整部である。二値化部31は、入力画像を二値化して、少なくとも地肌部分とそれ以外とが分かるようにする。二値化の方法としては、浮動二値化処理など、周知の方法を用いればよい。
収縮処理部32は、二値化部31で二値化した画像に対して収縮処理を施す。この収縮処理によって、地肌部分以外の領域を収縮させる。この収縮処理により線幅が所定の幅以下の文字や線画については消去される。
膨張処理部33は、収縮処理部32で収縮処理を施した後の二値化画像に対して膨張処理を施す。収縮処理部32による収縮処理で残った地肌部分以外の領域について、膨張処理によって元の大きさの領域に戻すことになる。
端部二値画像取得部34は、収縮処理手段32で収縮処理を施した二値化画像と、その後に膨張処理部33で膨張処理を施した二値化画像との差分を端部二値画像として取得する。収縮処理を施した二値化画像とその後に膨張処理を施した二値化画像との差分は、地肌部分以外の領域の端部の領域を示している。
色推定部35は、入力された画像の各画素を注目画素として、その注目画素を含む所定の参照領域内の画素の値をもとに、裏写りしていない元の色を推定する。この色推定部35としては、上述の図2に示した構成を適用すればよい。
色調整部36は、端部二値画像取得部34で取得された端部二値画像に応じて、色推定部35で推定された色と推定前の色との間で色調整を行う。上述のように端部二値画像は地肌部分以外の領域の端部領域を示しており、その端部領域においては、推定色をそのまま出力せずに推定前の色に近づけた色を出力するように調整すればよい。
色推定部35で得られた推定色は、この第3の実施の形態では背景色とそれ以外の領域の境界部分でも一律に参照領域を設定して推定色を決定するため、境界部分での推定誤りが発生し、輪郭形状が崩れる場合がある。色調整部36で調整を行うことによって、境界領域での輪郭形状の崩れを目立たなくしている。
図13は、本発明の第3の実施の形態の構成例における動作の一例を示す流れ図である。S121において、二値化部31は入力された画像を二値化し、地肌色の部分とそれ以外の部分とを示す2値の画像である二値化画像を生成する。
S122において、収縮処理部32が二値化部31で生成された二値化画像について収縮処理を施し、その後にS123において膨張処理部33が膨張処理を施す。さらにS124において、端部二値画像取得部34は、S122で縮小処理を施した二値化画像と、S123でさらに膨張処理を施した二値化画像との差分をとり、端部二値画像を取得する。この端部二値画像には、背景色以外の領域のうちの端部領域が抽出されている。
ここからの処理は、入力された画像のそれぞれの画素を注目画素として行う。S125において、色推定部35は注目画素における裏写りしていない元の色を推定する。S126において、色調整部36はS124で取得した端部二値画像をもとに、S125で推定された色と、推定前の色との間で色調整を行う。より具体的には、S124で取得した端部二値画像を参照し、注目画素に対応する端部二値画像の画素が端部領域以外を示している場合にはS125で得られた推定色を出力する。注目画素に対応する端部二値画像の画素が端部領域を示している場合には、推定色と推定前の色との間の色に調整する。調整量は、任意に設定すればよい。この調整によって、端部領域外の領域の端部に生じる色推定の誤差を軽減して目立たなくしている。
図14は、本発明の第3の実施の形態の構成例における動作の具体例の説明図である。図14(A)には、図5(A)に示した画像の一例を示しており、この画像が入力されたものとする。図示の都合上、楕円の図形の色については斜線を施して示し、また裏写りした文字については点線によって示している。
このような入力された画像に対して、S121において二値化部31が二値化処理を行うことにより、図14(B)に示す二値化画像が得られる。ここでは楕円部分と裏写りした文字の部分が背景色以外の部分として抽出されている。図示の都合上、これらの部分を黒く示している。
S122において、収縮処理部32は図14(B)に示した二値化画像に対して収縮処理を施す。この結果を図14(C)に示している。収縮処理の際に所定の線幅以下の線は消えてしまう。また、楕円形の部分は収縮処理によって小さくなっている。
さらにS123において、図14(C)に示した収縮処理が施された画像に対して、膨張処理部33は膨張処理を施す。この結果を図14(D)に示している。この膨張処理によって、楕円形の部分は元の大きさに戻る。なお、文字の部分は収縮処理の際に消えてしまうため、膨張処理を施しても再現しない。
S124では、収縮処理を施した二値化画像と、さらに膨張処理を施した二値化画像との差分から端部二値画像を取得する。上述のように、収縮処理を施した二値化画像では楕円形の部分は収縮して元の大きさより小さくなっているので、膨張処理でもとの大きさに戻った二値化画像との差分、すなわち膨張処理後の二値化画像では楕円形内であるが収縮処理後の二値化画像では楕円形外となる部分が抽出される。これにより、図14(E)に示すように楕円の端部の領域が抽出されることになる。
このようにして端部二値画像が得られたら、入力された画像の各画素を注目画素として、S125において裏写り前の色を推定する。そして、得られた推定色について、S126において色調整を行う。注目画素が地肌色以外の領域の端部領域、すなわち図14(E)に示した端部二値画像において黒く示した領域の画素である場合には、推定色と元の色との間で色調整を行う。それ以外の場合には推定色を出力する。
上述のように、色推定部35が図2に示す構成によって所定の参照領域を設定して裏写りのない元の色を推定すると、地肌色の領域とそれ以外の領域との境界部分で参照領域内に両方の画素が混在するため推定誤りが発生する場合がある。この第3の実施の形態で説明したように、地肌色以外の領域の端部領域については、推定された色と元の色との間で色調整を行うことにより、推定誤りが発生しても目立たなくし、境界部分の形状が崩れるのを防止している。
図15は、本発明の第3の実施の形態の変形例を示すブロック図である。この第3の実施の形態の変形例では、二値化部41は移動平均法により入力画像を二値化して二値化画像を得る。既に述べたように、移動平均法を用いて二値化処理を行った場合、二値化画像として境界領域が抽出される。そのため、端部二値画像取得部34を設けずに構成している。これに伴い、色調整部36は膨張処理部33で膨張処理を施した後の二値化画像を端部二値画像とし、端部二値画像に応じて、色推定部35で推定された色と推定前の色との間で色調整を行うことになる。
図16は、本発明の第3の実施の形態の変形例の構成例における動作の一例を示す流れ図である。S131において、二値化部41は入力された画像を移動平均法によって二値化し、濃度や色が変化する境界部分を示す2値の画像である二値化画像を生成する。
S132において、収縮処理部32は二値化部41で生成された二値化画像について収縮処理を施し、その後に膨張処理部33は膨張処理を施す。得られた二値化画像を端部二値画像とする。
一方、S133において、色推定部35は注目画素において裏写りしていない元の色を推定し、推定色とする。
S134において、色調整部36はS132で収縮膨張処理を行った後の端部二値画像をもとに、S133で得た推定色と、推定前の色との間で色調整を行う。より具体的には、端部二値画像を参照し、注目画素に対応する値が濃度や色の境界領域以外を示している場合にはS133で得られた推定色を出力する。注目画素に対応する値が濃度や色の境界領域を示している場合には、推定色と推定前の色との間の色に調整する。調整量は、任意に設定すればよい。この調整によって、濃度や色が変化する境界領域に生じる色推定の誤差を軽減して目立たなくしている。
図17は、本発明の第3の実施の形態の変形例の構成例における動作の具体例の説明図である。図17(A)は入力された画像の一例を示している。ここでは、ある色によって矩形が描かれ、更にその中に異なる色によって矩形が描かれている。図示の都合上、斜線を異ならせて色の違いを示している。なお、背景色は紙の色であるとする。これらの矩形にかかるように、「HEA」の文字が裏写りによって鏡像で含まれている。図示の都合上、これらの文字を点線によって示している。
このような入力された画像に対して、S131において二値化部41は移動平均法により二値化処理を行う。これにより、図17(B)に示す二値化画像が得られる。ここでは色が異なる境界部分と裏写りした文字の部分が抽出されている。図示の都合上、これらの部分を黒く示している。
S132において、収縮処理部32は図17(B)に示した二値化画像に対して収縮処理を施し、さらに膨張処理部33が膨張処理を施す。収縮処理の際に所定の線幅以下の線は消えてしまうため、膨張処理を行って元の太さに戻すと二値化画像中の文字の部分が消去される。これにより、図17(C)に示した端部二値画像が得られる。
一方、色推定部35では入力された画像の各画素を注目画素として、S133において裏写り前の色を推定して推定色とする。そして、得られた推定色について、S134において色調整を行う。注目画素が濃度や色の変化する境界領域、すなわち図17(C)に示した端部二値画像において黒く示した領域の画素である場合には、推定色と元の色との間で色調整を行う。それ以外の場合には推定色を出力する。
上述のように、色推定部35が図2に示す構成によって所定の参照領域を設定して裏写りのない元の色を推定すると、濃度や色が大きく変化する境界領域では推定誤りが発生する場合がある。この第3の実施の形態の変形例においても、境界領域については、推定色と元の色との間で色調整を行うことにより、推定誤りが発生しても目立たなくし、境界部分の形状が崩れるのを防止している。
図18は、本発明の各実施の形態及びその変形例で説明した機能をコンピュータプログラムで実現した場合におけるコンピュータプログラム及びそのコンピュータプログラムを格納した記憶媒体とコンピュータの一例の説明図である。図中、51はプログラム、52はコンピュータ、61は光磁気ディスク、62は光ディスク、63は磁気ディスク、64はメモリ、71はCPU、72は内部メモリ、73は読取部、74はハードディスク、75はインタフェース、76は通信部である。
上述の各実施の形態及びその変形例で説明した各部の機能の一部または全部を、コンピュータにより実行可能なプログラム51によって実現してもよい。その場合、そのプログラム51およびそのプログラムが用いるデータなどは、コンピュータが読み取り可能な記憶媒体に記憶しておけばよい。記憶媒体とは、コンピュータのハードウェア資源に備えられている読取部73に対して、プログラムの記述内容に応じて、磁気、光、電気等のエネルギーの変化状態を引き起こして、それに対応する信号の形式で、読取部73にプログラムの記述内容を伝達できるものである。例えば、光磁気ディスク61,光ディスク62(CDやDVDなどを含む)、磁気ディスク63,メモリ64(ICカード、メモリカードなどを含む)等である。もちろんこれらの記憶媒体は、可搬型に限られるものではない。
これらの記憶媒体にプログラム51を格納しておき、例えばコンピュータ52の読取部73あるいはインタフェース75にこれらの記憶媒体を装着することによって、コンピュータからプログラム51を読み出し、内部メモリ72またはハードディスク74に記憶し、CPU71によってプログラム51を実行することによって、上述の各実施の形態及びその変形例で説明した機能の全部または一部を実現すればよい。あるいは、ネットワークなどを介してプログラム51をコンピュータ52に転送し、コンピュータ52では通信部76でプログラム51を受信して内部メモリ72またはハードディスク74に記憶し、CPU71によってプログラム51を実行することによって、上述の各実施の形態及びその変形例で説明した機能の全部または一部を実現してもよい。なお、コンピュータ52には、このほかインタフェース75を介して様々な装置が接続されていてもよく、例えば情報を表示する表示装置やユーザが情報を入力する入力装置等も接続されている。
もちろん、一部の機能についてハードウェアによって構成してもよいし、すべてをハードウェアで構成してもよい。あるいは、プログラム51を他の構成とともに構成してもよい。例えば複写機などの画像読取装置や画像形成装置を含む装置において制御プログラムとともに1つのプログラムとして構成し、画像読取装置で読み取られた裏写りを含む画像から裏写りを除去するように構成してもよい。もちろん、他の用途に適用する場合には、その用途におけるプログラムと一体化してもよい。
11…二値化部、12…収縮膨張部、13…領域設定部、14…色推定部、21…色ヒストグラム算出部、22…色値候補選出部、23…推定色決定部、24…パラメータ設定部、31…二値化部、32…収縮処理部、33…膨張処理部、34…端部二値画像取得部、35…色推定部、36…色調整部、51…プログラム、52…コンピュータ、61…光磁気ディスク、62…光ディスク、63…磁気ディスク、64…メモリ、71…CPU、72…内部メモリ、73…読取部、74…ハードディスク、75…インタフェース、76…通信部。