JP3804214B2 - 画像処理方法および画像処理装置 - Google Patents
画像処理方法および画像処理装置 Download PDFInfo
- Publication number
- JP3804214B2 JP3804214B2 JP26169297A JP26169297A JP3804214B2 JP 3804214 B2 JP3804214 B2 JP 3804214B2 JP 26169297 A JP26169297 A JP 26169297A JP 26169297 A JP26169297 A JP 26169297A JP 3804214 B2 JP3804214 B2 JP 3804214B2
- Authority
- JP
- Japan
- Prior art keywords
- line
- luminance value
- pixel
- luminance
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Processing (AREA)
- Transforming Light Signals Into Electric Signals (AREA)
- Facsimile Image Signal Circuits (AREA)
- Image Input (AREA)
Description
【発明の属する技術分野】
本発明は、映像および画像関連機器における画像処理技術に関するもので、CCDカメラなどのシェーディング(照明むらによる輝度差)が生じるセンサで撮られた画像のシェーディングを補正するのに適した画像処理方法および画像処理装置に関する。
【0002】
【従来の技術】
CCDカメラなどのエリアセンサで撮られた画像は、シェーディングによる影響により、ディジタル処理後の画像に暗い影が生じる場合がある。特に、画像の端部に近い部分(画像の周辺部という)にシェーディングの影響が現れやすい。さらに、風景などの自然画を取り込んだ場合に比べ、均一な背景色の中に文字や図形などの線画が存在する画像を取り込んだ場合に、シェーディングの影響が画像に顕著に現れ、見た目によくない画像となる場合が多い。
【0003】
ところで、最近では、手書き入力情報だけでなくCCDカメラを内蔵して画像の取り込みをも可能にした小型携帯情報処理機器が実用化されてきている。この小型携帯情報処理機器は、取り込んだ情報を取り込みと同時に表示したり、すでに取り込まれている情報を読み出して表示するための表示部が設けられている。このような小型携帯機器の表示部としては、電池の寿命を考慮して反射形の液晶表示装置(LCDという)が用いられることが多い。
【0004】
このLCDは、一般に、表示階調数が少なく、たとえば4階調程度である場合が多い。これに対して、CCD撮像素子を用いたCCDカメラは、256階調というように高い階調数を持っている。したがって、CCDカメラで取り込んだ画像をLCDに表示する場合は、階調数を減らす必要がある。
【0005】
この階調を減らす処理を行う際、前記したようなシェーディングの影響を受けて周辺が暗くなった画像を、たとえば、4値化処理すると、処理後の画像は、周辺部の暗い部分が黒いつぶれとなって現れる場合もある。
【0006】
そこで、シェーディングの影響を受けた画像に対して、そのシェーディングの影響を補正する必要が生じてくる。
【0007】
従来のシェーディング補正の方法として、シェーディングの影響を受けた1画面分の画像データを取り込んだのち、似たような明るさになるように画面を幾つかの領域に分割して、全体が滑らかな明るさの変化となるような処理を行うものがある(信学技報、IE96−21,1996−09、「CCDカメラで取り込んだ画像の2値化に関する研究」)。
【0008】
【発明が解決しようとする課題】
この従来技術は、シェーディング補正を行う際、1画面分の画像データを取り込んで幾つかの領域に分割する処理を行うため、ワークメモリとして、少なくとも1画面分の画像データを蓄えるための大きな容量を持ったメモリが必要となる。
【0009】
しかし、CCDカメラは一般に小型の機器に使用される場合が多い。特に、電子手帳のような携帯用の情報処理機器に、今後、さらに使用されることが多くなると思われる。この種の機器にあっては、小型、軽量化は勿論、低コスト化も要求され、使用する部品にも大きな制約がある。したがって、ワークメモリなどもなるべく小容量のものを使用することが望ましい。
【0010】
また、CCDカメラで撮影される被写体は、線画のみではなく、風景などの自然画もその対象となる。そして、これらの画像を前記したように、階調数の少ない表示部で表示する場合には、階調数を少なくする処理(たとえば、256階調を4階調とする処理)を行う必要がある。
【0011】
この階調数を少なくする処理としては、「大津の方法」(電気通信学会論文誌、'84/4,vol.J63-D No.4 349頁)や誤差拡散法、ディザ法などを適用することで対応できる。
【0012】
前記した「大津の方法」は、2値化するためのしきい値を設定するには適した技術である。これを利用して、たとえば、4値化する場合には、まず、2値化のためのしきい値を決定する処理を行ったのち、そのしきい値により分割されたそれぞれの領域に対して同様にそれぞれしきい値を求めるという処理を行う。この方法は、n値化を行うための演残量は多いが、線画などエッジを明瞭に保存する必要のある画像に対しては有効な方法である。
【0013】
一方、誤差拡散法やディザ法は、面積的に階調を出そうとするものであるため、エッジが保存されにくい欠点がある。このため、明るい背景の中に文字や図形などの線画が存在するような画像を取り込んで、階調変換処理するような場合は、その有意情報である線画のエッジ部分が不明瞭なものとなりやすく、見た目によい画像が得られないという問題がある。
【0014】
このように、文字や図形などの線画に対しては、大津の方法などによる固定的なしきい値を用いた2値化処理が適し、自然画に対しては面積的に階調を出そうとする誤差拡散法やディザ法階調が適している。したがって、階調を減らすためには、線画か自然画かに応じて、階調処理方法を選択して階調処理を施すことが望ましい。
【0015】
そこで本発明は、まず、シェーディングの影響が顕著に現れやすい文字や図形などの線画に対して、所定ライン単位でシェーディングの影響を除去することで、ワークメモリの小容量化を図ることを目的とし、装置全体の小型軽量化を図り、低コスト化をも可能とすることを1つの目的としている。
【0016】
また、このシェーディング補正と、n−1個のしきい値によるn値化処理とを組み合わせることにより、CCDカメラなどのエリアセンサで撮られたシェーディングのある画像に対して、そのシェーディングの影響を無くし、かつ、エッジが保存された状態で階調を減らすことができるようにし、さらに、線画か否かを判断し、線画である場合のみにシェーディング補正するという処理を行うことにより、シェーディングが顕著に現れやすい線画のみに対してシェーディング補正処理を行うことができ、処理を軽減し、処理時間の短縮化を図る。さらにまた、線画か否かを判断し、線画であればシェーディング補正を行うとともに、nー1個のしきい値を用いた階調処理を行い、線画でなければ、自然画とみなして自然画に適した階調処理方法により階調処理するという処理を行うことにより、CCDカメラなどのシェーディングの発生しやすいエリアセンサで撮られた画像を反射型のLCDなどに表示する際に、撮影対象に関係なく撮影対象に適した処理を自動的に行い、良好な画像を表示することを目的としている。
【0018】
【課題を解決するための手段】
その具体的な方法としては、入力された画像データの所定ラインごとにその所定ラインを構成する画素が線画のエッジ部を構成する画素か否かを判断し、エッジを構成する画素でない場合は、それ以前に処理されたライン上の対応する画素位置の輝度値をもとに処理中の画素の輝度値を演算により求め、この求められた輝度値により、それ以前に処理された輝度値を更新し、エッジを構成する画素である場合は、それ以前に処理されたライン上の対応する画素位置の輝度値をそのまま保持する処理を、所定ラインづつその所定ラインを構成する画素ごとに繰り返して行うことで、線画におけるエッジ部分の輝度の影響を除去した各画素ごとの輝度値を所定ライン単位で求める背景予測処理を行ったのち、この背景予測処理において得られた所定ラインにおける各画素ごとの輝度値が、所望とする輝度値以下であると判定された場合に、その輝度値を有する画素を含む所定の探索範囲を設定し、その探索範囲内における隣接画素との輝度変化を各画素ごとに調べ、探索範囲内において輝度変化の少ない画素が予め設定した数以上である場合には、その輝度変化の少ない画素の輝度値を基にして輝度値を決定し、探索範囲内において輝度変化の少ない画素が予め設定した数より少ない場合には、探索範囲全体の画素の輝度値をもとにして輝度値を決定して、この決定された値により背景予測結果の修正処理を行い、さらに、この背景予測結果の修正処理により修正された結果と、所望とする値として設定された輝度値とを比較して、その差分を求め、求められた差分を前記入力された画像データの対応する画素位置の輝度値に対して加減することにより、所望の輝度値となるような背景補正を行うことを特徴としている。
【0019】
このように本発明では、シェーディングの影響が顕著に現れやすい文字や図形などの線画に対して、所定ライン単位でシェーディングの影響を除去するようにしている。特に、1ラインづつの処理を行うことにより、ワークメモリとしては1ライン分のラインメモリで済むためワークメモリの小容量化を図ることができ、また、1ラインごとの処理であるため、画像の取り込みを行いながら1ラインの処理が終了したらそれを表示し、次の1ラインの処理が終了したらそれを表示するということができるため、連続的な入力に対応しやすいという利点がある。さらに、前記処理されたライン上の対応する画素位置の画素の輝度値をもとに処理対象画素の輝度値を演算により求める処理は、それ以前に処理されたライン上の対応する画素位置の輝度値と、処理中の画素の輝度値との平均をとる処理である。これにより、簡単な演算でエッジ部分の輝度の影響を減らすことができる。
【0032】
その具体的な装置としては、入力された画像データの所定ライン分のデータを保持する画像データ用ラインメモリと、この画像データ用ラインメモリに保持された画像データの所定ラインごとにその所定ラインを構成する画素が線画のエッジ部を構成する画素か否かを判断し、エッジを構成する画素でない場合は、それ以前に処理されたライン上の対応する画素位置の輝度値をもとに、処理中の画素の輝度値を演算により求め、この求められた輝度値により、それ以前に処理された輝度値を更新し、エッジを構成する画素である場合は、それ以前に処理されたライン上の対応する画素位置の輝度値をそのまま保持する処理を、所定ラインづつその所定ラインを構成する画素ごとに繰り返して行うことで、線画におけるエッジ部分の輝度の影響を除去した処理対象ラインにおける各画素ごとの輝度値をライン単位で求める背景予測手段と、この背景予測手段で得られた処理対象ラインにおける各画素ごとの輝度値を保持する背景予測用ラインメモリと、前記背景予測処理において得られた背景予測用ラインメモリの内容をもとに、処理対象ラインにおいて、各画素位置対応の輝度値が、所望とする輝度値以下であると判定された場合に、その輝度値を有する画素を含む所定範囲の探索範囲を設定し、その探索範囲内における隣接画素との輝度変化を各画素ごとに調べ、探索範囲内において輝度変化の少ない画素が予め設定した数以上である場合には、その輝度変化の少ない画素の輝度値を基にして輝度値を決定し、探索範囲内において輝度変化の少ない画素が予め設定した数より少ない場合には、探索範囲全体の画素の輝度値を基にして輝度値を決定し、前記背景予測用ラインメモリの対応する画素位置の内容を前記決定された内容に更新して背景予測結果の修正を行う背景予測修正手段と、前記背景予測結果修正手段により修正された結果と、所望とする値として設定された輝度値とを比較してその差分を求め、求められた差分を前記画像データ用ラインメモリの対応する画素位置の輝度値に対して加減することにより所望とする輝度値に輝度補正する背景補正手段とを有することを特徴としている。
【0033】
このように本発明では、シェーディングの影響が顕著に現れやすい文字や図形などの線画に対して、所定ライン単位でシェーディングの影響を除去するようにしている。特に、1ラインづつの処理を行うことにより、ワークメモリとしては1ライン分の画像データ用ラインメモリと背景予測用ラインメモリで済むためワークメモリの小容量化を図ることができ、装置全体を小型軽量化が図れ、低コスト化も可能となる。また、1ラインごとの処理であるため、画像の取り込みを行いながら1ラインの処理が終了したらそれを表示し、次の1ラインの処理が終了したらそれを表示するということができるため、連続的な入力に対応しやすいという利点がある。
【0034】
さらに、前記処理されたライン上の対応する画素位置の画素の輝度値をもとに処理対象画素の輝度値を演算により求める処理は、それ以前に処理されたライン上の対応する画素位置の輝度値と、処理中の画素の輝度値との平均をとる処理である。これにより、簡単な演算でエッジ部分の輝度の影響を減らすことができる。
【0045】
【発明の実施の形態】
以下、本発の実施の形態を図面を参照して説明する。
【0046】
(第1の実施の形態)
この第1の実施の形態では、撮影対象画像はほぼ均一色の背景内に文字や図形などの線画が描かれているような画像であるものとし、その画像がシェーディングの影響を受けているものとする。図1は第1の実施の形態の全体的な概略処理を説明するフローチャートであり、以下、処理手順を説明する。
【0047】
まず、概略的な処理について説明し、個々の詳細な処理については、のちに説明する。
【0048】
図1において、CCDカメラで取り込まれた画像データの1ライン分のデータについて背景を予測するための背景予測を行う(ステップs1)。そして、その背景予測された結果を用いて、予測結果の修正を行い(ステップs2)、その予測結果の修正データを参照して背景補正を行う(ステップs3)。そして1画面の全ラインの処理が終了したか否かを判断して(ステップs4)、終了していなければ、次のラインについてステップs1以降の処理を行う。
【0049】
前記背景予測処理は以下のようにして行う。
【0050】
図2はCCDカメラにより取り込まれた或る1画面分の画像例を示すもので、明るい均一色の背景10に文字などの線画20が存在している。そして、この図2では表現されていないが、シェーディングの影響を受けて、画像の周辺部が中央部に比べて暗い画像となっているものとする。
【0051】
図3(a)は図2で示すような画像のある1ライン(たとえば、図2の破線で示す1ライン)における画素(それぞれの画素番号を「0,1,2,・・・,i,・・・,n」で表す)に対する輝度値(0から255の輝度範囲をとるものとする)の関係を示すもので、輝度値が急激に落ち込んでいる部分は、文字を構成する画素の輝度を示すものであり、その他は背景を構成する画素の輝度を示している。なお、図2の破線で示す1ライン上における文字部分の輝度と図3の輝度の変化はこの場合、必ずしも一致していない。また、この画像はシェーディングの影響を受けているので、背景部分の輝度の変化曲線は、画像の中央付近の輝度が高く、両端部に近いほど輝度が小さくなるような曲線を描いている。
【0052】
このようなシェーディングの影響を受けた背景に対してシェーディングの影響を除去するのであるが、まず、文字の影響を殆ど除去して背景部分の輝度変化を大まかになだらかにする処理を行う。これをここでは背景予測処理と呼ぶ。この背景予測処理について、図4のフローチャートを参照しながら説明する。
【0053】
図4において、まず、処理対象のラインが最初のラインか否かを判定する(ステップs11)。最初のラインである場合には、予測結果バッファに最初のラインを構成する各画素の輝度を画素対応にそのまま格納する(ステップs12)。一方、処理対象のラインが最初のラインでない場合には、ステップs13以降の処理に入る。
【0054】
ステップs13では、当該ラインにおける処理対象画素の輝度値a〔i〕をその処理対象画素の直前の画素の輝度値a〔i-1〕から引いて、その差をCとする処理を行う。次に、ステップs13で求めたCの絶対値と予め定めた定数αとを比較して(ステップs14)、当該画素が文字のエッジ部分の画素であるか、それ以外の画素であるかを判定する。つまり、取り込まれた画像データの輝度範囲を0〜255とした場合、ここでは、αを「10」程度に定め、|C|≦αであれば、当該画素は背景部分を構成する画素であると判断し、|C|≦αでなければ、文字のエッジ部分の画素であるとみなす。なお、αの値は「10」に限られるものではなく、様々な条件によって最適な値を設定することができる。
【0055】
この処理によって、処理対象画素が背景画素であると判定された場合は、当該処理対象画素に対応する予測結果バッファの内容を更新する。すなわち、予測結果バッファの内容のうち、処理対象画素の位置に対応する画素の輝度値に、処理対象画素の輝度値を足し算してそれを2で割って、つまり、平均を取って、その計算結果を予測結果バッファの対応する画素位置に格納する(ステップs15)。これをさらに具体的に説明する。
【0056】
1ライン分の画素の番号を、1,2,・・・,i,・・・,nで表すとすれば、予測結果バッファには1ライン分の各画素に対応した輝度値b〔1〕,b〔2〕,・・・,b〔i〕,・・・,b〔n〕が格納される。そして、現在の処理対象画素が、あるラインのi番目の画素であるとすれば、その処理対象画素の輝度値a〔i〕と、予測結果バッファにすでに格納されている前ラインのi番目の画素の輝度値b〔i〕との平均を取って、その値を新たなデータとして、予測結果バッファのb〔i〕とする。背景の輝度において急激な変化はないと考えられるので、平均を取ることによりノイズに強い背景予測となる。
【0057】
そして次に、現在処理中の1ラインの全画素について処理を終了したか否かを判断し(ステップs16)、処理が終了していなければ、そのラインの次の画素について、ステップs13の処理を行い、ステップs14にて|C|≦αであれば、当該画素は背景部分を構成する画素であると判断し、ステップs15,s16の処理を行う。このように、予測結果バッファには、それぞれの位置の画素ごとに、前ラインの同位置の画素の輝度値と現在処理中の画素との平均の輝度値が格納される。
【0058】
そして、その1ラインのすべての画素についての処理が終了すると、次に予測結果の修正処理に移る。この処理については後に詳細に説明する。
【0059】
以上のように、処理対象のラインにおけるそれぞれの画素が背景であるとみなされた場合には、それまでの計算結果(処理されたラインのそれぞれ対応する位置における画素の輝度値の平均値)を用いて、その計算結果と現在処理中の画素の輝度値の平均を求めて、それを新たなデータとして予測結果バッファに格納し、次のラインでは、対応する位置の画素が背景であるとみなされた場合には、それまでの計算結果(対応する位置の画素の輝度値の平均値)を用いて、その計算結果と現在処理中の画素の輝度値の平均を求めて、それを新たなデータとして予測結果バッファに格納するという処理を行う。
【0060】
一方、ステップs14において、|C|≦αでないと判定された場合、つまり、処理対象画素がエッジ部を構成する画素であると判定された場合には、背景の輝度の変化はなだらかであること、および、文字等を構成するエッジ部分の影響の除去を考慮して、何も処理を行わない。したがって、予測結果バッファの値は変更されず、その画素に対応する位置の輝度値は、前ラインまでに求められたデータがそのまま保持される。
【0061】
図3(b)は以上のような背景予測処理を行ったあとの或るライン(図3(a)と同じライン)におけるそれぞれの画素に対する輝度変化を示す曲線である。この図3(b)からもわかるように、図3(a)に比べて、シェーディングの影響による背景部分の輝度の予測は、ある程度は滑らかなものとなっている。なお。図3(b)において、L0はシェーディングの影響を除去して或る一定の輝度値にしようとする際の所望とする輝度値を示している。
【0062】
また、図3(b)において、まだ、輝度の急激な低下部分が残っている。これは、これまでの背景予測処理ではエッジ部分以外の文字のデータは使われるため、その影響により生じるものである。
【0063】
つまり、図4のフローチャートにおけるステップs14は、|C|≦αであれば背景、|C|≦αでなければエッジというように説明したが、実際には文字は一定の幅を持ち、幅を持つ線の部分を構成する画素の場合は、隣接する画素との間で、|C|≦αが成り立つことになり、その線の部分のデータが用いられて、ステップs15の処理が行われることになる。したがって、図3(b)の輝度が急激に下がっている部分は、文字の影響が少し残っているために生じるものである。これを修正するのが予測結果の修正処理である。この予測結果修正処理は予測結果バッファのデータを用いて、予測結果の修正処理を行う(ステップs2)。この予測結果の修正処理は、文字の影響が残った部分を中心に背景を修正し、背景のみの輝度曲線を得る処理であり、以下に、この予測結果の修正処理について図5のフローチャートを参照しながら説明する。
【0064】
図5において、まず、所望とする輝度L0と処理対象ラインにおける1つの画素の輝度b〔i〕を比較し(ステップs21)、L0>b〔i〕、つまり、所望とする輝度L0よりも予測結果バッファ内のある画素の輝度が小さい場合は、その画素は文字の影響が残っていて輝度が落ち込んでいるものとみなして修正処理を行う。この修正処理はステップs22以降の手順に従って行う。
【0065】
始めに探索範囲の設定を行う(ステップs22)。この探索範囲の設定は、処理対象画素を中心に、画像における1ライン上の幅の1/10程度を探索範囲とし、その範囲の画素を探索範囲画素として設定する。たとえば、図3(b)において、iの位置の画素が、L0>b〔i〕と判断された場合、その画素を中心に、図示の如く、探索範囲wが設定される。
【0066】
このようにして探索範囲の設定が行われると、次に初期化を行う(ステップs23)。この初期化は、add〔1〕を0、countを0とするとともに、add〔2〕を0、refを直前の画素の予測結果とする。これらの意味については、説明を分かり易くするため、ステップs24,s25,s26の処理説明のなかで述べる。
【0067】
ステップs24では、refから探索範囲内のある画素の予測結果b〔j〕を引いた値が、予め定めた定数βより小さいか否かの判断を行う。つまり、ref−b〔j〕<βを判断する。ここで、jはステップs22で設定された探索範囲内での位置を示す変数である。また、βは画像の輝度範囲0〜255とした場合、β=20程度に設定される。この値βは、これに限られるものではなく、様々な条件によって最適な値とすればよい。
【0068】
そして、ref−b〔j〕<βである場合には、処理対象画素の予測結果が直前の画素の予測結果と差が比較的小さいということであるため、その処理対象画素の予測結果は良好な値であって輝度の変化が滑らかであると判断する。このような処理対象画素の予測結果が良好であると判断された場合は、その処理対象画素の予測結果をこれまでのadd〔1〕に新たにプラスして、それをadd〔1〕とする。さらに、良好であると判断された画素の数をこれまでのcountにプラスする(ステップs25)。
【0069】
このように、add〔1〕は探索範囲内において良好な予測結果を有する画素の予測結果を加算して得られる値であり、countはその画素数を表すものである。
【0070】
ここで、処理対象画素が探索範囲内での最初の画素であれば、add〔1〕は初期値として「0」、countも初期値として「0」となっているので、この1番目の画素に対する処理後には、add〔1〕の値は当該画素の予測結果そのものとなるとともに、countは「1」となる。
【0071】
次に、ステップ26により、その処理対象画素の予測結果を、これまでのadd〔2〕に新たにプラスして、それをadd〔2〕とする。たとえば、処置対象画素の予測結果をb〔j〕とすれば、add〔2〕+b〔j〕とし、その結果を新たなadd〔2〕とする。このadd〔2〕は、良好な予測結果か良好でない予測結果にかかわらず探索範囲全体の画素の予測結果を加算して得られる値である。たとえば、処理対象画素が探索範囲内での最初の画素であれば、add〔2〕は初期値として「0」となっているので、この1番目の画素に対する処理後には、add〔2〕の値は当該画素の予測結果そのものとなる。
【0072】
ところで、前記ステップs24において、ref−b〔j〕<βでない場合には、処理対象画素の予測結果が直前の画素の予測結果と差が大きいということであるため、その処理対象画素の予測結果は良好でない値、すなわち背景以外の文字等の影響が残る画素であると判断する。このように、処理対象画素の予測結果が良好でないと判断された場合は、直接、ステップ26の処理を行い、その処理対象画素の予測結果をこれまでのadd〔2〕に新たにプラスして、それをadd〔2〕とする。このように、add〔2〕は、良好な予測結果か良好でない予測結果にかかわらず探索範囲全体の画素の予測結果を加算して得られる値となる。
【0073】
そして次に、探索範囲のすべての画素について処理が終了したか否かを判断し(ステップs27)、終了していなければ、当該探索範囲内の次の画素についてステップs24、s25,s26の処理を行う。
【0074】
このようにして、探索範囲内のすべての画素について処理が終了すると、次に、修正値の決定処理を行う(ステップs28)。この修正値の決定処理は、次のようにして行う。
【0075】
まず、1つの探索範囲内における各画素についての処理(ステップs24〜s26)が終了したのち、countの数、つまり、良好であるとされた予測結果を有する画素数が幾つあるかを判断して、その数がある一定数以上に達しているときは、add〔1〕の値(この値は、良好であるとされた予測結果の累計値)を、countの数で割って、平均の予測結果を求める。そして、このようにして求められた平均の予測結果を、L0>b〔i〕となった画素(ステップs21)に対する予測結果の修正輝度値とする。ここである一定数以上としたのは、ステップs2の予測結果の修正は統計量を基に修正を行っており、サンプル数が少ない場合は、統計量として適切でないからである。
【0076】
一方、良好であるとされた予測結果を有する画素数がある一定数以上に達していないとき、つまり、良好であるとされた予測結果を有する画素数が少ないときは、ステップs26にて求められた探索範囲内の予測結果累計値add〔2〕を、探索範囲内のすべての画素数で割って、探索範囲内の平均の予測結果を求め、その探索範囲内の平均の予測結果を、L0>b〔i〕となった画素(ステップs21)に対する予測結果の修正輝度値とする。
【0077】
このように、この修正処理は、設定された探索範囲内において、良好であるとされた画素数がある一定数以上存在する場合には、良好であるとされた予測結果の累計値の平均の予測結果を用いて処理対象画素の輝度値を修正処理し、良好であるとされた予測結果を有する画素数が少ないときは、探索範囲内全体の予測結果累計値の平均の予測結果を求め、探索範囲内全体の平均の予測結果を用いて、処理対象画素の輝度値を修正処理を行う。
【0078】
以上のようにして、ある画素についての処理が終了すると、次に、現在処理中のラインの全画素について処理が終了したか否かを判断し(ステップs29)、終了していなければ、ステップs21に処理が戻って、再び、ステップs21以降の処理を行う。
【0079】
図3(c)は以上説明した予測結果の修正処理が終了して、文字の影響が殆どなくなった背景部分の予測結果を示すものである。
【0080】
次に、このような背景の予測結果を用いて、シェーディングの影響を除去した一定の輝度値とする背景補正処理を行う(ステップs3)。
【0081】
この背景補正処理は、図3(c)に示される予測結果の修正処理がなされた処理対象ラインの輝度曲線において、処理対象ラインのそれぞれの画素に対する輝度値を、所望とするある一定の輝度値L0とする処理であり、たとえば、ある一定の輝度値L0と予測結果修正された輝度曲線との差を各画素ごとに取って、その差を0とするように、処理対象ラインの各画素の輝度に適当な値をプラスあるいはマイナスして行う。これにより、背景の輝度は、ある一定の輝度値L0となって、明るさが一定となり、シェーディングの影響が除去されたものとなる。
【0082】
そして、最終的には、処理対象ラインにおける文字の部分を含めた輝度分布は図3(d)のようになる。以上のような処理をすべてのラインについて行ったのちの画像は、画面全体がほぼ均一の明るい背景となり、シェーディングの影響が取り除かれた画像となる。
【0083】
図6は本発明の実施の形態を実現するための装置の構成例を示すもので、レンズ1、CCDカメラ2、A/D変換器3、CCD制御回路4、画像処理装置5から構成されている。
【0084】
画像処理装置5はこれまで説明した処理を行う部分であり、画像データ用ラインメモリ51、背景予測用ラインメモリ52、背景予測手段53、予測結果修正手段54、背景補正手段55を有し、前記背景予測用ラインメモリ52、背景予測手段53、予測結果修正手段54、背景補正手段55によりシェーディング補正部56を構成している。
【0085】
前記画像データ用ラインメモリ51は、CCDカメラ2で取り込まれてA/D変換された画像データのある1ライン分のデータを格納するメモリである。そして、背景予測手段52は、画像データ用ラインメモリ51に格納された1ライン分の画像データを用いて、前記図4のフローチャートで説明したような背景予測処理を行い、この背景予測を行う際のワークメモリとして背景予測用ラインメモリ52が用いられる。この背景予測用ラインメモリ52は、図4においては予測結果バッファに相当するものであり、ある1ラインにおける全画素の処理が終了した時点では、当該ラインにおける各画素の予測結果がそれぞれの画素対応に格納される。
【0086】
また、予測結果修正手段54は、図5のフローチャートで説明した背景結果修正処理を行うもので、背景予測用ラインメモリ52の内容を用いて図5の処理手順に沿った修正処理を行う。そして、背景予測用ラインメモリ52のデータを、修正後のデータに更新する。
【0087】
さらに、背景補正手段55は、図1のフローチャートのステップs3の処理を行うもので、修正後のデータが格納された背景予測用ラインメモリ52のデータを用て、画像データラインメモリ51の内容に対して背景補正を行い、最終的に図3(d)に示すような画像とする。
【0088】
以上の処理は1ライン毎に行われるもので、画像の取り込みを行いながら1ラインの処理が終了したらそれを表示し、次の1ラインの処理が終了したらそれを表示するというような1ライン毎の連続的な処理を行う。
【0089】
以上説明したように、第1の実施の形態は、線画部分の影響がでないような背景部分の予測を行い、しかも、前ラインにおいて求められたデータを使用して背景部分の予測を行っているので、シェーディングにより輝度変化の大きい背景画像を、なだらかな輝度変化とすることができ、最終的には、シェーディングの影響が除去された所望とする輝度の背景画像とすることができる。
【0090】
また、図6の構成からもわかるように、ワークメモリとしてはラインメモリのみで済むので、1画面分のフレームメモリを使用する場合に比べてメモリの小容量化が図れる。また、前記したように、1ライン毎の処理であるため、画像の取り込みを行いながら1ラインの処理が終了したらそれを表示し、次の1ラインの処理が終了したらそれを表示するということができるため、連続的な入力に対応しやすいという効果も得られる。
【0091】
なお、図1において背景予測(ステップs1)を省いて、入力された画像データをステップs1の背景予測結果にみたてて、ステップs2以降の処理を行うこともできる。この場合、処理速度は速くなるが、ステップs2により求められた背景予測の精度は落ちる。
【0092】
(第2の実施の形態)
この第2の実施の形態は、第1の実施の形態で説明したシェーディング補正処理と、階調を落とす処理とを組み合わせた処理を行うものである。
【0093】
すなわち、前記従来技術の項で述べたように、CCDカメラなどのように階調数の多い撮像手段で取り込んだ画像を、反射型のLCDのように階調数の小さい表示部で表示する場合、階調数を減らす必要がある。この階調を落とす際、前記したようなシェーディングの影響を受けて周辺が暗くなった画像を、たとえば、4値化処理すると、処理後の画像は、周辺部の暗い部分が黒いつぶれとなって現れる場合もある。そこで、階調を落とす処理を行う際、シェーディングの影響を受けた画像に対して、そのシェーディングの影響を補正する必要が生じてくる。
この第2の実施の形態では、CCDカメラなどのエリアセンサで撮られたシェーディングのある画像に対しても、そのシェーディングによる影響を無くして階調を減らすことを可能とするものであり、以下、この第2の実施の形態について説明する。
【0094】
図7は第2の実施の形態の全体的な処理手順を説明するフローチャートであり、まず、処理対象画像からn値化するための第1〜第n−1のしきい値を求める(ステップs31)。これは、CCDカメラなどにより入力された、たとえば、0〜255の256階調の画像データを、4階調の画像データとする場合には、第1〜第3のしきい値を求める処理である。
【0095】
そして、シェーディング補正処理(ステップs32)を行い、その後、第1〜第n−1のしきい値を用いてn値化処理する(ステップs33)。
【0096】
前記ステップs31におけるn値化のためのn−1個のしきい値を求める処理は、特に限定されるものではなく、撮影対象が線画であれば、たとえば、「大津の方法」を拡張して用いることも可能である。
【0097】
この「大津の方法」は前記したように、線画には適した2値化方法であるが、それを用いて4値化しようとすると、まず、最初に2値化して、それにより分割された領域を、さらにそれぞれ2値化するというように、2値化する処理を3回行なう必要があるため、演算量が膨大なものとなり、多くの処理時間を要する問題がある。
【0098】
そこで、この第2の実施の形態では、n値化するためのn−1個のしきい値を求める方法として、「大津の方法」にわずかな演算を加えるだけでn−1個のしきい値を求める方法を採用する。このn値化するためのn−1個のしきい値を求める方法を図8のフローチャートを参照しながら以下に説明する。
【0099】
まず、CCDカメラで取り込まれた画像データについて累積度数分布を求める(ステップs41)。求められた累積度数分布の例を図9(a)に示す。なお、ここでの処理対象画像は、前記同様、画像の大部分を占める明るい背景内に文字や図形などの線画が描かれているような画像であるとする。したがって、0〜255の輝度範囲における各輝度に対する累積度数の曲線は、図9(a)に示されるように、輝度の大きい側に累積度数が多くなる曲線となる。なお、この場合、CCDカメラによる輝度範囲を0〜255の256階調とする。
【0100】
そして、このような累積度数分布を用いて「大津の方法」により2値化しきい値th〔0〕を求める。この2値化しきい値により分割された領域のうち、低輝度側を第1のクラスC1、高輝度側を第2のクラスC2とする。ここで、第1のクラスC1の累積輝度は主に線画によるものであり、第2のクラスC2の累積輝度はは主に背景によるものである。
【0101】
次に、前記第2のクラスC2における輝度の平均μ2と標準偏差σ2を算出する(ステップs42)。この第2のクラスC2は大部分が背景で占められているので、第2のクラスC2における輝度の平均値μ2は、ほぼ、背景の輝度の平均値と考えることができる。そして、これらの輝度の平均μ2と標準偏差σ2を用いて、n値化するためのn−1個のしきい値のうち、第1のしきい値th〔1〕を求める(ステップs43)。この第1のしきい値th〔1〕は
th〔1〕=μ2−σ2×α・・・(1)
で求められる。(1)式においてαは係数であり、実験では、α=1/2とするとよい結果が得られたが、これに限られるものではなく、種々の条件によって、最適な値を設定すればよい。
【0102】
この(1)式により求められる第1のしきい値th〔1〕は、線画と背景のほぼ境界を意味するものとなる。線画と背景の境界は、前記背景の輝度の平均値μ2より暗い側に存在すると考えられる。したがって、第1のしきい値th〔1〕は背景の輝度の平均値μ2からある値を引いた値とすればよい。
【0103】
ところで、背景の色がたとえ均一であったとしても背景の輝度の累積度数は、画像を入力するデバイスや撮影状態によってその幅が異なってくる。特に、CCDカメラなどのエリアセンサで撮られたシェーディングの存在する画像においては、累積度数分布における背景に相当する部分の幅の変動は激しいものとなる。そこで、累積輝度の幅を吸収するために、幅の指標となる第2のクラスC2の標準偏差σ2をパラメータとしてそのパラメータに適当な係数αを掛けたものを背景の輝度の平均値μ2から引き算して第1のしきい値th〔1〕を求めている。このようにして求められた第1のしきい値th〔1〕を図9(b)に示す。
【0104】
そして次に、図8のステップs44では、この第1のしきい値th〔1〕をもとに、他のしきい値を求める。ここで、求めるべき階調数をn階調とすれば、n−1個のしきい値を決定することになる。したがって、このステップs44では、第1のしきい値th〔1〕をもとに第2のしきい値th〔2〕〜第n−1のしきい値th〔n−1〕を求めることになる。この第1のしきい値th〔1〕をもとに、第2のしきい値th〔2〕〜第n−1のしきい値th〔n−1〕を求める処理について以下に説明する。
【0105】
第1のしきい値th〔1〕以下の各輝度ごとの累積画素数をすべて足し算して、合計の累積画素数を求め、その合計の累積画素数をn−1等分する。この実施の形態では、求めるべき階調数を4階調(n=4)としているので、第1のしきい値th〔1〕以下の各輝度ごとの画素数を足し算して得られた合計の累積画素数を3等分して、第2のしきい値th〔2〕と第3のしきい値th〔3〕を求めることになる。
【0106】
具体例として、第1のしきい値th〔1〕以下の各輝度ごとの累積画素数をすべて足し算して得られた合計累積画素数が仮りに120であるとすると、それを3等分して「40」を得る。そして、40画素ごとにしきい値を設定する。つまり、輝度0から明るい方へ各輝度毎の累積画素数を足し算して行き、合計画素数が40画素となったところをしきい値(第3のしきい値th〔3〕)とし、この第3のしきい値th〔3〕から明るい方へ各輝度毎の累積画素数を足し算して再び合計画素数が40画素となったところをしきい値(第2のしきい値th〔2〕)とするというようにして、第2、第3のしきい値th〔2〕,th〔3〕を決定する。
【0107】
このようにして第1〜第n−1のしきい値が決定される。
【0108】
ところで、図7のステップs32のシェーディング補正処理は、第1の実施の形態において、図1〜図6を用いて説明した背景予測処理、予測結果の修正処理、背景補正処理などの一連の処理であり、これらに処理方法に関しては、前述したとおりであるので、ここではその詳細な処理ついては説明を省略する。
【0109】
なお、この第2の実施の形態においては、所望とする輝度値L0は、最も輝度値の高い側に設定される第1のしきい値th〔1〕よりも大きい値とするのがよい。このように、所望とする輝度値L0を、最も輝度値の高い側に設定される第1のしきい値th〔1〕よりも大きい値とすることにより、n値化処理後において、背景がより明るくなって文字などが見やすい画像となる。具体例としては、前記第2のクラスC2における輝度の平均値μ2程度とすることが考えられる。
【0110】
次に、シェーディング補正を終了したのち、第1〜第n−1のしきい値を用いてn値化処理を行う。このn値化処理の一例について図10を参照しながら説明する。なお、この図10のフローチャートはある1つの画素ごとのn値化処理を示すものである。図10において、まず、第1〜第n−1のしきい値のどのしきい値を選ぶかについての初期化を行う(ステップs51)。この初期化は、この場合、k=1とする。つまり、初期のしきい値として、第1のしきい値th〔1〕とする。次に、処理対象の画素の輝度値aが、a>th〔k〕であるか否かを判断する(ステップs52)。この場合、k=1であるからa>th〔1〕を判断する。そして、a>th〔1〕であれば、その画素の輝度値をn−kとする(ステップs53)。ここで、画素の輝度値を0〜3の4値化とすることを考えると、a>th〔1〕であるときは、n=4、k=1であるから、当該画素の輝度値を「3」とする。
【0111】
このように、ある1画素のn値化(ここでは4値化)処理が終了すると、次の画素のn値化処理に移る。次の1画素に対しても、前記同様、輝度aが、a>th〔1〕であるか否かを判断する。そして、a>th〔1〕でないとすると、ステップs54に進み、kをk+1(この場合、k=2)とする。そして、k<nを判断し(ステップs55)、k<nであれば、ステップs52に戻って、今度は、a>th〔2〕であるか否かを判断する。そして、a>th〔2〕であれば、その画素の輝度値をn−kとする(ステップs53)。このとき、n=4、k=2であるから、当該画素の輝度値を「2」とする。一方、前記ステップs52におけるa>th〔2〕の判断において、a>th〔2〕でない場合には、ステップs54に進み、kをk+1とする。これにより、k=3となり、k<nを判断し(ステップs55)、k<nであれば、ステップs12に戻って、今度は、a>th〔3〕であるか否かを判断する。そして、a>th〔3〕であれば、その画素の輝度値をn−kとする。このとき、n=4、k=3であるから、当該画素の輝度値を「1」とする。そして、次の画素について同様の処理を行う。
【0112】
図11はこの第2の実施の形態を実現するための装置の構成例をを示すもので、概略的には図6と同様、レンズ1、CCDカメラ2、A/D変換器3、CCD制御回路4、画像処理装置5から構成されている。
【0113】
画像処理装置5はこの第2の実施の形態で説明した処理を行う部分であり、画像データ用ラインメモリ51、しきい値算出手段61、n値化処理手段62、シェーディング補正部56を有している。
【0114】
シェーディング補正部56は、図6で示したシェーディング補正部56と同じものであり、背景予測用ラインメモリ52、背景予測手段53、予測結果修正手段54、背景補正手段55から構成されているが、ここでは、これらの図示は省略されている。また、このシェーディング補正部56が行う処理内容は、第1の実施の形態で説明したので、ここではその説明は省略する。
【0115】
前記しきい値算出手段61は、n値化するための第1〜第n−1のしきい値を算出するもので、そのしきい値算出の一例として、図8のフローチャートで示されるような処理によりn−1個のしきい値の算出を行う。ただし、実際には、直前に取り込んだ1画面分の画像データから第1〜第n−1のしきい値を求めて、そのしきい値を次の1画面分の画像に反映しながら処理を行う。
【0116】
以下にこの画像処理装置の動作を説明する。
【0117】
最初に取り込んだ1ラインづつの画像データは、シェーディング補正部56にて前記したような処理によりシェーディング補正される。これと同時に、しきい値設定手段61では画像データラインメモリ51に格納された1ライン分づつのデータを用いて、しきい値を算出するために必要なデータを得て、1画面の入力が終了したところで、図8の処理手順によって第1〜第n−1のしきい値を求める。このようにして求められた第1〜第n−1のしきい値は次の1画面の画像におけるしきい値として使用される。
【0118】
次の1画面における1ラインのデータが画像データ用ラインメモリ51に取り込まれると、その1ラインのデータは、シェーディング補正されるとともに、n値化処理手段62により、前の1画面により算出され第1〜第n−1のしきい値を用いてn値化処理される。また、このとき同時に、しきい値決定手段61では画像データラインメモリ51に格納された処理対象画面の1ライン分づつのデータを用いて、その1画面分のデータを用いて第1〜第n−1のしきい値を算出し、これを新たな第1〜第n−1のしきい値とする。このようにして、直前に取り込んだ1画面分の画像データから第1〜第n−1のしきい値を算出してそれを次の1画面分の画像に反映しながら処理を行う。
【0119】
なお、ここでのn値化処理は、第1〜第n−1のしきい値というような固定的なしきい値を用いてのn値化処理であり、エッジの保存を特に必要とする文字などの線画に適したn値化である。そこで、これらしきい値算出手段61、シェーディング補正部56、n値化処理手段62をここでは線画用階調処理部63という。
【0120】
なお、図7において、処理ステップをステップs32、ステップs31、ステップs33の順で行うことも可能である。
【0121】
以上説明したように、この第2の実施の形態によれば、CCDカメラなどのように階調数の多い撮像手段で取り込んだ画像を、LCDのように階調数の小さい表示部で表示する場合、階調を落とす処理を行う際に、シェーディングのある画像画像に対しても、そのシェーディングによる影響を無くして階調を減らすことが可能となり、特に、明るい背景に文字などの線画が描かれているような撮影対象に対し、シェーディングの影響を除去し、つぶれのない良好な画像を得ることができ、きわめて見やすい画像を得ることができる。
【0122】
(第3の実施の形態)
この第3の実施の形態は、処理対象画像が線画であるか否かを判断して、線画に対してのみこれまで説明したシェーディング補正を行うものである。これは、線画の場合は自然画に比べると、シェーディングの影響がより一層顕著に現れるため、対象画像が線画である場合のみにシェーディング補正を行おうとするものである。
【0123】
図12はこの第3の実施の形態の全体的な処理手順を概略的に説明するフローチャートであり、処理対象画像が線画であるか否かを判断するための処理を行い(ステップs61)、その処理結果をもとにして線画であるか否かを判断し(ステップs62)、線画であると判断された場合のみにシェーディング補正処理を行う(ステップs63)。
【0124】
ここでの線画判断処理について図13のフローチャートを参照しながら説明する。まず、初期化を行う(ステップs71)。この初期化は、輝度変化の立ち上がりまたは立ち上がりを判断するためのスイッチswを“1”(立ち下がりを判断する場合を“1”、立ち上がりを判断する場合を“0”とする)に設定するとともに、線画部分の幅の長さの累計を示す値lengを「0」、さらに、線の数を表す値numを「0」とする。
【0125】
そして、処理対象画素の輝度値a[i]からその直前の画素の輝度値a[i-1]を引いて、その差をCとする(ステップs72)。
【0126】
次に、輝度の立ち上がりまたは立ち上がりを判断するためのスイッチswの状態を判断する(ステップs73)。ここでは、初期設定として、sw=“1”となっているので、立ち下がりの検出処理を行い、C≦−γであるか否かを判断する(ステップs74)。ここで、γは立ち下がりまたは立ち上がりを判断する指標となる値であり、入力画像が256階調である場合、γ=15程度に設定する。しかし、この値は、様々な条件によって最適な値を設定すればよい。
【0127】
ステップs74において、C≦−γである場合は、輝度値が所定以上立ち下がっていると判断し、次の処理として立ち上がりを検出するために、スイッチsw=“0”とするとともに、当該画素の位置iをstart位置とする(ステップs75)。つまり、輝度値が所定以上立ち下がっている画素の位置が保存されることになる。
【0128】
そして、すべての画素についての処理が終了したか否かを判断し(ステップs76)、終了していなければ、ステップs72に処理が戻り、次の画素について直前の画素の輝度値との差を取る(ステップs72)。そして、sw=“1”か否かの判断を行うが、このとき、sw=“0”となっているので、立ち上がりの検出に入る。
【0129】
この立ち上がりの検出は、C≧γを判断して(ステップs77)、C≧γであれば、輝度値が所定以上立ち上がっていると判断し、C≧γでなければ、所定以上の立ち上がりでないと判断する。
【0130】
たとえば、図14に示すような場合を例にすると、iの位置の画素においては、直前の画素(i−1の位置の画素)との輝度差Cが、C≦−γである場合、その位置iが保存され、次の画素(i+1の位置の画素)について、直前の画素との輝度値の差を取り、C≧γを判断するが、この場合、C≧γとはならないので、次の画素について、再び、C≧γを判断する。このような処理を繰り返し、やがて、i+nの画素について、C≧γの処理がなされると、C≧γが成り立ち、立ち上がりが検出されることになる。
【0131】
そして、立ち上がりが検出されると、ステップs78に処理が移り、次の処理として立ち下がりを検出するために、sw=“0”とするとともに、文字の幅の累計を示す値lengをこれまでのlengに今回の文字幅をプラスする。つまり、leng+{i−start}を計算する。なお図14の例ではleng+{(i+n)−i}が計算されることになる。さらに、これまでの線の数の累計を表すnumに1をプラスする。
【0132】
このようにして、画像を構成するすべての画素について処理が終了すると(ステップs76)、ステップs78にて計算された累計のlengとnumを用いて、累計のlengを累計のnumで割って、1個当たりの線の太さを判断する。そして、その1個当たりの太さをある値δと比較して線画であるか否かを判断する(ステップs79)。ここで、δは解像度が320画素×240画素の画像の場合、δ=7程度に設定する。ただし、この値も様々な条件により最適な値を設定すればよい。
【0133】
ここで線画は高周波成分が多く、自然画は低周波成分が多い。よって、線の太さの平均値を示すleng/numは線画の場合は小さく、自然画の場合は大きくなる。よって、leng/num≦δである場合は、線画と判断し、leng/num≦δでない場合は、自然画など線画以外であると判断する(ステップs80a,s80b)。
【0134】
このようにして、線画か線画以外化の判断がなされる。そして、線画である場合のみに、第1の実施の形態で説明したシェーディング補正処理を行うようにする。
【0135】
図15はこの第3の実施の形態を実現するための装置の構成例をを示すもので、概略的には図6と同様、レンズ1、CCDカメラ2、A/D変換器3、CCD制御回路4、画像処理装置5から構成されている。
【0136】
画像処理装置5はこの第3の実施の形態で説明した処理を行う部分であり、画像データ用ラインメモリ51、線画判断手段71、シェーディング補正部56、シェーディング補正を行うか否かを設定するシェーディング補正設定スイッチ72を有している。
【0137】
前記シェーディング補正部56は、図6で示したシェーディング補正部56と同じものであり、背景予測用ラインメモリ52、背景予測手段53、予測結果修正手段54、背景補正手段55から構成されているが、ここでは、これらの図示は省略されている。また、このシェーディング補正部56が行う処理内容は、第1の実施の形態で説明したのでここでの説明は省略する。
【0138】
線画判断手段71は図13のフローチャートで示した処理を行うもので、この場合、実際の処理は直前に取り込んだ1画面分の画像データから線画であるか否かを判断した結果を次の1画面分の画像に反映しながら処理を行う。
【0139】
したがって、シェーディング補正設定スイッチ72は、初期設定では、たとえば、オフ、つまり、最初の1画面分については線画以外の画像に対する処理設定としておく。
【0140】
このように、初期設定においてシェーディング補正設定スイッチ72がオフに設定されているとすると、最初に取り込んだ1ラインづつの画像データは、シェーディング補正がなされずに、そのまま、1ラインづつ出力されて表示される。これと同時に、線画判断手段71では画像データラインメモリ51に格納された1ライン分づつのデータを用いて、図13の処理手順にて各ライン毎に1画面分の処理を行う。
【0141】
そして、1画面分の処理が終了したところで、その画面が線画であるか否かを判断する。この判断結果は次の1画面の画像の種類の判別に使われる。たとえば、最初の1画面の画像が線画であると判断された場合は、シェーディング補正設定スイッチ72をオンとし、次の1画面はシェーディング補正が行われる。
【0142】
このように、シェーディング補正設定スイッチ72がオンとなると、画像データ用ラインメモリ51に取り込まれた1ラインごとのデータは、1ライン毎にシェーディング補正されたのち、1ラインごとに出力される。そして、このとき同時に、線画判断手段71では画像データラインメモリ51に格納された1ライン分づつのデータを用いて、図13の処理手順にて各ライン毎に1画面分の処理を行う。そして、1画面分の処理が終了したところで、その画面が線画であるか否かを判断する。この判断結果は次の1画面の画像の種類の判別に使われる。このようにして、直前に取り込んだ1画面分の画像データから線画であるか否かを判断した結果を次の1画面分の画像に反映しながら処理を行う。
【0143】
以上説明したように、第3の実施の形態では、処理対象画像が線画であるか否かを判断して、シェーディングの影響がより一層顕著に現れる線画に対してのみシェーディング補正を行うようにしている。また、この第3の実施の形態では、線画以外の自然画はシェーディングの影響は余り目立たないので、特別な処理を施さないようにしている。したがって、シェーディング補正は線画に対して行えばよいので、処理時間の短縮にもつながる。
【0144】
(第4の実施の形態)
この第4の実施の形態は、処理対象画像が線画か否かを判断し、線画である場合には、シェーディング補正を行い、かつ、前記のようにして求められた第1〜第n−1のしきい値を用いた階調処理を行って、線画でないと判断された場合には、自然画とみなして自然画に適した階調変更処理を行うものである。
【0145】
図16は第4の実施の形態の概略的な処理手順を説明するフローチャートであり、まず、線画判断を行うための処理(ステップs81)を行い、その処理結果を用いて線画であるか否かの判断を行う(ステップs82)。そして、線画であれば、線画用階調処理を行い(ステップs83)、線画でなければ自然画用の階調処理を行う(ステップs84)。
【0146】
ステップs81における線画判断を行うための処理は、図13のフローチャートで説明した処理であり、この処理で得られた結果が線画である場合には、線画用階調処理を行う。この線画用の階調処理は、第2の実施の形態で説明した処理であり、概略的な処理手順としては、図7に示されているように、まず、処理対象画像からn値化するためのn−1個のしきい値を求める(ステップs31)。これは、CCDカメラなどにより入力された、たとえば、0〜255の256階調の画像データを、4階調の画像データとするために、第1〜第3のしきい値を求める処理である。そして、シェーディング補正処理(ステップs32)を行ったのち、n−1個のしきい値を用いてn値化処理(ステップs33)を行う。
【0147】
一方、線画でないと判断された場合には、自然画に適した階調処理を行う。この自然画に適した階調処理というのは、面積的な階調を得ようとする階調処理であり、たとえば、ディザ法や誤差拡散法などがある。
【0148】
このように、線画に対しては、エッジが保存される階調処理を行い、自然画に対しては、ディザ法や誤差拡散法などの面積的な階調処理を施すことにより、階調数を減らす必要がある場合、より一層見た目に良好な画像とすることができる。
【0149】
図17はこの第4の実施の形態を実現するための装置の構成例を示すもので、第1〜第3の実施の形態同様、概略的には、レンズ1、CCDカメラ2、A/D変換器3、CCD制御回路4、画像処理装置5から構成されている。
【0150】
画像処理装置5は、この第4の実施の形態の場合、画像データ用ラインメモリ51、線画判断手段71、線画用階調処理部63、自然画用階調処理部81と、これら線画用階調処理部63、自然画用階調処理部81を選択する選択スイッチ82などを有している。
【0151】
前記線画判断手段71は図15の構成で示した線画判断手段71と同じものであり、図13で説明した処理を行い、1フレーム(1画面分)の処理が終了後に、その1画面の画像が線画であるか線画でないかを判定して、線画であることを示す信号または線画でないことを示す信号を選択スイッチ82に出力する。
【0152】
選択スイッチ82はこの線画判断手段71からの線画であることを示す信号を受けると、線画用階調処理部63を選択し、線画でないことを示す信号を受けると自然画用階調処理部81を選択するように切替動作を行う。
【0153】
また、線画用階調処理部63は、図11の構成図で説明した線画用階調処理部63と同じものであり、しきい値決定手段61、シェーディング補正部56、n値化処理手段62から構成されている。
【0154】
ところで、線画判断手段71は図13のフローチャートで示した処理を行うものであるが、前記したように、1画面分の処理が終了した後、その結果を次の1画面の画像データに反映させるものであるため、選択スイッチ82は、初期設定では、たとえば、自然画用階調処理部82側としておく。
【0155】
したがって、最初に取り込んだ1ラインづつの画像データは、自然画用階調処理部82により階調処理されて出力される。これと同時に、線画判断手段71では画像データラインメモリ51に格納された1ライン分づつのデータを用いて、図13の処理手順にて各ライン毎に1画面分の処理を行う。そして、1画面分の処理が終了したところで、その画面が線画であるか否かを判断する。この判断結果は次の1画面の画像の種類の判別に使われる。たとえば、最初の1画面の画像が線画であると判断された場合は、選択スイッチ82を線画用階調処理部63側に切り替えて、次の1画面は線画用階調処理部63による階調処理がなされる。このとき同時に、線画判断手段71では画像データラインメモリ51に格納された1ライン分づつのデータを用いて、図13の処理手順にて各ライン毎に1画面分の処理を行う。そして、1画面分の処理が終了したところで、その画面が線画であるか否かを判断する。この判断結果は次の1画面の画像の種類の判別に使われる。このようにして、直前に取り込んだ1画面分の画像データから線画であるか否かを判断した結果を次の1画面分の画像に反映しながら処理を行う。
【0156】
以上のように、この第4の実施の形態によれば、処理対象画像が線画か否かを判断し、線画である場合には、シェーディング補正を行い、かつ、前記のようにして求められた第1〜第n−1のしきい値を用いた線画用の階調処理を行い、線画でないと判断された場合には、自然画とみなして自然画に適したディザ法や誤差拡散法といった階調変更処理を行うようにしているので、それぞれに適した階調処理が行え、CCDカメラなどで取り込んだ画像を反射型のLCDに表示するような場合、撮影する対象に関係なく、線画あるいは自然画それぞれに適した処理がなされることにより見た目によい画像を表示することができる。
【0157】
ところで、以上説明した第2の実施の形態から第4の実施の形態において、画像データがCCDカメラなどから連続入力されている場合は、前の1フレーム分(1画面分)で作成されたデータ(第1〜第n−1のしきい値、線画か否かの判断結果など)を用いて処理を行うことにより、全体的な処理を簡素化することができる。この処理について、第4の実施の形態で説明した処理内容の場合を例にして、図18のフローチャートを参照しながら説明する。
【0158】
図18において、しきい値および線画判断結果の初期化を行う(ステップs91)。このしきい値の初期化は、たとえば、n値化とする場合は、第1〜第n−1のしきい値th〔1〕〜th〔n−1〕の値を初期値として適当な値を設定するというような処理であり、また、線画判断結果の初期値としては、たとえば、自然画とする。
【0159】
次に、あるフレームにおける1ラインデータの入力(ステップs92)を行ったのち、その1ラインデータから各種のデータを取得する(ステップs93)。ここでの各種のデータというのは、しきい値算出に必要な累積度数分布作成のためのデータや線画か否かを判断するためのデータとして図13のフローチャートで説明したleng、numなどのデータである。
【0160】
そして次に、直前のフレームデータを基に得られた線画か否かの結果を判断し(ステップs94)、線画でなければ自然画用の階調処理による階調処理を行い(ステップs95)、線画であれば、直前のフレームデータを基に算出された第1〜第n−1のしきい値を用いた線画用の階調処理(シェーディング処理を含む)を行う(ステップs96)、
次に、1フレーム分における全ラインの処理が終了したか否かを判断し(ステップs97)、終了していなければ、ステップs92に処理が戻り、終了していればn値化のための第1〜第n−1のしきい値を更新するとともに、線画判断結果を更新する(ステップs98)。そして、次のフレームデータがあるか否かを判断し(ステップs99)、次のフレームデータがあれば、その新たなフレームに対してステップs92以降の処理を行い、次のフレームがなければ処理を終了する。
【0161】
このように、画像データが連続して入力されている場合は、前の1フレームにおいて求められたしきい値や線画判断結果を、現在取り込んでいるフレームデータに用いて処理することが可能となる。なお、この連続入力を考慮した処理は、ここで説明した第4の実施の形態への対応だけではなく、第2に実施の形態、第3の実施の形態に対しても同様に可能である。
【0162】
さらに、本発明は、最初に説明した第1の実施の形態において、レンズの収差への対応処理を可能とする。
【0163】
このレンズの収差による影響というのは、たとえば、図19(a)に示すように、背景10の中に同じ太さでかつ同じ濃さの直線の線画11が存在した場合、それをレンズを通して取り込んだ画像の輝度(図19(a)の破線で示すラインにおける輝度)は、同図(b)に示すように、画像の端部に近いほど線の幅が太く背景との輝度のコントラストが小さくなって中央部に比べてシャープさに欠けた画像となる現象である。
【0164】
これを解消するために、本発明では、背景補正処理後のデータ(図3(d))に対して、図20(a)のように、所望とする背景輝度L0より少し小さい輝度値L1(図示破線で示す)を設定し、これより小さな輝度値を有する部分に対してレンズ収差を考慮した係数を掛けることで、少なくとも輝度の高さを補正しコントラストを良くすることができる。
【0165】
前記所望とする背景輝度L0より少し小さい輝度値L1は、たとえば、所望とする背景輝度L0×0.8により得られる値とする。また、前記レンズ収差を考慮した係数は、1画面分におけるある1ライン上の画素の位置0,1,2,・・・,nに対して、図20(b)のような曲線を描く係数値とする。つまり、画面の中央部は係数は「1」とし、中央部から端部に行くに従って、係数値を小さく(係数値<1)する。ここで、レンズの収差の影響は事前に決定できるので、計測によって予め係数を求めておくことができる。されるこのような係数曲線から得られる係数値を図20(a)の線画部分の輝度値に掛けることにより、端部付近に存在する線画の輝度値は、図20(c)に示すように、より小さな値となり、背景とのコントラストが大きくなり、レンズ収差の影響が改善される。
【0166】
なお、以上説明した第2〜第4の実施の形態において用いられるn値化するためのしきい値算出用のデータや線画判断のためのデータは、1つの画面全体から求めるのではなく、画面の周辺部を除いて求めるようにしてもよい。これは、画面の周辺部にはこれらのデータを求める際に重要なデータが少ないと考えられるためである。
【0167】
また、線画判断は、1画面単位で行っているが、たとえば、文字などと風景などの画像が両方入り交じっているような画像に対処しやすいように、線画領域と自然画領域とを分離して、それぞれの領域ごとに線画か否かを判断して、領域毎に必要な処理を行うようにしてもよい。
【0168】
また、第1〜第4の実施の形態において、輝度(モノクロ)に対する処理として説明したが、カラーへの対応も可能である。すなわち、カラー入力(例えばRGB)されたデータを輝度と色に関する他のデータ(例えばYUV)に変換し、輝度に対して上述の処理を行い、再び基に変換(例えばRGB)することにより対応できる。
【0169】
また、本発明の処理を行う処理プログラムは、フロッピィディスク、光ディスク、ハードディスクなどの記憶媒体に記憶させておくことができ、本発明は、それらの記憶媒体をも含むものであり、また、ネットワークからデータを得る形式でもよい。
【0170】
【発明の効果】
以上説明したように、本発明は、シェーディングの影響が顕著に現れやすい文字や図形などの線画に対して、所定ライン単位でシェーディングの影響を除去するようにしている。特に、1ラインづつの処理を行うことにより、ワークメモリとしては1ライン分の画像データ用ラインメモリと背景予測用ラインメモリで済むためワークメモリの小容量化を図ることができ、装置全体の小型軽量化に寄与し、低コスト化も図れる。また、1ラインごとの処理であるため、画像の取り込みを行いながら1ラインの処理が終了したらそれを表示し、次の1ラインの処理が終了したらそれを表示するということができるため、連続的な入力に対応しやすいという効果も得られる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態の全体的な処理を説明するフローチャート。
【図2】第1の実施の形態を説明するための画像の一例を示す図。
【図3】第1の実施の形態において画像のある1ラインにおける背景予測処理から背景補正処理までを説明する図。
【図4】第1の実施の形態における背景予測処理を説明するフローチャート。
【図5】第1の実施の形態における背景予測の修正処理を説明するフローチャート。
【図6】第1の実施の形態における画像処理装置をCCDカメラと組み合わせた装置構成例を示す図。
【図7】本発明の第2の実施の形態の全体的な処理を説明するフローチャート。
【図8】第2の実施の形態におけるn−1個のしきい値を算出する処理手順を説明するフローチャート。
【図9】n−1個のしきい値算出方法の一例を説明するための輝度値に対する画素の累積度数分布を示す図。
【図10】第2の実施の形態におけるn値化処理を説明するフローチャート。
【図11】第2の実施の形態における画像処理装置をCCDカメラと組み合わせた装置構成例を示す図。
【図12】本発明の第3の実施の形態の全体的な処理を説明するフローチャート。
【図13】第3の実施の形態における線画判断の処理手順を説明するフローチャート。
【図14】線画判断に必要なデータについてを文字部分の輝度変化を例にして説明する図。
【図15】第3の実施の形態における画像処理装置をCCDカメラと組み合わせた装置構成例を示す図。
【図16】本発明の第4の実施の形態の全体的な処理を説明するフローチャート。
【図17】第4の実施の形態における画像処理装置をCCDカメラと組み合わせた装置構成例を示す図。
【図18】本発明において画像を連続入力する場合の処理を第4の実施の形態を例にとって説明するフローチャート。
【図19】レンズの収差に対処する処理を説明するための画像例とレンズ収差の影響を受けた画像の輝度分布例を示す図。
【図20】レンズの収差に対処する処理を説明するための図。
【符号の説明】
1 レンズ
2 CCDカメラ
3 A/D変換器
4 CCD制御回路
5 画像処理装置
51 画像データ用ラインメモリ
52 背景予測用ラインメモリ
53 背景予測手段
54 予測結果修正手段
55 背景補正手段
56 シェーディング補正部
61 しきい値算出手段
62 n値化処理手段
63 線画用階調処理部
71 線画判断手段
72 シェーディング補正設定スイッチ
81 自然画用階調処理手段
82 選択スイッチ
Claims (4)
- 入力された画像データの所定ラインごとにその所定ラインを構成する画素が線画のエッジ部を構成する画素か否かを判断し、エッジを構成する画素でない場合は、それ以前に処理されたライン上の対応する画素位置の輝度値をもとに処理中の画素の輝度値を演算により求め、この求められた輝度値により、それ以前に処理された輝度値を更新し、エッジを構成する画素である場合は、それ以前に処理されたライン上の対応する画素位置の輝度値をそのまま保持する処理を、所定ラインづつその所定ラインを構成する画素ごとに繰り返して行うことで、線画におけるエッジ部分の輝度の影響を除去した各画素ごとの輝度値を所定ライン単位で求める背景予測処理を行ったのち、
この背景予測処理において得られた所定ラインにおける各画素ごとの輝度値が、所望とする輝度値以下であると判定された場合に、その輝度値を有する画素を含む所定の探索範囲を設定し、その探索範囲内における隣接画素との輝度変化を各画素ごとに調べ、探索範囲内において輝度変化の少ない画素が予め設定した数以上である場合には、その輝度変化の少ない画素の輝度値を基にして輝度値を決定し、探索範囲内において輝度変化の少ない画素が予め設定した数より少ない場合には、探索範囲全体の画素の輝度値をもとにして輝度値を決定して、この決定された値により背景予測結果の修正処理を行い、
さらに、この背景予測結果の修正処理により修正された結果と、所望とする値として設定された輝度値とを比較して、その差分を求め、求められた差分を前記入力された画像データの対応する画素位置の輝度値に対して加減することにより、所望の輝度値となるような背景補正を行うことを特徴とする画像処理方法。 - 前記処理されたライン上の対応する画素位置の画素の輝度値をもとに処理対象画素の輝度値を演算により求める処理は、それ以前に処理されたライン上の対応する画素位置の輝度値と、処理中の画素の輝度値との平均をとる処理であることを特徴とする請求項1記載の画像処理方法。
- 入力された画像データの所定ライン分のデータを保持する画像データ用ラインメモリと、
この画像データ用ラインメモリに保持された画像データの所定ラインごとにその所定ラインを構成する画素が線画のエッジ部を構成する画素か否かを判断し、エッジを構成する画素でない場合は、それ以前に処理されたライン上の対応する画素位置の輝度値をもとに、処理中の画素の輝度値を演算により求め、この求められた輝度値により、それ以前に処理された輝度値を更新し、エッジを構成する画素である場合は、それ以前に処理されたライン上の対応する画素位置の輝度値をそのまま保持する処理を、所定ラインづつその所定ラインを構成する画素ごとに繰り返して行うことで、線画におけるエッジ部分の輝度の影響を除去した処理対象ラインにおける各画素ごとの輝度値をライン単位で求める背景予測手段と、
この背景予測手段で得られた処理対象ラインにおける各画素ごとの輝度値を保持する背景予測用ラインメモリと、
前記背景予測処理において得られた背景予測用ラインメモリの内容をもとに、処理対象ラインにおいて、各画素位置対応の輝度値が、所望とする輝度値以下であると判定された場合に、その輝度値を有する画素を含む所定範囲の探索範囲を設定し、その探索範囲内における隣接画素との輝度変化を各画素ごとに調べ、探索範囲内において輝度変化の少ない画素が予め設定した数以上である場合には、その輝度変化の少ない画素の輝度値を基にして輝度値を決定し、探索範囲内において輝度変化の少ない画素が予め設定した数より少ない場合には、探索範囲全体の画素の輝度値を基にして輝度値を決定し、前記背景予測用ラインメモリの対応する画素位置の内容を前記決定された内容に更新して背景予測結果の修正を行う背景予測修正手段と、
前記背景予測結果修正手段により修正された結果と、所望とする値として設定された輝度値とを比較してその差分を求め、求められた差分を前記画像データ用ラインメモリの対応する画素位置の輝度値に対して加減することにより所望とする輝度値に輝度補正する背景補正手段と、
を有することを特徴とする画像処理装置。 - 前記処理されたライン上の対応する画素位置の画素の輝度値をもとに処理対象画素の輝度値を演算により求める処理は、それ以前に処理されたライン上の対応する画素位置の輝度値と現在処理している画素の輝度値の平均をとる処理であることを特徴とする請求項3記載の画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26169297A JP3804214B2 (ja) | 1996-10-29 | 1997-09-26 | 画像処理方法および画像処理装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28690696 | 1996-10-29 | ||
JP8-286906 | 1996-10-29 | ||
JP26169297A JP3804214B2 (ja) | 1996-10-29 | 1997-09-26 | 画像処理方法および画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10191048A JPH10191048A (ja) | 1998-07-21 |
JP3804214B2 true JP3804214B2 (ja) | 2006-08-02 |
Family
ID=26545197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26169297A Expired - Fee Related JP3804214B2 (ja) | 1996-10-29 | 1997-09-26 | 画像処理方法および画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3804214B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3882640B2 (ja) * | 2002-02-27 | 2007-02-21 | 日産自動車株式会社 | 赤外線カメラ |
CN101789121B (zh) * | 2009-01-22 | 2013-11-13 | 佳能株式会社 | 用于阴影校正的装置和方法 |
-
1997
- 1997-09-26 JP JP26169297A patent/JP3804214B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10191048A (ja) | 1998-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2871127B2 (ja) | 画像処理装置及び方法 | |
US6137541A (en) | Image processing method and image processing apparatus | |
CN107395991B (zh) | 图像合成方法、装置、计算机可读存储介质和计算机设备 | |
JP2006013558A (ja) | 画像処理装置、画像処理プログラム | |
CN111183630B (zh) | 一种智能终端的照片处理方法及处理装置 | |
JP3543774B2 (ja) | 画像処理装置、画像処理方法および記録媒体 | |
JPH10214339A (ja) | 画像の濾波方法 | |
EP1933549B1 (en) | Image correction device and image correction method | |
WO2006065091A1 (en) | Digital image photographing apparatus and method | |
JP2004007202A (ja) | 画像処理装置 | |
CN116504190B (zh) | 一种用于电子墨水屏的图像处理方法、装置及相关设备 | |
JP3804214B2 (ja) | 画像処理方法および画像処理装置 | |
US6192163B1 (en) | Image processing method and image processing apparatus | |
JP4219577B2 (ja) | 画像処理装置と画像出力装置と画像処理方法及び記憶媒体 | |
JP2006157599A (ja) | 撮像装置 | |
JP2003046807A (ja) | 画像表示装置および画像表示方法 | |
JP4247621B2 (ja) | 画像処理装置、画像処理方法、画像処理制御プログラムを記録した媒体 | |
JP2000307869A (ja) | 画像処理装置、画像処理方法、および画像処理手順を記憶したコンピュータ読み取り可能な記憶媒体 | |
JP4396766B2 (ja) | 画像劣化検出装置、及び画像劣化検出方法、並びに画像劣化検出方法を実行させるプログラム、及び記録媒体 | |
JP4560845B2 (ja) | 画像処理装置、画像処理方法、画像処理制御プログラムを記録した媒体 | |
JPH1042191A (ja) | 画像の逆光補正方法及び装置 | |
JPH09163164A (ja) | 画像処理方法および画像処理装置 | |
JPH10191044A (ja) | 画像処理方法および画像処理装置 | |
JPH08265572A (ja) | 画像処理装置 | |
JP2001169114A (ja) | 画像処理装置、画像処理方法、画像処理制御プログラムを記録した媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050520 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051004 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051028 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060418 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060501 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100519 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110519 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120519 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |