以下、本発明の一実施例を図面に従い説明する。
図1は、同実施例を文字認識装置に適用した場合の概略構成を示している。図において、1は画像入力部で、この画像入力部1には、画像データが入力される。この場合、入力画像データとしては、例えば、RGB(赤、緑、青)の3色からなり、それぞれ多値表現されたものが用いられる。勿論、これ以外の表現形式のものでも良い。
そして、画像入力部1では、例えば、色ずれ補正処理、色の偏り補正処理、色変換などを行うようにしている。
画像入力部1からの出力は、色分離部2に送られる。色分離部2は、入力画像データから特定の色部分の色画像を分離抽出するもので、これら分離した色部分をバッファ3の各色画像バッファ31、32、…3nに格納する。
バッファ3の各色画像バッファ31、32、…3nからの出力は、画像処理部4に送られ。この画像処理部4は後述するランレングス処理などを行うものである。
そして、この画像処理部4からの出力は、文字切り出し部5に送られる。文字切り出し部5は、バッファ3から読み出された画像データから文字の切り出し処理を行うようにしている。
そして、この文字切り出し部5での切り出し処理結果は、文字認識部6に送られる。文字認識部6は、文字切り出し部5より切り出された文字について認識処理を行うものである。そして、この文字認識部6で認識された結果は、読み取り結果修正部7に送られ、オペレータにより修正されて最終的な認識結果として出力される。
このように構成において、画像入力部1には、画像データが入力される。この場合、入力画像データは、例えば、RGB(赤、緑、青)の3色で、それぞれ多値表現されたものである。
そして、画像入力部1により、入力画像に対するずれ修正、色の偏り補正の処理、色変換などが行われる。
ここで、色ずれ修正は、色ずれ修正パラメータとして、例えば、RGBの各色に対してシフトする量を記述したものが考えられ、その修正は、それらのシフト量を各色について行なう事により実現される。
また、色の偏り補正処理は、例えば、RGBの各色に対して色の濃度を変換する事により行なわれる。ここで色の濃度を変換する方式には、ガンマ変換と呼ばれる1個の色の濃度からその色の濃度の変換を行う方式を採用して色の偏り補正処理を実現しても良いし、RGBすべての色の濃度から、それぞれの色の濃度を決めるような関数を用意するようにしても良い。ここでの色の偏り補正パラメータは、それらの関数を決める様な数値データであっても良いし、変換関数そのものであっても良い。
本装置では、これら色ずれ修正パラメータや色の偏り補正パラメータを保持していて、これらに基づいて色ずれ修正と色偏り補正処理を行なう。すなわち、文字認識や特徴抽出、線分抽出、2値化処理などの実際の文字認識処理や画像処理作業の途中で、認識不能や抽出失敗が多くなったり、何等かの異常、矛盾が生じたときに修正パラメータによらない色ずれ修正を行い、新たな修正パラメータを得、この結果と修正パラメータが異なるときにパラメータを新しく書き換えることによってパラメータを更新する。
この更新は定期的に行なっても良いし、オペレータの指示によって行なっても良い。また、色修正(補正)パラメータは複数の画像入力部1に対応できるように複数個用意されていても良い。この場合、各画像入力部1に対応してそれぞれの色修正(補正)パラメータによる色修正、及びパラメータのアップデートを行なうようになる。
色ずれ修正パラメータは、帳票などでの黒い部分に基づく色分析によって求められる。この黒い部分は、入力画像中から自動的に抽出されても良いし、あらかじめ設定されている書式情報に従ってその存在場所や大きさ形が決められていても良い。
あらかじめ決められた形のパターンが帳票上に設定されている場合は、帳票中の特定部分に色ずれの修正用の模様やマーク、例えば十字形をセットしておいて、それに基づいて処理を行なうようになる。これら模様、マークはその位置や形状等の情報が書式情報に登録されていても良い。また、この模様部分を帳票番号を記載する文字枠などとして、他の用途と共用する事もできる。
一方、色ずれ修正を行うための色ずれ分析は、黒い部分の上下と左右の両側について、補色の関係にある色がどの位存在しているかによって計測される。このような計測は、複数の場所で行い、この結果のアベレージをとって全画面に共通の色ずれ量としても良いし、それらをそれぞれの場所での色ずれ量だと見なしても良い。後者のケースでは全画面で色ずれが一様でない場合に対応できる。
図2は、色ずれの測定の方法を説明するものである。この場合、図に示すように黒部分の両側に2重のにじみ、つまり2重のはみだしがあるとすると、各色の切れ目はA1〜A6で表される。この場合、A1〜A2のエリアとA4〜A5のエリアが補色の関係にあり、またA2〜A3のエリアとA5〜A6のエリアが補色の関係にある事を条件に、A1からA2までの距離、A1からA3までの距離が、それぞれ赤信号に対する緑と青の色ずれ量と判定される。
ここで、補色の関係とは、両者の和がバックグラウンドカラーA1〜A6の外側、この例では白になることか、またはそれに近くなることである。この考え方は中央の領域A3〜A4が消失している場合でも同様に適用する事ができる。
この場合、2重のはみ出しでなく、1重のはみ出しでも適用できる。1重の場合には2つの色のずれ量は同じものとすれば良い。この例ではRGBの順にずれている例を示したが、どの順にずれているかは各エリアの色から判断する事が出来る。
帳票中で黒で無い部分についても上述の考え方が適用できる。この場合は、隣接する部分での色の変化に基づいて色ずれ修正パラメータを決定する。つまり、バックグラウンドの色のRGBの濃度値をR0、G0、B0とし、対象部分の色をR1、G1、B1とすると、色ずれを生じている所の色の変化は図3に示すように表すことができ、この表から色ずれが起きているかどうかと、色ずれ量を判定できる。
この場合、A1〜A2のエリアとA4〜A5のエリアの和をとると、それはA3〜A4のエリアの色とバックグラウンドの色を加えたものとなり、またA2〜A3のエリアとA5〜A6のエリアについても同様の事が言えれば、この例の場合はA1とA2の距離、A1とA3の距離がそれぞれ赤信号に対する緑と青の色ずれ量と判定される。また、仮にA3〜A4のエリアが消失していたり、2重のはみ出しでなく1重のはみ出しの場合でも、各エリアの色の状態からR0、G0、B0、R1、G1、B1を決定できるので、上述した考え方を使用してやはり色ずれ量を求める事ができる。
一方、図4に示すようなカラー印刷されたマークを検出し、その中にある赤、緑、青の各色のずれを調べる事により色ずれ量を検出する事ができる。
また、この様なマークの各色から色の偏り補正処理を実行する事もできる。すなわち、画像入力部1から得られるマークの色情報と本来期待されるべき色情報の差に基づいて色の偏り補正の為のパラメータまたは関数を決定する事ができる。
また、画像入力部1に入力される画像データを生成するスキャナのスキャンされる面上の特定部分に色ずれの修正用のパターンを設定し、これから作られる入力画像中の模様に基づいて色ずれ修正や色の偏り補正を行なっても良い。
図5(a)(b)は、さらに異なる色ずれ量を求める方法を示している。この方法は、赤、緑、青の各色の濃度値が変化している部分で、各色の波形をずらしながらマッチング、すなわち重ね合わせを行ない、それらが最も重なる位置で各色のずらし量を求めるようになる。ここでのマッチングの方法はパターン認識の分野で良く使われているマッチング技術を使用する事が出来る。
色ずれ修正の作業は、図5に示す様な各色の変化部分だけで実行するようにして、バックグラウンド部分や印刷部分や記載部分などの色ずれの影響の無い部分は色ずれ処理を施さないように構成しても良い。これらの部分では各色をずらしても結果が変わらないからである。これにより色ずれ修正の高速化がはかれる。入力画像の色ずれがはっきりわかる部分や特定位置を拡大表示する機能により、色ずれ状態をオペレータが確認しやすくする事ができる。
色ずれ修正において、入力画像を1画素単位よりも細かい単位でずらすのは、例えば補間を使う事によって可能となる。この場合、移動すべき位置の濃度値を、その位置の近傍の画素の濃度値から補間計算して決定する。
なお、上述で述べた事は、色のボケ方が違うケースにも適用する事が出来る。図6は、黒の両端に赤が出現している例であるが、この様なケースは赤に対して緑と青の焦点がずれてボケている事を示している。
この様に、補色ではなく同色が両側にある場合にはボケ修正用パラメータを得る事ができ、これにより各色のボケ程度をそろえる事ができる。
また、上記の各種の補正、修正作業は、前もって行なわず、後で述べる文字抽出プロセスや文字認識プロセスの中の処理でそれらの補正や修正用パラメータを考慮して当該処理を実行する様にしても良い。
そして、この様にして色ずれ補正、色偏り補正された画像入力部1からの出力は、色分離部2に送られる。
次に、色分離部2での色分離の方法を述べる。ここでは、帳票色登録機能について述べると、OCRに帳票(記入済みでも未記入でも)を入力した時に、その画像から色分析をして、その帳票が何色をしているか、すなわちどの部分がどの様な色をしているかを調べ、それに基づいて書式情報に色情報を登録する。登録データとしては、単に色の種類数と色データ(RGB)というものから実際の帳票イメージまで登録してしまう手段が可能である。
勿論、この時、インタラクティブにオペレータが登録内容を修正できる。これは例えば、テスト的に入力した帳票の画像に対して、様々な色についての色抜き出し(消去)をトライアンドエラーで行ない、うまく帳票の印刷部分を抜き出せる(消せる)色を書式情報に登録するなどの手段である。
また、画面上に人工的な色データ、または帳票の入力画像を表示し、その上のある位置を指示する事によりその場所のRGBやVSHや色名称を出力し、オペレータが登録色を決定するのに分かり易いようにする事もできる。
このような処理について、ズーム機能によってオペレータが画像の一部分を拡大縮小するようなことができれば便利である。
このようにして作られた書式情報に基づいて、ある特定の色を分離抽出する処理が実行される。
書式情報に登録された色情報(背景色、記入色を含み、それぞれ複数の可能性を持っていて良い)に基づいて、消去すべき部分を取り除き、認識すべき部分を抽出して認識する。
この場合、消去すべき部分を書式情報によらず、入力画像から得られる色情報のみから自動的に決定する様にも構成出来る。たとえば簡単な例では特定の色のみを消去したり、あるいは、帳票のフォームを構成する線らしさや、その色から自動手的にフォーム部分の色を決定できる。認識すべき部分についても同様である。
色分離は、RGBから明度、彩度、色相(VSH)に変換し、それに基づいて行なう事も出来る。また、RGB、またはVSHの空間で距離を定義し、それに基づいて色を分離する事も有効である。
色の名称を定義し、それに基づいて色を分離する方法はマンマシン・インタフェースを考慮に入れると有力な方式である。この場合、書式情報における定義などもこの色名称によって行なわれる。
この様なシステムでは各色の名称と、RGBやVSHなどの色表現データとが対応づいて登録されている。従って、書式情報などに登録された色名称はRGBやVSHなどの色表現データに変換されて使用され、また逆にRGBやVSHなどの色表現データがオペレータに提示される時は、それはもっともそれに近い色名称に逆変換されてオペレータに知らされる。
次に、色分離の一般的な方法について述べる。ここでは簡単のためにグレー画像の例で説明する。グレー画像の濃度値の頻度分布をとった例を図7(a)(b)(c)に示している。この場合、0で黒、1で白、中間部分が暗い灰色から明るい灰色としている。そして、Aの分布は図8に示す画像の頻度分布を取ったものである。この図では灰色で書かれた数字「5」(Aの部分)の真ん中に明るい灰色の直線(Bの部分)が貫通している例である。これらの頻度分布がそれぞれ図7のAとBに対応している。この時、直線部の一部分bは暗くなっており、頻度分布のbに対応して数字「5」の一部分aは明るくなっており、頻度分布aに対応している。これらにより全体の頻度分布はCとなる。この頻度分布から色分離に対応する濃度分離を行うと、頻度を濃度値mで区切ってXとYのエリアに分けられることになる。
ところが、この分離法で画像を分離すると、図9(a)(b)に示すようにaやbの部分がノイズとして残ってしまう。また直線は数字「5」によって分断されてしまう。
データが濃度情報だけでなく例えばRGBの3色の色情報の場合は、前に説明した例と同様に、1次元だったものを3次元に拡張して考えればよい。3次元空間の中である領域の色を同一色と見做して色分離すればよい。
しかしながら、このような濃度の色空間内における領域分割だけで、色分離するのでは、前に述べたように正しい色分離はできない。この場合、Aの部分は直線であるとか、Bの部分は数字「5」であるなど各画素の幾何学的な情報、すなわち位相情報を濃度情報と併用しない限り、正しい色分離は論理的に不可能であることはこれまでの説明で明らかである。
これを更に詳しく述べると、いま、図9(a)に示す結果が得られたとする。ここで、それぞれのブロックa、x、y、z、wについて、それらの各組についてそれらが直線の一部であることをチェックする。この結果、例えばxとyの間のエリアでは濃度値が暗くなっているので、これらの間には何か黒い線が可能性があることになり、xとyは直線の一部である可能性ありとなる。同様なことがyとz、zとwについてもいえ、また、x、y、z、wの全体としても直線性が肯定的となる。これらを各ブロックの輪郭線を延長することにより接続して、図10に示すような1つの直線として得ることができる。
また、例えばaとyは輪郭線の延長がマッチしないことや、間にバックグラウンドカラーが存在するなどの理由により、接続不可能である。従って、aは孤立したブロックであり、ノイズとして除去される。逆にbの凹みは輪郭線を追跡することにより発見されるが、その凹み部分の濃度値が暗いながらもその輪郭線がxyz全体を直線と見做したときの輪郭線と一致することから、bは直線の一部と判断され、最終的に図11に示すような直線を得ることができる。
図9(b)に示す数字「5」についても同様で、曲線らしさや文字の形状に関する情報から正しく数字「5」を抜き出すことができる。
すなわち、本発明では、暫定的な色分離の後、暫定的に文字切り出し処理、文字認識処理、線分抽出処理、フォーム構造理解処理などを施し、それらの結果を用いることにより最終的な色分離結果を決定するというものである。すなわち、認識、抽出、理解などの処理途中やその結果で色分離が疑わしいと判断される場所があれば、フィードバックを行って、当該部分の色分離についてその結果を使いながら、分離処理のやり直しを実行するように構成すると言う事である。
他の例として、例えば直線部分を多く含み、また必要な場合にはそれらの並びを調べることによって、それらが帳票のフォーム部分(未記入帳票画面)を構成していることが判明した時に、それらをなす色を自動的に帳票のフォーム部分の色として決定することができる。
また、文字程度の大きさの塊が連続している場合には、それらの色を文字の記入色、印刷色として決定できる。
このように、本発明では、書式情報に登録された色情報や書式情報そのものがないときでも、入力された帳票から色分析して自動的に帳票を構成する複数の代表色を分離することが可能である。勿論、書式情報に色情報や書式情報が定義されているときは、もっと容易に上記の目的が達せられることはいうまでもない。次に、図12は領域a、b、cからなる直線の近くにノイズdが存在する例である。そして、a、cの色をC1、領域b,dの色をC2とし、C2はC1とバックグラウンドカラーの中間的な色であるとする。
このような画像に対して、ある任意の点を領域の種としてそこから始めて徐々に領域を拡大していく。この領域拡大については、その領域の色と同一の色と見做せる画素で、当該領域に接続している画素をその領域に取り込むことによって拡大していく。どの領域にも属さなくなるまでこれを繰り返すことにより、同図に示す4個の領域a、b、c、dが抽出される。
このような領域抽出法は、画像処理分野で知られている領域セグメンテーションの方式で、これは領域成長法と呼ばれる手法の1つである。この他に、スプリット・マージやリラキゼーションなどの様々な方式が可能である。
次に、各領域部分について前に述べたと同様な方法で直線性の判断からbを直線一部、すなわちbの部分の色をC1として分離し、dの部分をノイズ、すなわちC2の色として分離する。
一般的にいえば、本発明は領域セグメンテーションを行っての領域の代表色を決め、それらを総合的に判断して全体における代表色を決めるというものである。また、必要に応じてこれら代表色の情報から色分離を行う。
領域セグメンテーションに色の近さの情報を導入することによっても本発明による正しい色分離を行うことができる。例えば成長法で行っている時に同一色であるとの判断を緩めておけば、a,b,cが1領域として検出されるようにも設定できる。
すなわち、成長の過程で接触している輪郭部分の多い領域についてその両者の色が近いとしたときに、具体的にはC1とC2が近いと判断されたとして、これらをマージして1つの大きな領域にする。こうすればdに大きく接触するC2に近い色は無いかまたはそれはバックグラウンドカラーなので、それはいずれにせよノイズとして無視されてしまう一方bの領域は直線の一部として正しく領域抽出される。
このような本方式では色情報の他に画素の位相情報、すなわち各画素の幾何学的関係を使っているので、従来の単に色の統計的な情報だけに基づいて代表色を決めたり色分離する方式よりも、高精度な代表色決定や色分離が可能となる。
ある特定の色を分離抽出する為に、画像の色情報と画像内で表現されているもの、すなわち図形、直線、曲線、文字などの形状情報の両者を用いる事は有効である。図13(a)(b)はその例を示したものである。131は青い直線の途中が青緑に変性しているものである。これから単純に青色を分離すると132に示すように直線はかすれてしまう。また、であるからと言って青緑の部分も青と見倣してしまうと、例えば、133に示すように青い直線に青緑のゴミが付着している様なケースでは134に示す様なゴミの付着したままのイメージが色分離されてしまう。
そこで、本発明では、まず青い部分について形状分析を行ない、PとRの部分が直線である事を認識し、次いでかすれ部分とみなされるQの部分をしらべ、P、Q、Rの色が近い事、またP、Q、R全体で直線とみなされる形状を持っている事を条件として、P、Q、R全部を青色エリアとみなして色分離する。この様にすれば133に示す様なケースでもゴミのエリアAが誤って青色に色分離される事はなくなる。
図14は、青い線と赤い線がオーバーラップしている様子を示している。A1、C、A2は青い線、B1、C、B2は赤い線である。Cはオーバーラップエリアで紫色をしている。
この場合、通常の方法で赤を抜き出しても青を抜き出してもCを抜き出す事はできない。また、赤を抜き出す時に常に紫を抜き出す様にすると真に紫色をしている部分で抜いてはいけない所まで抜いてしまう事があり、不都合である。
そこで例えば青を抜くケースでは、まず、青に接触しているエリアを観察し、そこに当該青色とは別の色の混色である可能性のある色が存在している時、さらにその混色エリアの近傍を調べて該混色をなすもう一方の色が存在するエリアがある時には、その混色エリアも青のエリアとして抜き出すこととする。
この時、この青のエリアA1、A2の形状が直線を表しておりまた、混色をなすもう一方の色であるB1、B2のエリアも直線を表しており、Cのエリアもそれらの直線に矛盾しない事をチェックする様にすれば、より一層精度の高い色分離が可能となる。
この場合の形状チェックは直線だけでなく、曲線や、図形、文字形状ないし文字である確からしさ、などのチェックによっても良い。
図15は別の例である。エリアCが赤みがかった黒であれば上記とほぼ同様な処理で色分離ができるが、赤と黒の混色が黒であるとすればxとz、yとwを接続することによって赤の色分離が可能となる。またB2エリアが存在しない時でもxとzを接続する曲線をエリアB1の形状から推定する事により、赤の色分離が可能となる。
線幅情報と色情報の両者を使う事によって色分離を行なう方法は効果的である。この場合書式情報に色分離にかんする指定を記載するとすれば、色分離すべきものの色に関する情報に付加して線幅のしきい値や、ハッチングの場合には線のピッチなどの情報を設定する。
図16は帳票上に観測される線161上のある部分に設定された円領域162を示すものである。例えば、その中の黒がその重心位置からN方向に黒がその存在を調べて、その黒画素の連続する長さが最小になる方向の長さを持って線幅と見做す方式が知られている。また別の手段としては、縦横の黒画素のランレングスから線幅の推定値を求める方法も考えられる。いずれにしても、このようにして部分的な線幅情報を得る方法は公知である。
これにより、その部分が特定の色をしているのか、または特定の色でないかという事実と、その部分に決められた線幅以下の部分であるかどうかという事実の両者を使うことによって効果的な色分離を行うことができる。
上記の手法で、例えば帳票上で図17のようなハッチングが施された領域から、同一色で線幅の広い文字部分171を抜き出すことができる。また、この時、仮に線幅が狭くても、色の違う部分は例えば、172の様な部分はハッチング部分を消去した後でも分離して残す事ができる。
ところで、具体的な色分離の指定方法には次に示すものが主要なものである。特定の色を分離する場合、特定の色以外を分離する場合、無彩色を分離する場合、有彩色を分離する場合、白を分離する場合、黒を分離する場合、またはそれらの組合せである。
特定の色の分離する場合は、色相(H)の値を主に基準として判別する。無彩色、有彩色の分離の場合は、彩度(S)の値を主に基準として判別する。白や黒を分離する場合は彩度(S)の値が小さいものの中から明度(V)の大小で判定を行なう。
色分離した後の結果から、帳票の中でバックグラウンドカラーである可能性のもっとも高いもの、例えば、もっとも支配的な代表色を選ぶ事ができる。すなわち、各代表色の中で総面積の最大の色を選ぶのである。この結果を認識結果に付加して出力する事は有用である。すなわち自動的に推定されたバックグラウンドカラーを認識結果に付加して出力するのである。
また、認識された帳票のフォーム部分の色や、帳票上の特定部分の色を出力する事も有用である。
また、認識結果として得られる文字コードにその文字の帳票上での色やその文字の記載された位置のバックグラウンドの色や、その文字を囲む文字枠の色などを付加して出力することも有用である。
また、フォーム部分の色情報は罫線情報などと共に帳票判別に用いる事も可能である。これら抽出された色情報に基づいて、オペレータにアラームを出したり、その旨を表示する様にも構成できる。また、その色情報に基づいて修正画面表示を変える様にも構成できる。
帳票上の各部分領域ごとに色分離手段を変えることは非常に重要な手段である。
まず、あらかじめ書式情報には部分領域の定義とそのエリア内で通常の2値化処理を行うか、または色分離処理を行うかが記載されている。実際の処理が行われる時点で、例えば図18に示す帳票が入力されたとする。この帳票において、認識すべきエリアは181で、画像のみを取り出して、その画像データをそのまま出力すべきエリアが182である。書式情報にはそのように記載されているとする。この場合エリア181では、文字枠を示すプレプリントの部分を取り除いて文字を認識する必要がある。一方、エリア182では文字枠や項目名などのプレプリント部分は消去してはいけないので、それらの色は取り除かれない。もし、この場合にそれらを一様に色分離してしまうと不都合を生じる。
この場合の具体的な処理は次の様にして行なわれる。エリア181に関しては書式情報に基づきカラーデータで画像を入力する。一方、182に関しては2値で画像を入力する。また182に関しては入力されたカラーデータに対してRGBの平均値を計算してモノクロ画像を得、それを2値か処理して2値画像を得るようにしてもよい。次に、書式情報に基づきエリア181では文字枠の色を分離して消去する。そしてこれに対して文字認識が実行される。182についてはそのまま画像データが出力される。
こうすることによって、処理時間のかかる色分離作業を帳票上の一部分だけに限定することができる。通常の2値か処理は短時間で実行できるので、色分離作業を一部分に限定することにより、全体的な処理時間の向上を図ることができる。
上記の例は、色分離するかどうかを部分領域ごとに変える方式であるが、色分離手段を複数の方式から選択する方式も可能である。
例えば、エリア182の印鑑部の領域に於いては、赤または橙の色分離を行うように設定された色分離プロセスを起動し、またエリア181においては黒色を分離するようなプロセスを起動するように書式情報を登録することによって文字認識と印鑑抽出を高速に行うことができる。こうすれば、すべての領域についてすべての代表色を色分離するというような、従来の方式、例えば特開平3−14077号公報などの方式に比べて、高速に処理を行うことができる。
本発明では、これらの指定に附属して、その領域における文字の切り出し手段、文字認識手段、文字認識後処理手段などを複数の方式の中から特定のものを選択できるような指定を行なえる様にしても良い。
帳票の特定部分において特定の色を色分離し、その部分にその色が存在するかどうかを判定し、存在すればその色の対象物を認識し、その認識結果を出力する機構は便利である。当該色の認識対象物が無いと判断された時は、その旨出力する。またこの時、その部分に記載された対象物の色を出力するように構成しても良い。もちろん、この時に認識対象物を認識することなく、これらの判定結果や色情報のみを出力するように構成しても良い。
この時、印鑑判定部を本装置に組込むことにより当該部分に印鑑が存在するかどうかや、その印鑑がどの種類のものであるかを判定し、その結果を認識結果として出力する事ができる。たとえば、印鑑がない時や、所定の印鑑が押されていない時にそれを自動的にオペレータに知らせたり、警告するようにシステムを構成できる。すなわち、これら抽出された印鑑情報に基づいて、オペレータにアラームを出したり、その旨を表示する様にも構成できる。また、その印鑑情報に基づいて修正画面表示を変える様にも構成できる。
印鑑判定部は例えば、特定の色、例えば赤で色分離した画像から、当該色の対象部分が存在している事、またその部分の外側の輪郭形状がたとえば丸や楕円である事、また内部形状がある程度複雑である事実等から判定できる。
また、印鑑の形状の類似性の判定は、パターン認識等で良く用いられているパターンマッチング処理などにより行なう事ができる。
帳票の色分離を行なう事によって得られる結果や、さらにそれらに何らかの処理を施した結果を画面に表示し、オペレータの確認を待って次の処理に進む様にも構成できる。この場合、オペレータが処理結果に不満であれば、処理結果を直接修正できる様な機構を設けても良いし、また何らかのパラメータを変更してもう一度当該処理をやり直しさせられる様にも構成して良い。
また色分離時に判定困難な色が発見された時に、それを必要な場合にはその周囲の状態と共に表示して、オペレータに正解入力を促す様にも構成できる。以降、この正解データに基づいて色分離処理を行なうようにも構成できる。
まず、記入欄に対応する部分に第1の特定色、例えば黒に色分離される部分があり、それらが文字列として認識されれば、それを認識結果として出力する。同様に、必要であれば第Nの特定色まで同様の処理を繰り返しても良い。これらに関してはこの特定色が帳票のフォーム色と同一でなければ、色分離された画像データの中では、文字枠や記入欄は消去されていると見倣され、文字認識には「枠なし文字認識方式」が適用される。また逆にこれらが同一であるときは「枠あり文字認識方式」が適用される。記入欄のどこにも何も存在しないと見倣された時には空白を出力する。
またこれとは別に次の様にもできる。帳票のフォームの色と同一色でない色として分離された部分がその記入欄に存在して、それらが文字列として認識されれば、それらを出力する。この場合には文字枠や記入欄は消去されていると見倣されて、文字認識に「枠なし文字認識方式」が適用される。そしてその記入欄で、フォームと同一色の存在範囲が小さければ、記入欄の文字はフォームと同一色で記載されていると見倣されて、文字認識には「枠あり文字認識方式」が適用される。記入欄のどこにも何も存在しないと見倣された時は空白を出力する。これらの処理はどちらが先に行なわれても良い。
「枠なし文字認識方式」とは、文字枠が存在しないと仮定して文字の切り出しと文字認識を行なうもので、さまざまな方式が知られている。
「枠あり文字認識方式」とは、文字枠が存在すると仮定して文字の切り出しと文字認識を行なうものである。これにはあらかじめ文字枠の位置や形状が書式情報などから与えられている「既知形状文字枠あり文字認識方式」と、そうではない「未知形状文字枠あり文字認識方式」の2種類がある。これらは、それぞれ書式情報の内容によってどちらかが採用される。
またいずれの方式においても、「罫線接触あり文字認識方式」と「罫線接触なし文字認識方式」があり、実際のパターンの状態からどちらかの方式が選択される。
これらは次に示す手順で実行される。最初に文字枠推定処理が行なわれ、文字枠位置、またはその候補が決定される。次に文字部分を推定し、文字と文字枠の接触の度合を調べる。もし、ここで接触が少ないか無ければ、「罫線接触なし文字認識」が選択される。もちろん、接触か非接触かで方式を分けない様に構成することも可能である。次に、求められた罫線位置情報に基づきながら文字の切り出しと文字認識を行なって行く。罫線接触がある場合には、適切な文字と罫線の切り離し処理が行なわれる。
これら罫線切り離し技術や、接触文字の切り離し処理を伴う様な文字の切り出し処理や文字認識処理については、そうでない場合も含めて従来技術として知られているものを使う事ができる。
この様に構成する事によって、常に同一の方式で文字認識するよりも格段に精度の良い認識系を構成する事ができる。
なお、色分離と色ずれ修正を同時に行なう事ができる。色の偏り補正や色のボケ具合をそろえる補正処理なども同時に行なえる。例えば黒い部分を分離する場合、もし、あらかじめ色ずれ修正パラメータが判明している時には、RGB各色のシフトと色分離(特定の色を取り出す作業)を同時に行なえば良い。また、もしあらかじめ色ずれ修正パラメータが決まっていない時でも、黒い部分の両側に補色関係の色があれば、それらから色ずれを推定して、その結果に基づいてRGB各色をシフトしたと見なした上での黒部分を分離すれば良い。他の色についても同様の処理が可能である。
次に、画像処理部4での色の表現について説明する。画像処理部4では、色分離することにより得られた複数の代表色、すなわち微妙な色の違いを無視して選ばれた色について、または、入力された画像データについてこれらを画像の1ライン毎にランレングスとして表し、この1ライン分の表現に対してポインタを作り、このポインタ列からなるテーブルを作成して、このポインタ列と該代表色ランレングス表現からなるデータを画像データとして格納する。そして、このような画像表現を入力として、色表現に基づいて画像処理または文字認識を行う。
まず、色ランレングス表現の画像からその中の一部分をもとのビットマップデータに変換して文字認識や画像処理を行うことができる。色別のランレングス表現や色別のポインタになっていないと、一部分のデータを復号化することができず、画像全体を復号化しなければならなかった。またポインタ表現されたテーブルと白黒ランレングスデータ表現を組み合わせた形式の画像表現に対して文字認識を行う方式も知られているが、このままではカラー画像を扱うことができなかった(USP4426731)。ある部分のある特定の色部分をビットマップデータに変換したい場合、その部分に対応するラインのポインタから色表現されたランレングスデータを参照して特定の色に関するものだけでビットマップを変換するか、またはその部分の特定の色のポインタだけを参照してそのポインタが指し示すランレングスデータからビットマップデータを得るようにすれば、高速に特定部分の特定色のみを抽出することができて、それに基づいて文字認識や画像処理を行うことができる。これにより全画面を復号化して前記処理を行うよりもはるかに高速な処理が可能になる。また、復号化せずに直接ランレングス表現に対して処理を行うようにすれば一層高速な処理が可能になる。
帳票に現れる代表色について、それらはあらかじめ書式情報に記載されていて、それに基づいて抽出されたり、そうでなくて自動的に抽出されたりするが、それら代表色に基づいて画像を次の様に表現する。
この場合、代表色を表すコードCと、その色が連続する長さ、またはそれを符号化したものをLとすると、それらの組CLを求め、これらの連続によって1行分の画像を表現する。図19は、コード化の一例を示している。これはランレングス表現のカラー化である。
また、各代表色ごとにランレングス符号化する方法も使用できる。この場合、図20(a)の200に示すように1ラインごとに各代表色のランレングス表現をまとめておく表現方法と図20(b)の201に示すように全画面分のランレングス表現をまとめておく表現方法があり、また、各ラインのランレングス表現の先頭を指すポインタの設定方法にも、図20(c)の202に示すように1ラインごとに各代表色のポインタをまとめておく方法と図20(d)の203に示すように各代表色の全画面分のポインタをまとめておく方法がある。
また、RGB各色を量子化して、各RGBごとに同様のランレングスコーディングする事もできる。これらのコード化は隣あう画素間の少しの色の違いをノイズと見なして無視する事によって、それらを代表色や量子化濃度で近似する事により実現される。
ランレングス表現の画像に対して直接、画像処理を施す例は、例えば特開昭62−246138号公報、特開昭62−307615号公報などに開示されている。これらはすべて白黒ランレングスデータに対する画像処理方式であるが、これを各色のランレングス表現に当てはめて実行することができる。また、これらの画像処理技術に基づいて文字認識を実行することも可能である。
例えば、特定領域内の特定色の長い直線を検出する場合は、その特定領域を指し示すポインタを参照して該領域を含む部分の特定色の表すンレングスデータを得、そのうち、ランの長さが長くて該部分領域に含まれるものを得て、隣り合う長いランを統合することによって直線を検出することができる。
別の例として色ランレングス表現の画像に対して直接、画像処理を行う例を下記に示す。この場合の画像処理の例は、色ずれ修正処理である。
これらのコード化された情報に基づいて画像処理、文字切出し、文字認識を行なう事により、例えばRGB画像に対して処理するよりも処理速度を速める事ができ、また画像を表現するデータ量を圧縮する事ができる。
色ランレングスで表現されたデータに対して色ずれ修正を行なう事もできる。たとえば画像をRGBに分離してラン表現を作っている時(図20(d)の203)は各行の先頭ランの長さを変更するだけ1画素単位のシフトは簡単に実現できる。
1画素単位以下のシフトの場合は次の様な処理で実現される。まず各ランの境界部分の画素の値を調べて、その濃度値から各ランの長さを整数から実数に変換する。境界画素におけるその色の濃度が高いほどランの長さを長く、低い程短くするように各ランの長さを変更する。この時、各ランの総合計は変えないようにする。
次に、先頭ランの長さをシフト量に従って変更する。1行のラン表現が左から右に行なわれている場合には左シフトの時は先頭ランをその分短くする。右シフトの時はその分長くする。その後、各ランの総合計を変えないように各ランの長さを整数化する。これで、ラン表現上での画像のシフトが実現される。
たとえば画像を色コード+ランレングス表現で表している時(図20(b)の201)は、各1行ラン表現の中で3個または4個のランの連続を調べる。この連続したランの両はじのランにはさまれたランの色と長さが色ずれによって生ずる可能性があるかどうかを、シフト量と量はじのランの色から判断し、色ずれが原因の場合はそのランを消滅させ、各色のシフトがあったとして変更されるべき両はじのランの長さを変更する。または、各ランを例えばRGBに色分解して事実上図20(d)の203と同様な表現にかえて色ずれシフトを行ない、また元の表現(図20(b)の201)に戻す手段も可能である。
いずれにしても、この様な手段で色ラン表現の各色を直接原画像に戻す事なく、ずらす事ができる。
なお、上述の色分離を2段階に別けて行うことにより、処理の高速化を図ることができる。第1段階で細かな色の違いを余り無視しないようにして色分離を行い、その結果に基づいて第1の色のランレングス表現を作り、次にこのランレングス表現のデータに基づいて第2の色分離を行う。そして必要があれば第2の色分離の結果に基づいて第2の色ランレングス・データ表現を作成し、これを画像処理や文字認識処理の入力データとする。
一般に色分離は、処理時間が掛かるので、第1の色分離に簡単で高速な方式を用いて粗く色分離を行っておき、これに対して処理時間のかかる第2の色分離を行って精密な代表色の決定を行うようにすれば、直接原画像に対して第2の色分離処理を行うよりも高速で分離処理を行うことができる。
第2の色分離手段としては、上述した各方式が考えられ、これらは処理時間を要する色分離手段である。一方、特開平4−160486号公報に示されるものは、単純で高速なので、第1の色分離に適している。
RGBの値は、明度(V)、彩度(C)、色相(H)に変換してこれらの空間の中で色処理した方が良いし、また色の指定もこれらの値によって行なった方が便利である。これらの変換はたとえば次の様にして実現される。
まず、明度(V)はRGBの濃度値の平均値として定義できる。次に彩度(C)は最小の濃度値に基づいて定義できる。すなわち、最小の濃度が0に近いほど彩度は高い値をとる。なぜなら、この場合は濃度値の高い色と濃度値の低い色の濃度値の差が大きいので鮮やかな色が得られるからである。色相(H)を定義するためには、まずRGBの各色に対応する数値を定める。例えばRを0、Gを128、Bを192とし、BからRへ至る色の変化を表すときは、Rを256として扱う。次に最大の濃度値の色を示す数値と次の濃度値の色を表す数値の間の数値をそれらの濃度値の比で求めそれを入力色の数値すなわち色相とする。
具体的には次の手順で求めることができる。r、g、bをそれぞれRGBの濃度値、h、s、vをそれぞれHSVの値として、変換の手順をC言語で記述すると、下記のようになる。
v=r+g+b;
if(v=0) {c=0;h=0;}
else { r=(r*255)/v;
g=(g*255)/v;
b=(b*255)/v;
if(r>g)
{ if(g>b) {/*r>g>b*/s= 255−b*3;h= ((g−b)*129)/(r+g−2*b); }
else if(b>r)
{/*b>r>g*/s= 255−b*3;h= ((r−g)*65 )/(b+r−2*b)+192;}
else {/*r>=b>g*/s= 255−g*3;h= ((r−g)*65)/(r+b−2*b)+192;}
}
else { if(r>b)
{/*g>=r>b*/s= 255−b*3;h= ((g−b)*129)/(g+r−2*b); }
else if(b>g) {/*b>g>=r*/s= 255−r*3;h= ((b−r)*65)/(b+g−2*r)+128;}
else if((g>b)‖(b>r)) {/*g>=b>=r*/s= 255−r*3;h = ((b−r)*65)/(g+b−2*b)+128;}
else {/*g=b=r*/s=0;h=0;}
}
}
if(h>255)h=0;
if(s>=128)s=(s−128)/4+224; else s=(s*224)/128; v=v/3;
)
このような変換は、上記に限られるものではないが、これらの値をテーブルルックアップによって求める様にしても良い。すなわちRGBの値を量子化し、各色をNR、NG、NBビットで表現し、アドレス空間がNR+NG+NBビットのテーブルを用意して、このテーブル内のRGBの値に対応するアドレスにそのRGBが表す色に対応するHSVの値を格納するようにすれば良い。また画像入力部1からの入力画像の色表現がHSVであっても良い。
また、これらの変換を色の偏り補正と同時に行なっても良いし、これらの変換を色ずれ修正と同時に行なっても良い。
ところで、画像の表現には3種類あり、これらは各画素が色情報を保持している場合(C)、濃淡情報を保持している場合(G)、2値化されている場合(B)である。
前者はより高度な認識処理に向いているが、後者は高速処理に向いている。高度な認識処理を必要としない部分にカラーデータを割り当てる事や高度な認識処理を必要とする部分に2値データを割り当てる事はシステムパフォーマンスを向上させる観点からは望ましくない。そこで、帳票上の各部分ごとにデータ表現形式を指定する機構を導入する事は重要である。具体的には書式情報などに領域指定とその領域における画像表現形式を記載できるようにする。
画像入力部1が前記CGBのいずれの画像を出力するのかは、1種類に限定されている訳ではない。そこで、本発明装置では(C)に対応して文字認識する機構、(G)に対応して文字認識する機構、(B)に対応して文字認識する機構のうち少なくとも複数の機構を備えていて、入力画像の種類に応じて処理を行なう様にする。
図21は、上述の手段を具体化するための構成で、画像入力部211からの出力をそれぞれカラー画像バッファ212、グレイ画像バッファ213、2値画像バッファ214に各別に取り込み、それぞれについて認識部215〜217において文字認識を行い、これらの認識結果を読取り結果修正部218を介して出力するようになる。
読み取り対象帳票によって、それぞれCGBのいずれで画像入力したら良いかがあるので、書式情報等には入力すべき画像の画像表現に関する指定ができるようになっていると便利である。この書式情報の画像表現に関する指定に従って画像入力装置に指定の画像表現の出力をリクエストする。画像入力部1はそれに応じた画像を送ってくるので、本装置はそれに対応する処理を行なう。
しかし、画像入力部1がリクエストに応じられない場合や、本装置からリクエストしない場合には、あらかじめ分かっている画像表現のデータが送られて来る訳ではないので、この場合には画像データに付随しているか、あらかじめ設定されている画像表現データの種類に応じて認識処理などを行なう様にする。
また画像入力の対象が画像ファイル、すなわち、磁気ディスクなどに蓄えられたデータの時には、そのファイルにはデータの画像表現形式を判定できるデータが付加されており、それが、画像データと共に本装置に入力される。FAXなどの通信回線を通して送られる画像データについても同様であることは前にも述べた。
本機能は文字認識を行なうシステムと複数の端末と複数の画像入力装置をネットワークで接続したようなシステム構成の時に有効である。何故なら、ネットワークに接続された画像入力部1には各種のものが存在する可能性があり、それらに自由に対応できるからである。
次に、このようにして色表現された画像(C)、濃淡表現された画像(G)に対する文字認識処理について述べる。
まず、CまたはGの画像を2値化して、その2値画像を認識対象とする。文字の検出切出しや文字認識の際にかすれや潰れ、輪郭乱れなどの疑いのある場所が発生した時に、CまたはGの画像の当該部分に対応する部分を調べる。従って、本装置では、2値化の後もCまたはG画像が保持されている。
図22はブロック図である。この場合、入力されたカラー画像はそのままかあるいは色分離されてカラー情報としてカラー画像バッファ221に蓄えられる。この時、そのままのカラー情報と、色分離後のカラー情報を別々のバッファに格納してもよい。次に、カラー情報からグレー画像が例えばRGBの濃度値の平均値を計算するなどして得、グレイ画像バッファ222に格納する。入力画像がグレーの時は、それは直接このバッファに入力されてカラー画像バッファは省略される。
次にグレー画像に対して2値化処理を施すことによって2値画像を生成し、2値画像バッファ223に格納する。次に2値画像バッファ223のデータから1文字分の画像データを取り出し、これに対して文字切り出し部224で文字切り出しを行い、文字認識部225で文字認識を行う。例えば図23(a)(b)(c)に示すようにAやBのパターンが辞書パターンとして記憶されているものだとして、これらと入力パターンのXのマッチングが取られる。例えば、テンプレートマッチングのような手法によってマッチングする。
その結果、AとBのマッチング程度が同じくらいでどちらか判定がつかなかったとすると、この時辞書パターンAとBの組には、詳細認識判定プロセスが付属しており、このような判定不能時に起動されるものとする。
この詳細認識判定プロセスでは、入力パターンの特定部分について調べるような指定がしてある。この場合、入力パターンのYの領域部分について穴が開いているかどうか調べるという指定がある。
そこで、この領域に対応するグレイ像バッファ222を参照してそこの濃度値を調査する。その濃度値が周囲の濃度よりもバックグラウンドの濃度値に近ければ、穴が開いていると判断して入力文字は「8」と判定される。その逆の時は「9」と判定される。
グレー画像の変わりにカラー画像バッファ221を参照するときも同様である。文字切出し部224においても同様にグレー画像バッファ222やカラー画像バッファ221を参照することができる。
例えば、図24は2個の文字が接触している例である。この画像を縦方向に射影成分、すなわち黒画素数を計算すると、同図のAのようになる。この射影成分分析から、例えばこの射影成分の最小点、この場合はBとCを文字の切り出し候補点とする。
そこで、これらの切り出し候補点に基づいて切断箇所を求め、bとc,そこの部分に対応するグレー画像またはカラー画像の該当箇所を参照する。その結果、その部分が、バックグラウンドの色に近いか、または濃度値に近いと判定されたときには、その部分の切り出し候補の優先順位を上げることができる。bとcの場合、射影成分の値からはbの方が切り出し点としての優先順位が高いと判定されているので、cの部分の濃度値やバックグラウンドに近いことが判明すれば、cの部分を正しい切り出し点として優先順位を上げることができ、結果として誤読を防ぐことができる。
勿論、切り出し方式は、前記方式に限定されるものでない。この他に輪郭情報や切り出したときの文字の幅やそのほかの特徴を使ったり、それらを併用してもよいことはいうまでもない。
以上の考え方を一般的に述べると、認識プロセスから決められる再チェックが必要な場所が決められたときに、後段の処理をフィードバックする事により、その場所におけるパターンの色や濃淡データを参照しする事によって、かすれ、潰れ、輪郭乱れなどを修正し、線分抽出、レイアウト理解、フォーム理解、検出切出し、文字認識等を行なう。
次に、文字認識における2重線取消処理について述べる。入力画像は色分離され、印鑑の色に相当する部分の記入文字の色に分けられる。そして、記入色の画像データに対して文字認識が行われる。この時、文字記載部分に、長い横線が2本、また1本発見された時は、取り消し部分と判定される。
長い横線は、例えば長い横線ラインを見付け出すなどして検出することができる。その長さが十分でない時には、それらが1文字かまたは接触文字である可能性も合わせて調べるように構成する。そのような文字切り出しや文字認識が失敗すればそれは取り消しである可能性が高くなる。
この結果から、取り消しであると判断されて、近傍に訂正文字があればそれは訂正文字として認識され、当然そのときは、該取り消し部分が真に取り消されている可能性が高いと判断される。
次に、この取り消し部分の位置に対応する印鑑色の画像データの一部分を取り出して、その部分に十分な印鑑色が存在するかどうかを調べる。もし存在しなければ装置を使用しているオペレータに警告を発生するようにする。また、その警告をフラグとして、または存在有無などを文字認識結果に付随して出力するようにする。
印鑑の判定については、印鑑判定部を有し、取り消し部分に印鑑が存在するかどうかを印鑑色の画像データの形状から判定するようにしても良い。また、印鑑の形状の類似性を判定できる印鑑判定部を導入することにより、どの種類の印鑑が発見されたかを認識結果に付随して出力することもできる。
通常、印鑑の色と記入色は異なるので色分離により印鑑の色部分のみを取り出して、印鑑判定を行なえば精度の良い判定ができる。記入部分と印鑑の重なり部分も上述の色分離で説明した方法や、また記入部分に印鑑が押されている可能性があるとして印鑑の判定や照合を行なう様に構成して良い。
また、文字認識における文字種を同定する場合について述べる。
この場合、文字線が太いことなどは、文字がプレプリントされたものである事を示しており、その様な証拠が多く発見された時はプレプリント用の文字切り出し、文字認識手段を適用する。または、それを優先的に適用するようになる。
最後に、修正画面の構成について述べる。入力された画像データから、例えば色分離処理によって帳票のフォーム・イメージを取り出す。フォーム・イメージは、色のみから分離されても良いが、罫線抽出処理を特定の色に対して行うようにして抽出しても良い。フォーム・イメージは、ビットパターンで取り出されても良いし、また、ベクトルデータ、すなわち、始点座標と終点座標の組からなる線分データの組み合わせとして表現されていても良い。
次に、帳票上の文字を色分離した画像データなどから認識する。この時認識した文字の存在位置や大きさなどの情報を記憶しておく。
ここで色分析により得られた帳票のフォーム・イメージの色に類似している色によってフォーム・イメージを表示する。その時に、認識結果の文字をその文字が存在していた位置に重ねて表示する。この時、記入色に対応する色で文字を表示しても良い。
前記で類似している色とは、予め決められた対応関係によって対応する色であっても良いし、計算によって求められる近い色であっても良い。
これらの表示の全体や一部は、現画像表示の全体や一部に隣接して、それらの位置関係が対応付くように表示しても良い。
なお、図1に示す実施例では、外部より与えられる画像データを入力画像としてそのまま処理する場合を述べたが、送信されてくる画像データや記憶装置に蓄えられている画像データを入力画像とすることもできる。
この場合、画像データのみを送信や蓄積すると、該画像を処理する側で色補正を行う手掛かりを得られないという不都合が生じる。
図25は、通信システムに適用した例を示すもので、送信部251に画像入力部2511、修正パラメータ付加部2512、通信回線出力部2513を有し、受信部252に通信回線入力部2521、修正パラメータ解釈部2522、色修正部2523、文字認識部/画像処理部2524を有している。
そして、スキャナから読み込まれる画像は例えばRGB3色の多値表現カラー画像データとして画像入力部2511から入力される。すると、修正パラメータ付加部2512によりスキャナの形式、通し番号を表すコード、入力装置名、ID番号、機種などや色ずれ修正に必要な修正パラメータ、または色ずれ修正済みかどうかのフラグなど、色ずれ修正プロセスを特定できるデータが、入力した画像に属性データとして付与されて、通信回線出力部2513より通信回線253を通じて文字認識機能を有する受信部252に送られる。
受信部252では、通信回線入力部2521よりデータを受け取ると、修正パラメータ解釈部2522により属性データがスキャナの型式や通し番号を表すものであるときは、本装置に予め登録してある型式や通し番号と色ずれ修正パラメータの対応表を参照して色ずれ修正パラメータを解釈する。この時、対応表に修正パラメータがないときには、エラー処理とするか、または自動的に色ずれ修正パラメータを得るプロセスを用いて色ずれ修正パラメータを採用する。
受信したデータに直接、修正パラメータが付属している場合は、この修正パラメータを用いる。もし、受信データに修正パラメータを特定できる属性データが付属していないときは、エラー処理とするか、または自動的に色ずれ修正パラメータを得るプロセスを用いて色ずれ修正パラメータを得る。
属性データが色ずれ修正ずみかどうかを表すフラグを有していて、それが色ずれを表していれば、色ずれ修正は行わない。
このようにして色ずれ修正されたデータは文字認識部/画像処理部2524に送られ処理される。
なお、システムが画像蓄積装置を有している場合は、前記した色ずれ修正を特定するための属性データを入力した画像データに付属させて蓄積し、その後に蓄積されたデータを読み出して上述と同様な処理を行うようになる。
この場合、本装置では、色ずれ修正だけでなく、各色のボケ程度を揃える修正や、色の偏り補正などについても同様な処理を行うことができる。
その他、本発明は上記実施例に限定されるものでは無い。要するに本発明はその要旨を逸脱しない範囲で種々変形して用いる事ができる。