(57)【特許請求の範囲】
【請求項１】
画像読み取りによって得られるカラー画像データを２値化して２値画像を出力する２値化手段と、
前記２値化手段により得られた２値画像に基づいて、複数の文字を含む文字領域を検出する検出手段と、
前記検出手段により検出された文字領域から、前記２値画像に基づいて１つずつ文字を切り出し、１文字毎の情報を表す文字きり情報を得る文字きり手段と、
前記文字きり手段により得られた文字きり情報と前記文字領域に対応する前記カラー画像データとに基づいて、切り出した１つの前記文字毎に、１つの代表色を割り当てた、前記文字領域に対応する画像データを生成する色割り当て手段と、
前記色割当て手段によって前記文字領域中の複数の文字に割当てられた代表色の総数に応じて、異なる方法で、前記文字領域に対応する画像データを圧縮する圧縮手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記色割当て手段は、前記文字を構成する複数画素の中で、最も多い画素数を占める色を、前記代表色とすることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記圧縮手段は、前記代表色の総数が１色の場合には、その文字領域に対してＭＭＲ圧縮を行い、前記代表色の総数が２色以上、所定数Ｓ色未満の場合には、その文字領域に対してＺＩＰ圧縮を行い、前記代表色の総数が前記Ｓ色以上の場合には、その文字領域に対してＪＰＥＧ圧縮を行うことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
画像から得られるカラー画像データを２値化して２値画像を出力する２値化工程と、
前記２値化工程により得られた２値画像に基づいて、複数の文字を含む文字領域を検出する検出工程と、
前記検出手段により検出された文字領域から、前記２値画像に基づいて１つずつ文字を切り出し、１文字毎の情報を表す文字きり情報を得る文字きり工程と、
前記文字きり工程により得られた文字きり情報と前記文字領域に対応する前記カラー画像データとに基づいて、切り出した１つの前記文字毎に、１つの代表色を割り当てた、前記文字領域に対応する画像データを生成する色割当て工程と、
前記色割当て工程によって前記文字領域中の複数の文字に割当てられた代表色の総数に応じて、異なる方法で、前記文字領域に対応する画像データを圧縮する圧縮工程と、
を有することを特徴とする画像処理方法。
【請求項５】
コンピュータに、
画像から得られるカラー画像データを２値化して２値画像を出力する２値化工程と、
前記２値化工程により得られた２値画像に基づいて、複数の文字を含む文字領域を検出する検出工程と、
前記検出手段により検出された文字領域から、前記２値画像に基づいて１つずつ文字を切り出し、１文字毎の情報を表す文字きり情報を得る文字きり工程と、
前記文字きり工程により得られた文字きり情報と前記文字領域に対応する前記カラー画像データとに基づいて、切り出した１つの前記文字毎に、１つの代表色を割り当てた、前記文字領域に対応する画像データを生成する色割当て工程と、
前記色割当て工程によって前記文字領域中の複数の文字に割当てられた代表色の総数に応じて、異なる方法で、前記文字領域に対応する画像データを圧縮する圧縮工程と、
を実行させるためのプログラム。
【請求項６】
コンピュータに、
画像から得られるカラー画像データを２値化して２値画像を出力する２値化工程と、
前記２値化工程により得られた２値画像に基づいて、複数の文字を含む文字領域を検出する検出工程と、
前記検出手段により検出された文字領域から、前記２値画像に基づいて１つずつ文字を切り出し、１文字毎の情報を表す文字きり情報を得る文字きり工程と、
前記文字きり工程により得られた文字きり情報と前記文字領域に対応する前記カラー画像データとに基づいて、切り出した１つの前記文字毎に、１つの代表色を割り当てた、前記文字領域に対応する画像データを生成する色割当て工程と、
前記色割当て工程によって前記文字領域中の複数の文字に割当てられた代表色の総数に応じて、異なる方法で、前記文字領域に対応する画像データを圧縮する圧縮工程と、
を実行させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理装置、画像処理方法、及びその方法を実現するプログラム並びに記憶媒体に関するものである。
【０００２】
【従来の技術】
近年、スキャナの普及により文書の電子化が進んでいる。電子化された文書をフルカラービットマップ形式で記憶しようとすると、例えば、Ａ４サイズの場合では３００ｄｐｉで約２４Ｍバイトにもなり、必要なメモリが膨大になる。このような大容量のデータは、メイルに添付して送信するのに適したサイズとはいえない。そこで、フルカラー画像を圧縮することが通常行われており、その圧縮方式としてＪＰＥＧが知られている。ＪＰＥＧは写真などの自然画像を圧縮するには非常に効果も高く、画質も良い。しかし一方で、文字部などの高周波部分をＪＰＥＧ圧縮すると、モスキートノイズと呼ばれる画像劣化が発生し、圧縮率も悪い。そこで、領域分割を行い、文字領域を抜いた下地部分のＪＰＥＧ圧縮と、色情報付き文字領域部分のＭＭＲ圧縮を作成し、解凍時は白部分はＪＰＥＧ画像を透過し、黒部分は代表文字色を載せて表現する方法があった。
【０００３】
【発明が解決しようとする課題】
しかし、上記従来の方法では文字領域は１領域につき１色でしか表現できず、文字領域に複数の文字色が存在する場合には対応できなかった。
【０００４】
本発明は上記従来技術の課題を解決するためになされたものであり、文字領域に対し複数色を割り当てる画像処理装置、画像処理方法並びにその記憶媒体を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記目的を達成するため、本発明に係る装置は、
画像読み取りによって得られるカラー画像データを２値化して２値画像を出力する２値化手段と、
前記２値化手段により得られた２値画像に基づいて、複数の文字を含む文字領域を検出する検出手段と、
前記検出手段により検出された文字領域から、前記２値画像に基づいて１つずつ文字を切り出し、１文字毎の情報を表す文字きり情報を得る文字きり手段と、
前記文字きり手段により得られた文字きり情報と前記文字領域に対応する前記カラー画像データとに基づいて、切り出した１つの前記文字毎に、１つの代表色を割り当てた、前記文字領域に対応する画像データを生成する色割り当て手段と、
前記色割当て手段によって前記文字領域中の複数の文字に割当てられた代表色の総数に応じて、異なる方法で、前記文字領域に対応する画像データを圧縮する圧縮手段と、
を有することを特徴とする。
【０００６】
前記色割当て手段は、前記文字を構成する複数画素の中で、最も多い画素数を占める色を、前記代表色とすることを特徴とする。
【０００７】
前記圧縮手段は、前記代表色の総数が１色の場合には、その文字領域に対してＭＭＲ圧縮を行い、前記代表色の総数が２色以上、所定数Ｓ色未満の場合には、その文字領域に対してＺＩＰ圧縮を行い、前記代表色の総数が前記Ｓ色以上の場合には、その文字領域に対してＪＰＥＧ圧縮を行うことを特徴とする。
【００１１】
上記目的を達成するため、本発明に係る方法は、
画像から得られるカラー画像データを２値化して２値画像を出力する２値化工程と、
前記２値化工程により得られた２値画像に基づいて、複数の文字を含む文字領域を検出する検出工程と、
前記検出手段により検出された文字領域から、前記２値画像に基づいて１つずつ文字を切り出し、１文字毎の情報を表す文字きり情報を得る文字きり工程と、
前記文字きり工程により得られた文字きり情報と前記文字領域に対応する前記カラー画像データとに基づいて、切り出した１つの前記文字毎に、１つの代表色を割り当てた、前記文字領域に対応する画像データを生成する色割当て工程と、
前記色割当て工程によって前記文字領域中の複数の文字に割当てられた代表色の総数に応じて、異なる方法で、前記文字領域に対応する画像データを圧縮する圧縮工程と、
を有することを特徴とする。
【００１２】
上記目的を達成するため本発明に係るプログラムは、コンピュータに、
画像から得られるカラー画像データを２値化して２値画像を出力する２値化工程と、
前記２値化工程により得られた２値画像に基づいて、複数の文字を含む文字領域を検出する検出工程と、
前記検出手段により検出された文字領域から、前記２値画像に基づいて１つずつ文字を切り出し、１文字毎の情報を表す文字きり情報を得る文字きり工程と、
前記文字きり工程により得られた文字きり情報と前記文字領域に対応する前記カラー画像データとに基づいて、切り出した１つの前記文字毎に、１つの代表色を割り当てた、前記文字領域に対応する画像データを生成する色割当て工程と、
前記色割当て工程によって前記文字領域中の複数の文字に割当てられた代表色の総数に応じて、異なる方法で、前記文字領域に対応する画像データを圧縮する圧縮工程と、
を実行させる。
【００１３】
上記目的を達成するため、本発明に係る記憶媒体は、
コンピュータに、
画像から得られるカラー画像データを２値化して２値画像を出力する２値化工程と、
前記２値化工程により得られた２値画像に基づいて、複数の文字を含む文字領域を検出する検出工程と、
前記検出手段により検出された文字領域から、前記２値画像に基づいて１つずつ文字を切り出し、１文字毎の情報を表す文字きり情報を得る文字きり工程と、
前記文字きり工程により得られた文字きり情報と前記文字領域に対応する前記カラー画像データとに基づいて、切り出した１つの前記文字毎に、１つの代表色を割り当てた、前記文字領域に対応する画像データを生成する色割当て工程と、
前記色割当て工程によって前記文字領域中の複数の文字に割当てられた代表色の総数に応じて、異なる方法で、前記文字領域に対応する画像データを圧縮する圧縮工程と、
を実行させるためのプログラムを格納したことを特徴とする。
【００１４】
【発明の実施の形態】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素の相対配置、表示画面等は、特に特定的な記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１５】
＜一実施の形態＞
本発明に係る画像処理装置の一実施形態として、フルカラー画像を記憶媒体に格納する際、或は、伝送媒体上で伝送する際に、原画像の情報を残しつつ、効果的に圧縮する画像処理装置について説明する。
【００１６】
［概要］
本実施形態としての画像処理装置は、まず、全画像領域について輝度ヒストグラムを生成し、２値化して、いくつかの文字領域を取り出す。次に、各文字領域について、文字切り処理を行い、その結果から、再度文字領域として扱うべき領域か否か判断する。文字領域として扱うべき領域でない場合には、その領域内のオブジェクトが単色かどうか判断し、単色の場合にはＭＭＲ圧縮の対象とし、単色でなければ、ＪＰＥＧ圧縮の対象とする。また、文字領域として扱うべき画像と判断された場合には、その領域を構成する色を所定の減色処理によって減らす。この減色処理の結果、１色になった場合にはその色を示すパレット（例えば、（Ｒ，Ｇ，Ｂ）＝（２０，３０，４０））と、２値画像とを関連づけてＭＭＲ圧縮の対象とする。減色処理の結果、所定の色数（例えば４色）以下で表すことができる場合には、文字切り毎に、各色を示すパレットと、各色の画素位置を示す多値画像と、を関連づけてＺＩＰ圧縮の対象とする。所定の色数では表すことができない場合には、減色処理前の原画像をＪＰＥＧ圧縮処理の対象とする。
【００１７】
［全体構成］
図１に本発明を画像圧縮方法に適応した時の構成図を示す。
【００１８】
１０１は原画像である。１０２は原画像を入力し、画像の最適二値化を行う画像二値化部である。１０３は画像二値化部により二値化された全面二値画像である。１０４は全面二値画像１０３を入力して文字領域を検出し、文字領域座標１１２を作成する文字領域検出部である。
【００１９】
１０８は文字領域座標１１２を入力し、その座標内の原画像と二値画像を参照しながら二値画像の黒部分の原画像色を算出し複数のパレット１１４を作成し、それにしたがって原画像の減色処理を行う文字色抽出部である。
【００２０】
１０５は文字領域検出部１０４で文字として検出された領域で、かつ文字色抽出部１０８にて文字色がＭ色未満となった領域の二値画像１０３の黒の領域を原画像から抜いて、その周りの色で塗りつぶし、画像Ａを作成する文字部塗りつぶし部である。
【００２１】
１０６は画像Ａを入力し、縮小して画像Ｂを作成する縮小部である。
【００２２】
１０７は画像Ｂを入力し、ＪＰＥＧ圧縮して圧縮コードＸ（１１３）を作成するＪＰＥＧ圧縮部である。
【００２３】
１０９は文字色抽出部１０８により減色された複数の文字領域の減色画像である。１１０は減色画像１０９が１ビットであるときに、減色画像を入力しＭＭＲ圧縮して複数の圧縮コードＹ（１１５）を作成するＭＭＲ圧縮部である。１１１は減色画像１０９が２ビット以上であるときに、減色画像を入力しＺＩＰ圧縮して複数の圧縮コードＺ（１１６）を作成するＺＩＰ圧縮部である。最終的に１Ａでまとめた１１２から１１６までのデータが結合してこれが圧縮データとなる。
【００２４】
［文字領域検出処理］
図３は、文字領域検出部１０４での処理を説明するフローチャートである。ステップＳ３０１にてカラー画像を入力し、間引いて解像度を落しながら輝度変換を行い、輝度画像Ｊを作成する。例えば原画像がＲＧＢ２４ビット３００ｄｐｉだとすると、縦方向、横方向とも４画素ごとに
Ｙ＝０．２９９Ｒ＋０．５８７Ｇ＋０．１１４Ｂ
の演算を行い、新しい画像Ｊを作成すると画像ＪはＹ８ビット７５ｄｐｉの画像となる。ステップＳ３０２にて輝度データのヒストグラムを取り、二値化閾値Ｔを算出する。
【００２５】
次にステップＳ３０３にて輝度画像Ｊを閾値Ｔにて二値化し、二値画像Ｋを作成する。更にステップＳ３０４にて黒画素の輪郭線追跡を行いすべての黒領域をラベル付けする。次に、ステップＳ３０５にて黒領域中の文字らしい領域を判定する。ステップＳ３０６にて形や位置から結合するものを結合する。
【００２６】
一例を示す。例えば図４に示すカラー原稿を入力し、間引いて輝度変換したもののヒストグラムを取ると図５のようになる。このヒストグラムから平均、分散、などのデータを利用して閾値Ｔ（例えば１５０）を算出し、二値化した画像は図６のようになる。図６の黒画素の輪郭線追跡を行い、すべてをラベリングして、例えば、横幅が閾値以下、または高さが閾値以下の黒画素の集まりのみ文字として認識すると図７に示す黒画素の集まりが文字領域となる。ここでは説明のため図に表したが、文字領域検出処理中に、実際にこのような画像が作成されるわけではない。
【００２７】
これらの黒画素の集まりを位置の近さや横幅、高さの一致からグループ化していくと、図８に示すような１６個の文字領域が検出できる。これらの座標データが図１の文字領域座標１１２として格納される。
【００２８】
カラー画像の２値化をおこなうのではなく、微分フィルタをかけ、すべての画素の近隣の画素とのエッジ量を算出し、そのエッジ量を二値化することにより得られた二値画像を同様に輪郭線追跡をして文字領域を検出してもよい。
【００２９】
［文字領域に対する文字色抽出処理］
一方、文字色抽出部の一例のフローチャートを図１９に示す。二値画像は全面二値画像１０３を利用したがその限りでなく、たとえば文字領域の座標とカラー画像のみ入力し、カラー画像を改めて二値化した結果を利用して代表色演算処理を行っても良い。
【００３０】
この図１９の処理は文字領域検出部１０４で文字と判定されたすべての領域に対して行われる。
【００３１】
（再二値化処理）
まず、ステップＳ３００１で再二値化の判断を行う。
【００３２】
全面二値画像１０３は、すべての文字領域が良好に二値化されたものとは限らない。二値画像が濃すぎる場合も、薄すぎる場合も、共に結果の画質に悪影響を及ぼすので、理想的には文字領域ごとに最適二値化を行うのがよい。図５に示した全面のヒストグラムに比べて、文字領域ごとの輝度ヒストグラムは、図９のようなシンプルな形が期待できるので、閾値の決定は容易である。９０１は下地色の集合であり、９０２は文字色の集合である。本実施の形態では処理時間を節約するため、より悪影響を及ぼす「濃すぎる二値画像」に対してのみ再二値化を行う。
【００３３】
具体的には、文字領域検出部１０４において、文字と判定された領域の二値画像を走査し、孤立点フィルタとのパタンマッチングを行う。孤立点がその領域中に閾値以上存在するか判定し、閾値以上の場合は、その領域の輝度ヒストグラムをとり、最適閾値を算出して再二値化を行う。通常の文字領域であれば、部分的に輝度ヒストグラムを通すことによってよりよい二値画像が得られるが、まれに前よりも悪い結果（再二値化後、前より濃い二値結果になる）場合が存在する。その現象を防ぐために、再二値化では全面二値画像を得るのに使用した二値化閾値を入力し、再二値化のための閾値と比較して前よりも濃い結果が得られる場合は再二値化を行わないなどの例外処理を設ける。
【００３４】
（文字切り処理）
次にステップＳ３００２で、文字きり情報を作成する。
【００３５】
文字きり部では、文字領域が横書きであるか縦書きであるかによって処理が変わる。この横書きか縦書きかの情報は文字領域検出部にて黒の固まりの並びから判断され作成される。横書きである場合は、まず主走査方向に二値画像の黒画素の射影を取る。そして行の切れ目を検出した後、行ごとに副走査方向に黒画素の射影を取り、１文字毎の情報を得る。縦書きである場合は行きりだしが副走査方向に行われ文字きりだしが主走査方向に行われる。この時、多少の画像の傾きにも耐えられるように、行きりだしの射影を取るのに行方向に３分割して行うなどするとよい。この処理によって、各行の座標情報、および各行に存在する文字の座標情報を得ることが出来る。
【００３６】
一方、文字判断処理（後述のステップＳ３００３）では、文字領域検出部にて文字と判定された領域内の黒オブジェクトそれぞれを、さらに文字であるかどうかを判定するためにも文字きり情報を利用する。具体的には１文字の大きさや形から文字であるか否かを判定する。画質、圧縮という点からかんがみると、単色、または複数色に変換するのに「文字である」ことにこだわる必要はないのだが、（たとえば、単色で表現されたマークなどはＪＰＥＧで表現するより単色ＭＭＲで表現したほうが画質圧縮率ともによいのだが）、確率の問題として、文字以外の領域はグラデーションで表現されていることが多いからである。
【００３７】
（文字判断処理）
次に、ステップＳ３００３で文字判断を行う。
【００３８】
ここでは、文字きり（Ｓ３００２）での情報を入力し、行ごとにその行の平均文字サイズを演算する。このとき極端に小さい文字の情報は無視するとよりよい結果が出る。その平均サイズよりも極端に大きい文字矩形は文字でない、と判定する。また、平均に関わらず、縦横比情報などから明らかに文字でない形状の場合は文字でない、と判定する。
【００３９】
その領域中にｍ文字存在する場合、ｍ文字すべてが文字でないという判定になった場合、文字判定部はこの領域は画像である、という結果を出力する。
【００４０】
しかしながら、ｍ文字中ｎ文字（ｍ＞ｎ，  ｎ＞＝０）が文字でない、すなわち文字である矩形が残っている場合は、二値画像上から文字でないと判定された黒オブジェクトを消去して、この領域は文字である、という結果を出力する。
【００４１】
念の為最終画質をかんがみて、次の例外処理を加える。たとえば領域中に１０文字存在するときに飛び飛びの５文字が文字として単色化され、残りが文字でないとしてＪＰＥＧ圧縮されると、「ムラ」な画像が得られ、目視的に好ましくない画像となる。そこで、この文字判断部にて、文字、画像の判断が頻繁に切り替わるようなケースには、その並びや文字と判断される矩形の頻度などから全矩形文字にそろえる。または全矩形画像にそろえる。
【００４２】
文字判断処理で、文字と判断された領域についてはステップＳ３００４に進み、文字でないと判断された領域については、ステップＳ３００５に進む。
【００４３】
（単色判断）
ステップＳ３００５では単色判断を行う。
【００４４】
この処理を通る領域は文字領域検出部にて文字と判定されたものの、文字判断にて文字でないと判定された領域である。前述したように、文字であるか否かにかかわらず、単色で表現されている領域であれば単色化してＭＭＲしたほうが、画質圧縮率ともによい。そこでこの領域は単色であるか否かの判断を行う。
【００４５】
具体例としては二値画像の黒部に値するカラー画像の画素のＲＧＢそれぞれのレベルのヒストグラムを取りそれぞれのヒストグラムすべての分散値が閾値以下であればこの領域は単色であると判定する。
【００４６】
単色である場合にはステップＳ３００６の１色抽出にすすみ、複数色である場合にはｅｎｄにすすむ。
【００４７】
（一色抽出処理）
ステップＳ３００６での１色抽出処理を図１２のフローチャートを用いて説明する。
【００４８】
ステップＳ１２０１にてその文字座標が参照する二値画像の細線化処理を行い、スキャナ読み込み時の下地から文字部への変化部にあたる黒を減らしていき、新しい二値画像ｎｅｗｂｉを作成する。次にステップＳ１２０２にてｎｅｗｂｉの黒画素に対応する原画像のＲＧＢのそれぞれの値のヒストグラムを取る（もちろん、ＹＵＶ等の他の色空間でも構わない）。ステップＳ１２０３にてＲＧＢそれぞれの代表値を算出する。例えば、一番大きな値でも良い。またはヒストグラムのステップ数を少なくして大まかなヒストグラムで一番大きな値を得た後に、このヒストグラムに存在する細かなヒストグラムで一番大きな値を得る方法でもよい。
【００４９】
後者のような方法を取ることにより、図１３に示したようなヒストグラムからノイズ１３０２に惑わされること無く真の代表値１３０１を得ることができる。図を使用して詳細に説明をすると、細かなヒストグラムとしては例えば８ビットのＲデータから２５６段階のヒストグラム（図１３に示す）が得られるわけだが、これの最大値は１３０２になり、これは真の代表値ではない。そこで、ヒストグラムをオーバーラップする６４の幅にわけ、８段階のものを２５６段階のヒストグラムから再計算する。それを０から８に示したが、０と８は３２幅しかない。この再計算により代表値は▲６▼に存在することがわかり、▲６▼内の最大値を検索して１３０１を得ることができる。以上の処理をすべての文字座標に繰り返すことにより、すべての文字座標に１つずつ代表色が算出される。
【００５０】
（減色処理）
ステップＳ３００４では、文字に対し、減色処理を行う。
【００５１】
減色処理部１０８２においては、文字部の色について、元原稿が単色で表現されていた場合においても、スキャナ読み取り時に下地から文字部への色の遷移部が存在する。
【００５２】
図２２，図２５にスキャナ読み取りによる色の遷移の様子を示す。図２２では簡単のため、ＲＧＢで説明せず、Ｒのみで説明する。Ａという文字はもともとＲ＝３２レベルの単色にて構成されていたものであるが、スキャナにより読み込むと、そのデータは拡大の画素で示すようにばらついてしまう。もともとのレベルＲ＝３２近くの黒まで達している画素は３２０１，  ３２０２，  ３２０３の３つだけに過ぎず、他の画素は、下地色（この場合白）とＲ＝３２の間のレベルにとどまる結果、遷移部であるグラデーションで文字が表現されている。図２５では図２２の文字Ａの画素レベルの３次元ヒストグラムにて色の遷移の様子を示す。下地色が３５０１に示す白であり、文字色が３５０２に示す黒であるとする。遷移部を３５０３に示す。
【００５３】
元々単色で表現されていた文字部のスキャナ読み込みによるバラツキである遷移部を厳密に表現する必要はない。その代表色のみで表現することが出来れば画質もよく、データ量も少なくてすむ。しかしながら、二値画像の細線化などを行ったとしても、この下地から文字部の遷移部の色を完全に除去することは難しい。そこで、１文字は単色であらわされることが多いことを利用して、文字きり情報を使い、１文字１色に限定することにより画質、圧縮率の向上を目指す。ただし、もともとからグラデーションで表現される文字などを更に高画質で圧縮したい場合には、その文字が複数色で表現されているかの判定など例外処理を加えればよい。即ち、このように文字切り情報を利用して１文字１色にすれば、元々単色で表現されていた文字画像のスキャナ読み込みによるバラツキとして発生する遷移部を除去する事ができる。
【００５４】
次に減色処理部の詳細説明を図２０のフローチャートを利用して行う。
【００５５】
ステップＳ３１０２にてその文字座標が参照する二値画像の細線化処理を行い、スキャナ読み込み時の下地から文字部への遷移部にあたる黒を減らしていき、新しい画像ｔｈｉｎｉｍａｇｅを作成する。ｔｈｉｎｉｍａｇｅは二値画像であるが、後述のステップＳ３１１０の処理にて使用するので２５５（黒）と０（白）の二値として８ビットで構成する。次にステップＳ３１０３にてｔｈｉｎｉｍａｇｅの黒画素に対応する原画像のＲＧＢの３次元ヒストグラムを取る。この際、普通にヒストグラムをとると、たとえば入力画像がＲＧＢ各８ビットだとすると、２５６×２５６×２５６のヒストグラムが必要になる。文字部に必要なのは解像度であり、階調は必要ないこと、また、スキャナによる読み込み時のばらつきを押さえながら代表色を算出するには多少の画素値の違いは無視した方が良いこと、などをかんがみると、これほどの細かなヒストグラムは必要ない。たとえば、したがってこの例では、上位５ビットのＲＧＢ３次元ヒストグラムをとる。このヒストグラムをとる際は、その文字領域に存在する黒画素の総数ｂｌａｃｋｎｕｍも算出する。
【００５６】
本実施の形態ではＲＧＢ空間を利用したが、ＬａｂやＹＵＶなどの他の色空間でも構わない。また、３次元ヒストグラムをとったが、各色それぞれの１次元ヒストグラムを３つとってもかまわない。
【００５７】
ステップＳ３１０４にてその領域に存在する文字色数を示すｃｏｌｎｕｍを０にリセットする、処理済の画素数を示すｏｋｐｉｘｅｌを０にリセットするなどの初期化作業を行う。
【００５８】
ステップＳ３１０５にて代表値を算出する。ここでは、注目ヒストグラムを中心とする７つのヒストグラムの合計値が最大な点を代表値とする。（７つのヒストグラム：注目点と、Ｒ次元で隣り合った２つ、Ｇ次元で隣り合った２つ、Ｂ次元で隣り合った２つ（図１５に示す））このように検出された最大値をｃｏｌＲ［ｃｏｌｎｕｍ］：，  ｃｏｌＧ［ｃｏｌｎｕｍ］，  ｃｏｌＢ［ｃｏｌｎｕｍ］に代入する。
【００５９】
次にステップＳ３１０５にてこの代表値を中心としたこの代表値に変換されるべき色の範囲を決定する。
【００６０】
代表値をそれぞれ固定して３つの１次元ヒストグラムを得る。図２３にその様子を示す。例えば、代表値を（Ｃｏｌ  Ｒ（２６），ＣｏｌＧ（３０），ＣｏｌＢ（２２）  ）と仮定すると３次元ヒストグラムのＧを３０、Ｂを２２に固定したＲの１次元ヒストグラム（＝全ヒストグラムを３３０１の線に射影）、３次元ヒストグラムのＲを２６、Ｂを２２に固定したＧの１次元ヒストグラム（＝全ヒストグラムを３３０２の線に射影）、３次元ヒストグラムのＲを２６、Ｇを３０に固定したＢの１次元ヒストグラム（＝全ヒストグラムを３３０３の線に射影）を得る。例えばＲの１次元ヒストグラムは図２４のような形になるがこれの３４０１の点、３４０２の点を検出しそれを代表値に題する「Ｒの範囲」とする。検出の方法としては、画像の二値化閾値決定方法を利用する方法などがある。例えば３４０３は代表値であるが、０から代表値までのヒストグラムを二値化閾値決定関数に代入する事により３４０１の点を得て、代表値から３１までのヒストグラムを反転したものを二値化閾値決定関数に代入する事により３４０２の点を得る事が出来る。
【００６１】
この色の範囲をＲ，Ｇ，Ｂそれぞれ決定しｆｇ＿ｒａｎｇｅ［ｃｏｌｎｕｍ］に代入する。
【００６２】
ステップＳ３１０６にてｆｇ＿ｒａｎｇｅ［ｃｏｌｎｕｍ］内の３次元ヒストグラムの値をすべて０にする。この時、０にした画素の数を処理済の画素数を示すｏｋｐｉｘｅｌに加算する。
【００６３】
ステップＳ３１０７にて近似色判定を行う。近似色判定は、ｆｇ＿ｃｏｌｏｒ［ｃｏｌｎｕｍ］に対して、それまでに出現した色すべて（ｆｇ＿ｃｏｌｏｒ［０］からｆｇ＿ｃｏｌｏｒ［ｃｏｌｎｕｍ−１］まで）に対して行う。ただし、近似色が見つかった場合はループを抜ける。文字きりの説明にて言及したようにスキャナにより読み取った画像は下地色と文字色の間に遷移的な色が発生してしまう。図２５に示すように下地色（３５０１）と文字色（３５０２）の間の色の画素（３５０３）が存在してしまうのである。二値画像を参照する事により、３５０４にあらわした線より下地色側の色は３次元ヒストグラムに加算されない。（また二値画像の細線化により３５０４の線はより文字色側による）しかしながらなお遷移部分は存在していて、３５０２の文字色抽出後に遷移部分の色を抽出してしまうことがある。例えば、ｆｇ＿ｃｏｌｏｒ［０］が（３２，  ４０，  ４０）なのに対して、ｆｇ＿ｃｏｌｏｒ［ｍ］に（９６，  １１２，  ９６）を取り出してしまう事がよくある。これを同じ文字色だと判断するために近似色判定を行う。均等色空間でないＲＧＢ空間では近似色判定がやや難しいので、ここでは、Ｌａｂ空間にて判定する。ｆｇ＿ｃｏｌｏｒ［０］＝（３２，４０，  ４０）をＬａｂ変換すると（１５，  −４，  −１）であり、ｆｇ＿ｃｏｌｏｒ［ｍ］＝９６，  １１２，  ９６）  のＬａｂ変換は（４５，  −９，  ７）である。
【００６４】
これにより、元々単色で表現されていた文字画像のスキャナ読み込みによるバラツキとして発生する遷移部を除去する事ができ、高画質高圧縮の画像圧縮を可能とする。
【００６５】
本来下地色も検出し、下地色とｆｇ＿ｃｏｌｏｒ［０］の延長線に存在する色を近似色とするべきであるが、今回は下地は白が多いと割きり、Ｌａｂのａｂの距離が閾値以下であったら近似色であると判定する。判定結果は、ｋｉｎｊｉ［］行列に残す。ｋｉｎｊｉ［］にて同じ数字を持つものは近似色であることを表す。
【００６６】
例を以下にしめす。ｋｉｎｊｉ［０］とｋｉｎｊｉ［３］はともに０である。すなわち、ｆｇ＿ｃｏｌｏｒ［０］とｆｇ＿ｃｏｌｏｒ［３］は近似色であるということである。
【００６７】
ｆｇ＿ｃｏｌｏｒ［０］  ＝  （３２，  ４０，  ４０）        ｋｉｎｊｉ［０］  ＝  ０
ｆｇ＿ｃｏｌｏｒ［１］  ＝  （２４８，  ６４，  ４８）      ｋｉｎｊｉ［１］  ＝  １
ｆｇ＿ｃｏｌｏｒ［２］  ＝  （４８，  ２５６，  ３２）      ｋｉｎｊｉ［２］  ＝  ２
ｆｇ＿ｃｏｌｏｒ［３］  ＝  （９６，  １１２，  ９６）      ｋｉｎｊｉ［３］  ＝  ０
ステップＳ３１０８てｃｏｌｎｕｍをインクリメントする。
【００６８】
ステップＳ３１０９にて色抽出済みの黒画素が７５％以上超えたかどうか判定する（７５は一例）。
【００６９】
すなわちｏｋｐｉｘｅｌ×７５  ＞ｂｌａｃｋｎｕｍ×１００を満たすかどうかチェックする。
【００７０】
超えていたらステップＳ３１１０にすすみ超えていないときはステップＳ３１１３にすすむ。
【００７１】
ステップＳ３１１０ではｔｈｉｎｉｍａｇｅ上にパレット画像を構築する。具体的にはｔｈｉｎｉｍａｇｅの値が２５５の画素（まだ色割り当てが行われていないことを示す）に対応するカラー画像の画素ＲＧＢレベルを参照し、そのＲＧＢデータがｆｇ＿ｒａｎｇｅ［ｍ］内に存在する場合はｋｉｎｊｉ［ｍ］＋１の値（すなわち１）をｔｈｉｎｉｍａｇｅの対応する画素値に当てはめる。ここで、ｋｉｎｊｉ［ｍ］でなくｋｉｎｊｉ［ｍ］＋１を代入するのは、０が文字部でない（下地）ことをあらわす特別な数字であるためｋｉｎｊｉ［ｍ］が０の時そのまま代入できないからである。
【００７２】
ステップＳ３１１０にてｔｈｉｎｉｍａｇｅ上にパレット画像を作成すると、次にステップＳ３１１１にて文字きり情報を利用して、パレット画像から文字毎の色情報ｃｈａｒｐａｌを作成する。
【００７３】
ここで、文字切り単位毎の色情報ｃｈａｒｐａｌの作成方法について、図２６の文字画像を例にして説明する。この文字の「明日は晴れです。昨日は雨でした。」の「晴れ」はｆｇ＿ｃｏｌｏｒ［１］で抽出された赤色、「雨」がｆｇ＿ｃｏｌｏｒ［２］で検出された青色であり、その他は黒であるとする。
【００７４】
文字きり処理により、１文字目の「明」が最初の１文字として処理される。この文字に存在する細線画像ｔｈｉｎｉｍａｇｅの黒画素数は１００個とする。そのうち７０個がｆｇ＿ｒａｎｇｅ［０］内に存在し、２０個がｆｇ＿ｒａｎｇｅ［３］内に存在したとする。ｋｉｎｊｉ［０］もｋｉｎｊｉ［３］もともに０（近似色である）であるので、９０画素ともにステップＳ３１１０にて１が割り当てられる。ここでは、１つの文字の細線画像ｔｈｉｎｉｍａｇｅに存在する黒画素中、最大の割合を占める色を、その文字の色情報ｃｈａｒｐａｌに割り当てることにする。このケースでは、まだ色が割り当てられない画素は残り１０画素であり、この１０画素が全てこれから検出される色だったとしても９０を超えることはない。そこで、「明」の色情報ｃｈａｒｐａｌ［０］は１とする。
【００７５】
このように各文字切り部分について、その文字に割り当てる色を０〜２の３つのｃｈａｒｐａｌから選択する。その結果、「晴れ」の左辺「日」右辺「青」「れ」は赤であるｋｉｎｊｉ［１］＋１＝２，「雨」は青であるｋｉｎｊｉ［２］＋１＝３が割り当てられ、残りの文字は黒であるｋｉｎｊｉ［０］＋１＝１がｃｈａｒｐａｌとして割り当てられる。
【００７６】
この例では、文字色抽出ループを抜ける条件として、存在する文字数２０文字のすべてに対応するｃｈａｒｐａｌに色情報が割り当てられたことを採用する。つまり、ステップＳ３１１３において、存在する文字数２０文字のすべてに対応するｃｈａｒｐａｌに色情報が割り当てられたと判断した場合に、ステップＳ３１１４に飛ぶ。
【００７９】
ここまでで抽出した色数としてｃｏｌｎｕｍという数値が選られている。しかし、これは近似色も含めているし、抽出したものの使用しない色もありえるので、実際に使用されている色数（ｕｓｅｃｏｌｎｕｍ）とは異なる。そこで、ステップＳ３１１５にてｃｈａｒｐａｌをなめて実際に使用されている色数を計算する。
【００８０】
ステップＳ３１１６ではステップＳ３１１５にて計算されたｕｓｅｃｏｌｎｕｍが１６以上の時は下地（０）とあわせて１７色存在することになり、４ビットであらわせないので、ステップＳ３１１７に進み、この領域の減色処理はあきらめてＤＯＪＰＥＧを返す（下地画像として表現する）。ただし、ここで４ビットでなく８ビットまで許した場合は１６でなく２５６になる。
【００８１】
ｕｓｅｃｏｌｎｕｍが１の場合は、ステップＳ３１１８に進み、使用色１色のパレットを作成し、ステップＳ３１１９にて入力二値画像の切抜きをおこない、ステップＳ３１２０にてＤＯＭＭＲを返す。
【００８２】
ｕｓｅｃｏｌｎｕｍが２以上１６未満の場合は、ステップＳ３１２１に進み、使用色のパレットを作成し、ステップＳ３１２２にてパレット画像を作成する。ここでは、２，３のケースでは、１画素２ビットにて表されるパレットを、４以上１６未満のケースでは１画素４ビットにて表されるパレットを作成する。そしてステップＳ３１２３にてＤＯＺＩＰを返す。
【００８３】
このようにして作成された減色画像１０９が１ビットの場合（文字色抽出によりＤＯＭＭＲが返された場合）は１１０にてＭＭＲ圧縮し、圧縮コードＹを作成する。また、減色画像１０９が２ビット以上の場合（文字色抽出によりＤＯＺＩＰが返された場合）は１１１にてＺＩＰ圧縮し、圧縮コードＺを作成する。ＤＯＪＰＥＧが返された場合は減色画像が存在しないＭＭＲ圧縮部１１０やＺＩＰ圧縮部１１１には送らず、文字部塗りつぶし部１０５に文字領域として扱わないようにコマンドを送る。
【００８４】
［文字塗りつぶし処理］
文字部塗りつぶし部１０４の処理の一例を図１０と図１１を用いて説明する。図１１は、文字部塗りつぶし処理の流れを示すフローチャートである。
【００８５】
一例として、グラデーション画像を背景とし、ＡＢＣという青色の文字が中央付近に描かれた、図１０（ａ）のような画像を原画像とする。この原画像から（ｂ）のような１つの文字領域の２値画像を得たとする。そして、文字部塗りつぶし処理として、まず、ステップＳ１１０１で、全画像を３２×３２の領域（以下、パーツ）に分割し、パーツごとに処理をおこなう。図１０（ｃ）にパーツごとに分けた様子を示す。この図では簡単に説明するため、５×５のパーツに分割した状態を示している。各領域の左上の数字はパーツ番号を示す。この領域分割の個数はこれに限るものではなく、他の数でもよい。
【００８６】
ステップＳ１１０２では未処理のパーツか否か判断し、未処理のパーツについては、ステップＳ１１０３に進んで文字塗りつぶし対象領域がそのパーツ内に存在するか否か判断される。文字領域検出部１０４で文字領域と判定された領域でも、文字色抽出部１０８でＤＯＪＰＥＧが返された領域は、文字部塗りつぶしの対象領域とはしない。
【００８７】
図１０（ｃ）の例では、パーツ００〜０４，１０，１４，２０，２４，３０〜３５は、ステップＳ１１０３において文字塗りつぶし対象領域がないと判断され、処理は行われずに、次のパーツに進む。文字塗りつぶし対象領域の存在するパーツ（例えばパーツ１１）に対しては、ステップＳ１１０４に進み、対応する二値画像を参照し、二値画像の白部分に対応するカラー画像のＲＧＢ値（またはＹＵＶ等でも良い）の平均値ａｖｅ＿ｃｏｌｏｒを算出する。次にステップＳ１１０５において、対応する二値画像を参照し、黒画素に対応する画素の濃度データをａｖｅ＿ｃｏｌｏｒとする。以上の処理を文字塗りつぶし対象領域の存在するパーツ（ここでは、パーツ１２，１３，２１，２２，２３）に繰り返す。このようにして、文字の存在した部分に周りの画素の平均値を埋めることができる。
【００８８】
この画像を縮小部１０６にて縮小する。本実施の形態では単純間引きとする。ちなみに、この縮小と文字部塗りつぶし処理は順番を逆にしても構わない。その場合二値画像とカラー画像の位置のずれを気を付ける必要がある。
【００８９】
文字領域座標１１２、パレット１１４、圧縮コードＸ（１１３）、圧縮コードＹ（１１５）、圧縮コードＺ（１１６）の５つをまとめたフォーマットを必要ならば作成する。５つをまとめるフォーマットの一例としてＡｄｏｂｅ（商標）のＰＤＦなどが考えられる。ＡｄｏｂｅのＰＤＦとはＡｄｏｂｅが無償配布しているＡｃｒｏｂａｔ  Ｒｅａｄｅｒ（商標）というアプリケーションで表示できるフォーマットであり、ドキュメントを作成したアプリケーションがないために、受け手側でファイルを開けないなどのトラブルを避けることが出来る。その他のフォーマットとしては、ＸＭＬなどがある。ＸＭＬとはネットワークを介して文書やデータを交換したり配布したりするための記述言語である。
【００９０】
［伸長処理］
図２に伸長処理を行うために必要な構成を示す図である。
【００９１】
２０１は圧縮コードＸ（１１３）を入力し、ＪＰＥＧ伸長処理をおこない多値画像Ｅを作成するＪＰＥＧ伸長部である。２０２は多値画像Ｅを入力し、拡大処理を行う拡大部である。２０３は拡大部２０２により拡大された多値画像Ｆである。２０４は圧縮コードＹ（１１５）を入力し二値画像Ｇ（２０５）を作成するＭＭＲ伸長部である。２０６は圧縮コードＺ（１１６）を入力し多色画像Ｈ（２０７）を作成するＩＰ伸長部である。２０８は文字領域座標１１２とそれに対応するパレット１１４および二値画像Ｇ（２０５）または多色画像Ｈ（２０７）を入力し、二値画像または多色画像の画素データが透過をあらわす場合は画像Ｆ（２０３）の画素の色を、それ以外のときは対応するパレット色を選択し最終的な画像である画像Ｉ（２０９）を作成する画像合体部である。
【００９２】
図１４に合体処理２０８の結果例を示す。まず図１４（ａ）に圧縮コードＣのＪＰＥＧ伸長結果を示す。これは、図１０の画像を利用したが、ＪＰＥＧ圧縮の量子化非可逆方式を利用すると図１０（ｃ）とは微妙に画素値が異なるデータとなっている。しかし、文字部を抜く前の原画像をＪＰＥＧ非可逆圧縮方式で圧縮する場合と比較して、同じ量子化テーブルを利用した場合において画素値の変化は少ない。すなわち高画質である。本例では合体処理を行う文字領域画像はＭＭＲ圧縮された二値画像とする。伸長された二値画像を（ｂ）に示す。そのパレットはＲ＝２０  Ｇ＝３０，  Ｂ＝２２５とする。二値画像（ｂ）を参照して黒画素の対応するところの画像（ａ）上にパレット色（２０，３０，２５５）データをのせ、最終的に（ｃ）のような画像が出来上がる。多色画像の場合はパレット数が変わり、たとえば２ビットなら００，０１，  １０，  １１の４つの画素値に割り当てられたパレットを当てはめていく。そのうち１つは透過を示し、たとえば００とすると、００の値をもつ画素は画像（ａ）の画素を選択する。
【００９３】
０１の時は０１のパレット値、１０の時は１０のパレット値、１１のときは１１のパレット値をのせる。このようにして伸長画像２０９が作成される。
【００９４】
＜他の実施形態＞
上記実施の形態では二値画像は全面単一閾値にて作成したがその限りでなく、たとえば、文字領域検出１０４により検出された文字領域ごとに最適閾値を演算して二値画像を作成してもよい。その場合、図１９のステップＳ３００１の再二値化判断が必要なくなる。
【００９５】
また、文字部塗りつぶし、１０５、文字色抽出１０８にて同じ二値画像を使用したが、その限りでなくそれぞれに最適な二値化部を１０５，１０８内部にて所有してもかまわない。
【００９６】
また、上記実施形態では、輝度の低い下地上の輝度の高い文字（反転文字）の処理が不可能であるが、たとえば図１６に示す構成にすれば可能となる。１７０２は微分処理部であり、図１７に示すような微分フィルタを注目画素を中心にかけ、その絶対値が閾値を超えたら黒、超えなかったが白というように二値化していく。図１７（ａ）は１次微分フィルタであり、上は横線を検出することができ、下は縦線を検出することができる。２つのフィルタの絶対値の合計を利用すると斜め線を検出することができる。また、斜め線フィルタを利用してもよい、図１７（ｂ）は二次微分フィルタで全方向に対応したものである。二次微分フィルタも横方向、縦方向、と作成することも可能である。このようなフィルタを全画素にかけ、微分画像１７０２を作成する。この時、全画素でなく、間引きながらフィルタをかけることによって同時に解像度も落とすことも可能である。以上のように作成された二値画像に図３の３０４からの処理を行えば反転文字も含んだ文字領域座標も検出することができる。また、反転文字も対象にした場合は二値化部１７０３も対応しなければならない。反転文字領域も文字領域として抽出された場合、上記実施の形態では図９のパターンしか入ってこないと想定していたが、図１８の３パターンが主に入ってくることになる。（ｂ）が反転文字であり、（ｃ）が同一のグレー下地上に黒文字と白文字の２色が存在するケースである。これらの３パタンを考えて、二値化部１７０３では、Ａ点とＢ点を検出し、ＡとＢにはさまれた領域は白、その他は黒の二値化処理をおこなうとよい。または、（ｃ）のケースはかんがえずに下地と文字部を分ける１つの閾値を検出し、反転パタンであれば反転する処理を行えばよい。このように反転文字領域も対応すればＪＰＥＧ圧縮される画像上には実施の形態１では残ってしまっていた反転文字領域も文字部塗りつぶしによりスムージングされるので、圧縮効率もよく、またその反転文字部も解像度やモスキートノイズの劣化なしに圧縮することが可能となる。
【００９７】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００９８】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９９】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１００】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した（図１９および／または図２０、２１に示す）フローチャートに対応するプログラムコードが格納されることになる。
【０１０１】
【発明の効果】
本発明によれば、文字切り単位毎に１色の色を割り当てるため、文字を効率的に複数色で表すことができ、圧縮システムに利用すると、高画質高圧縮の画像圧縮を可能とする。
【図面の簡単な説明】
【図１】図１は本発明の一実施形態に係る画像処理装置の構成を示す図である。
【図２】図２は本発明の一実施形態に係る画像処理装置で圧縮したデータを伸長するための構成を示す図である。
【図３】図３は本発明の一実施形態に係る文字領域検出処理の一例のフローチャートである。
【図４】図４は本発明の一実施形態に係る文字領域検出処理を説明する図である。
【図５】図５は本発明の一実施形態に係る文字領域検出処理を説明する図である。
【図６】図６は本発明の一実施形態に係る文字領域検出処理を説明する図である。
【図７】図７は本発明の一実施形態に係る文字領域検出処理を説明する図である。
【図８】図８は本発明の一実施形態に係る文字領域検出処理を説明する図である。
【図９】図９は本発明の一実施形態に係る文字領域の再２値化処理を説明する図である。
【図１０】図１０は本発明の一実施形態に係る文字塗りつぶし処理を説明する図である。
【図１１】図１１は本発明の一実施形態に係る文字塗りつぶし処理を説明するフローチャートである。
【図１２】図１２は本発明の一実施形態に係る１色抽出処理を説明するフローチャートである。
【図１３】図１３は本発明の一実施形態に係る１色抽出処理を説明する図である。
【図１４】図１４は本発明の一実施の形態に係る画像処理装置で圧縮したデータを伸長し、合体する様子を説明する図である。
【図１５】図１５は本発明の一実施の形態に係る減色処理を説明する図である。
【図１６】図１６は本発明の他の実施形態に係る画像処理装置の構成を示す図である。
【図１７】図１７は本発明の他の実施形態に係る画像圧縮処理を説明する図である。
【図１８】図１８は本発明の他の実施形態に係る文字領域の２値化処理を説明する図である。
【図１９】図１９は本発明の一実施の形態に係る文字色抽出処理を示すフローチャートである。
【図２０】図２０は本発明の一実施の形態に係る減色処理を示すフローチャートである。
【図２１】図２１は本発明の一実施の形態に係る減色処理を示すフローチャートである。
【図２２】図２２はスキャナにより発生する文字部の遷移部（グラデーション）を説明する図である。
【図２３】図２３は本発明の一実施の形態に係る減色処理を説明するための図である。
【図２４】図２４は本発明の一実施の形態に係る減色処理を説明するための図である。
【図２５】図２５はスキャナにより発生する文字部の遷移部（グラデーション）を３次元ヒストグラムで表した図である。
【図２６】図２６は本発明の一実施の形態に係る、文字きり情報を利用して文字の色を決定する色割当て処理を説明する図である。
【図１】
0003715905.tif 000002
【図２】
0003715905.tif 000003
【図３】
0003715905.tif 000004
【図４】
0003715905.tif 000005
【図５】
0003715905.tif 000006
【図６】
0003715905.tif 000007
【図７】
0003715905.tif 000008
【図８】
0003715905.tif 000009
【図９】
0003715905.tif 000010
【図１０】
0003715905.tif 000011
【図１１】
0003715905.tif 000012
【図１２】
0003715905.tif 000013
【図１３】
0003715905.tif 000014
【図１４】
0003715905.tif 000015
【図１５】
0003715905.tif 000016
【図１６】
0003715905.tif 000017
【図１７】
0003715905.tif 000018
【図１８】
0003715905.tif 000019
【図１９】
0003715905.tif 000020
【図２０】
0003715905.tif 000021
【図２１】
0003715905.tif 000022
【図２２】
0003715905.tif 000023
【図２３】
0003715905.tif 000024
【図２４】
0003715905.tif 000025
【図２５】
0003715905.tif 000026
【図２６】
0003715905.tif 000027