(57)【要約】【課題】１つの文字切り領域の２値画像に対し１つの代表色を割り当てて文字色を再現した場合、本来の文字色とは異なる色の文字画像が再現されてしまう場合がある。【解決手段】画像処理装置であって、多値画像を２値画像に変換し、その２値画像から文字領域と非文字領域とを判定する。そして、その文字領域と判定された領域から文字単位の領域を抽出し、その文字単位の領域が文字領域か非文字領域か判定する。そして、文字領域と判定された前記文字単位の領域ごとに、当該文字単位の領域に含まれる前記多値画像から第１代表色を抽出し、当該第１代表色に対応する前記文字単位の領域の２値画像を生成し、その第１代表色と前記文字単位の領域の注目画素の色とを比較し、前記注目画素の色に最も近い第２代表色を決定し、生成された前記第１代表色に対応する前記文字単位の領域の２値画像を、その決定された第２代表色の２値画像に変更する。【選択図】  図６
2020043461.tif 000002
【特許請求の範囲】
【請求項１】
多値画像を２値画像に変換する変換手段と、
前記２値画像から文字領域と非文字領域とを判定する第１判定手段と、
前記第１判定手段によって前記文字領域と判定された領域から文字単位の領域を抽出する文字切り出し手段と、
前記文字単位の領域が文字領域か非文字領域か判定する第２判定手段と、
前記第２判定手段により前記文字領域と判定された前記文字単位の領域ごとに、当該文字単位の領域に含まれる前記多値画像から第１代表色を抽出し、当該第１代表色に対応する前記文字単位の領域の２値画像を生成する生成手段と、
前記第１代表色と前記文字単位の領域の注目画素の色とを比較し、前記注目画素の色に最も近い第２代表色を決定する決定手段と、
前記生成手段により生成された前記第１代表色に対応する前記文字単位の領域の２値画像を、前記決定手段により決定された前記第２代表色の２値画像に変更する変更手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記変換手段は、前記多値画像に含まれる閾値以上の濃い画素を黒画素に、前記閾値より小さい画素を白画素に変換することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１判定手段は、前記２値画像の黒画素の輪郭を追跡することにより黒画素の塊を抽出し、当該黒画素の塊の大きさや形状、黒画素密度のうちの少なくとも１つを用いて、前記文字領域と前記非文字領域とを判定することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記多値画像を縮小する縮小手段を、更に有し、
前記生成手段は、前記文字領域と判定された前記文字単位の領域における各文字を構成する画素の位置を特定し、特定した文字の画素の位置に基づいて、前記縮小手段により縮小された多値画像における対応する位置の色を参照して、前記文字単位の領域における前記第１代表色を抽出することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記生成手段は、前記文字単位の領域における前記２値画像で黒となった画素群に対応する前記多値画像の色の平均、或いは重み付け平均に基づいて、前記第１代表色を抽出することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記生成手段は、前記文字単位の領域における前記２値画像で黒となった画素群の中で最も頻度の多い色に基づいて、前記第１代表色を抽出することを特徴とする請求項４に記載の画像処理装置。
【請求項７】
前記生成手段が前記文字単位の領域に対して複数の前記第１代表色を抽出したかどうか判定する第３判定手段を、更に有し、
前記決定手段は、前記第３判定手段が複数の前記第１代表色を抽出したと判定した場合に、当該複数の前記第１代表色から前記注目画素の色に最も近い第２代表色を決定することを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記第３判定手段は、前記文字単位の領域における前記２値画像の黒画素の位置に対応する前記多値画像から色分散を算出し、当該色分散が第一の閾値未満の場合は、前記文字単位の領域は単色の領域と判定し、前記色分散が前記第一の閾値以上で、かつ第二の閾値未満の場合に、前記文字単位の領域は複数色の領域と判定することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記変更手段によって変更された２値画像に対し２値可逆圧縮を行う圧縮手段を、更に有することを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
画像処理方法であって、
多値画像を２値画像に変換する変換工程と、
前記２値画像から文字領域と非文字領域とを判定する第１判定工程と、
前記第１判定工程によって前記文字領域と判定された領域から文字単位の領域を抽出する文字切り出し工程と、
前記文字単位の領域が文字領域か非文字領域か判定する第２判定工程と、
前記第２判定工程により前記文字領域と判定された前記文字単位の領域ごとに、当該文字単位の領域に含まれる前記多値画像から第１代表色を抽出し、当該第１代表色に対応する前記文字単位の領域の２値画像を生成する生成工程と、
前記第１代表色と前記文字単位の領域の注目画素の色とを比較し、前記注目画素の色に最も近い第２代表色を決定する決定工程と、
前記生成工程で生成された前記第１代表色に対応する前記文字単位の領域の２値画像を、前記決定工程により決定された前記第２代表色の２値画像に変更する変更工程と、
を有することを特徴とする画像処理方法。
【請求項１１】
コンピュータを、請求項１乃至９のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置と画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、カラープリンタやカラースキャナ等の普及により、カラーで印刷された文書が増え、この文書をスキャンにより取り込んで電子ファイルとして保存したり、インターネット等を介して第三者等に送付する機会が増えてきている。しかし、フルカラーデータのままでは記憶装置や回線への負荷が大きいため、圧縮処理を行ってデータ量を小さくする必要がある。
【０００３】
従来、カラー画像を圧縮する方法として、例えば、誤差拡散等で擬似階調を持った２値画像にして圧縮する方法、ＪＰＥＧ形式で圧縮する方法、８ビットのパレットカラーに変換してＺＩＰ圧縮やＬＺＷ圧縮をする方法等があった。
【０００４】
特許文献１では、入力画像に含まれる文字領域を検出し、その文字領域の文字部分を２値画像にしてＭＭＲ圧縮（２値可逆圧縮）し、各文字の文字色情報とともにファイルに保存する。更に、入力画像上の文字部分を周囲の色で塗りつぶしたものを背景画像として解像度を落としてＪＰＥＧ圧縮（非可逆圧縮）して、そのファイルに保存する。この圧縮方法により圧縮されたファイルは、文字領域については高い品位が得られるとともに、圧縮率も高くすることができる。また特許文献１では、文字領域内に存在する文字を１文字単位に分離し、その文字領域内で算出された代表色値を、分離した１文字ごとに割り当てることで、文字領域に複数の色の文字が存在する場合でも良好な文字色の再現を行うことができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−８９０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記特許文献１では、入力画像を２値化して得られた２値画像を用いて、主走査方向及び副走査方向に黒画素の射影ヒストグラムを生成する。そして、その射影ヒストグラムから、行、列の切れ目を検出することで１文字ごとの領域（以降、文字切り領域）を特定している。ここで、その文字切り領域内における２値画像の黒画素部分に対応する多値画像に複数の色が存在する場合、その文字切り領域を代表色１色で表現してしまった場合、本来の文字色とは異なる色で文字が再現されてしまう場合がある。
【０００７】
図１１は、文字色が変化してしまう従来例を説明する図である。
【０００８】
例えば黒い文字１１０２に対し赤い丸枠１１０１が重なるように囲まれている場合や、黒文字１１０４上に赤ペン等で文字上にチェックマーク１１０３が入っている場合が挙げられる。更に、黒い文字１１０６の上に蛍光ペンなどのマーカ１１０５，１１０７を引いた場合などが挙げられる。図１１の入力画像から２値画像を生成した場合、黒い文字部分と赤枠や赤ペン、蛍光ペン部分が共に２値化されて黒画素となる。このように２値画像で連結してしまった黒と赤色部分は、２値画像から生成される射影ヒストグラムでは、分離できない。図１１の２値画像に対しては、参照符号１１０８，１１０９，１１１０で示すように、文字切り領域が生成される。この場合、１つの文字切り領域内の黒画素部分に対応する多値画像に複数の色が存在することとなる。従って、前述したように、各文字切り領域に代表色１色を割り当てると、１つの文字領域に対して１つの色を割り当てるため、本来の文字色とは異なる色の文字画像が生成されてしまうことになる。
【０００９】
本発明の目的は、上記従来技術の問題点の少なくとも一つを解決することにある。
【００１０】
本発明の目的は、文字領域を２値化し代表色を割り当てて文字色を再現する際に、文字色が本来の色から変化して再現されてしまうことを抑制できる技術を提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
多値画像を２値画像に変換する変換手段と、
前記２値画像から文字領域と非文字領域とを判定する第１判定手段と、
前記第１判定手段によって前記文字領域と判定された領域から文字単位の領域を抽出する文字切り出し手段と、
前記文字単位の領域が文字領域か非文字領域か判定する第２判定手段と、
前記第２判定手段により前記文字領域と判定された前記文字単位の領域ごとに、当該文字単位の領域に含まれる前記多値画像から第１代表色を抽出し、当該第１代表色に対応する前記文字単位の領域の２値画像を生成する生成手段と、
前記第１代表色と前記文字単位の領域の注目画素の色とを比較し、前記注目画素の色に最も近い第２代表色を決定する決定手段と、
前記生成手段により生成された前記第１代表色に対応する前記文字単位の領域の２値画像を、前記決定手段により決定された前記第２代表色の２値画像に変更する変更手段とを有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、文字領域を２値化し代表色で文字色を再現する場合に、文字色が本来の色から変化して再現されてしまうことを抑制できるという効果がある。
【００１３】
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
【図面の簡単な説明】
【００１４】
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
【図１】本発明の実施形態１に係る画像処理装置を含むシステムの全体構成を示す図。
【図２】実施形態１に係る圧縮伸張処理部の圧縮処理部の機能構成を示す機能ブロック図。
【図３】実施形態１に係る圧縮伸張処理部において、別の装置から送られてきたＰＤＦ形式の圧縮データを伸張する構成を説明するブロック図。
【図４】実施形態１に係る画像処理装置における、原稿の読み取りからファイルの生成までの処理の流れを説明するフローチャート。
【図５】図４のＳ４０５に示す圧縮伸張処理部による画像データの圧縮処理を説明するフローチャート。
【図６】図５のＳ５０９の文字色修正部による文字色の修正処理を説明するフローチャート。
【図７】実施形態１に係る圧縮伸張処理部における２値化部、領域判定部、文字切出し部の処理結果の具体例を説明する図。
【図８】実施形態１に係る代表色抽出部によって抽出された代表色ごとに２値画像を分類して画像バッファに格納した例を説明する図。
【図９】実施形態１に係る文字色修正部による文字色の修正処理の結果、代表色ごとに２値画像を分類して画像バッファに格納した例を説明する図。
【図１０】実施形態１に係る文字色修正部による文字色の修正処理の一例を説明する図。
【図１１】文字色が変化してしまう従来技術の一例を説明する図。
【図１２】実施形態２に係る領域判定部による１つの文字切り領域に対する処理を説明するフローチャート。
【図１３】実施形態２に係る図５のＳ５０９の文字色修正部による文字色の修正処理を説明するフローチャート。
【図１４】実施形態における領域判定の具体例を説明する図。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１６】
［実施形態１］
図１は、本発明の実施形態１に係る画像処理装置を含むシステムの全体構成を示す図である。
【００１７】
この画像処理装置は、コントローラユニット１００、スキャナ１１５、プリンタ１１６、操作部１１７を含む、例えば複合機（ＭＦＰ）である。コントローラユニット１００は原稿を読み取って、その画像データを入力するスキャナ１１５、画像データに応じた画像を印刷するプリンタ１１６に接続されている。そして一方では、ＬＡＮ１１８を介してホストコンピュータ１１９と通信し、画像データやデバイス情報の入出力を行う。ＣＰＵ１０３は、この画像処理装置全体を制御するコントローラとして機能する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０４は、ＣＰＵ１０３の制御の下で制御データの一時記憶、或いはワークメモリとして使用される。ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０５は、ＣＰＵ１０３が実行するプログラムなどを記憶している。ＨＤＤ１０６はハードディスクドライブで、システムソフトウェア、画像データ等を格納する。ＣＰＵ１０３は、ＲＯＭ１０５に格納されているブートプログラムを実行してＨＤＤ１０６に格納されているプログラムをＲＡＭ１０４に展開し、その展開したプログラムを実行することで、この画像処理装置の動作を制御する。操作部Ｉ／Ｆ１０７は、操作部１１７とのインターフェース部で、操作部１１７に表示する画像データを操作部１１７に出力する。また操作部１１７からユーザが入力した情報をＣＰＵ１０３に伝える役割をする。ユーザは操作部１１７を操作することにより画像処理装置に対し各種指示を入力できる。例えば、データを送信する宛先、各種送信設定（解像度や圧縮率等）、データ書式（ＪＰＥＧ／ＴＩＦＦ／ＰＤＦ／ＰＤＦ高圧縮等）を指定する。
【００１８】
実施形態１では、カラー画像の圧縮技術において、文字色を補正する例を説明するため、データ書式としてＰＤＦ高圧縮を指定した場合で説明する。ＰＤＦ高圧縮の技術詳細については後述する。ネットワークＩ／Ｆ１０８はＬＡＮ１１８に接続し、情報の入出力を行う。以上の構成がシステムバス１０１上に配置される。
【００１９】
イメージバスＩ／Ｆ１１０は、システムバス１０１と画像データを高速で転送するイメージバス１０２とを接続し、データ構造を変換するバスブリッジである。イメージバス１０２は、ＰＣＩバス又はＩＥＥＥ１３９４などの高速バスである。デバイスＩ／Ｆ１１１は、スキャナ１１５及びプリンタ１１６とコントローラユニット１００とを接続し、画像データの同期系／非同期系の変換を行う。
【００２０】
入力画像処理部１１２は、スキャナ１１５から入力される画像データに対し、シェーディング補正処理、ガンマ補正処理、色ずれ補正、色変換処理、フィルタ処理等の画像処理を実施する。出力画像処理部１１３は、プリンタ１１６に出力するビットマップ画像データに対して、色変換処理、擬似中間調処理等の画像処理を実施する。圧縮伸張処理部１１４は、前述したＰＤＦ高圧縮の処理を行なうことで、後述するＰＤＦ形式の圧縮データ２２０（図２）を生成する。生成された圧縮データ２２０は、ネットワークＩ／Ｆ１０８及びＬＡＮ１１８を介して、指定された宛先（例えばホストコンピュータ１１９）に送信される。また圧縮伸張処理部１１４は、ネットワークＩ／Ｆ１０８及びＬＡＮ１１８を介して受信した圧縮データの伸張を行うこともできる。伸張された画像データは、出力画像処理部１１３で画像処理がなされた後、デバイスＩ／Ｆ１１１を介してプリンタ１１６に送されて印刷される。圧縮伸張処理部１１４の詳細は後述する。
【００２１】
スキャナ１１５は、照明ランプの発光によって原稿上の画像を露光走査して得られた反射光をリニアイメージセンサ（ＣＣＤセンサ）に入力することで、原稿の画像情報を電気信号に変換する。スキャナ１１５は更に、電気信号をＲ、Ｇ、Ｂ各色の輝度信号に変換し、その輝度信号を画像データとしてデバイスＩ／Ｆ１１１を介してコントローラユニット１００に出力する。プリンタ１１６は、予め定められた画像フォーマットで生成された画像データをコントローラユニット１００から受信し、給紙ユニット（不図示）より給紙された転写紙へ印刷する。ここでは例えば、帯電、露光、現像、転写、定着の処理を経ることで、転写材である記録紙面へ画像を印刷する。
【００２２】
次に実施形態１に係る圧縮伸張処理部１１４により実現される画像圧縮処理部の構成、及び画像伸張処理部の構成について図２及び図３を参照して説明する。実施形態１では、圧縮伸張処理部１１４の機能は、ＣＰＵ１０３がＨＤＤ１０６からＲＡＭ１０４に展開したプログラムを実行することにより実現されるものとする。或いは、圧縮伸張処理部１１４の機能の一部、或いは全てをＡＳＩＣ等のハードウェアで実現してもよい。
【００２３】
前述した通り、圧縮伸張処理部１１４では、ＰＤＦ高圧縮処理を行う。ここで、ＰＤＦ高圧縮は、カラー及びモノクロ多値画像の圧縮技術である。ＰＤＦ高圧縮では、画像データに対して領域判定を行い、各領域の属性に応じて、ＭＭＲによる２値可逆圧縮とＪＰＥＧによる非可逆圧縮とを適応的に切り替えて圧縮する。これにより、圧縮率を高くできるとともに、文字領域については高い品位の画像が得られる圧縮が可能となる。
【００２４】
図２は、実施形態１に係る圧縮伸張処理部１１４の圧縮処理部の機能構成を説明する機能ブロック図である。ここでは入力画像データを圧縮して高圧縮ＰＤＦを生成している。ここで圧縮伸張処理部１１４に入力される画像データは、原稿をスキャナ１１５で読み取り、入力画像処理部１１２で処理された画像データとして説明する。また、説明を行う上で適時図７を参照する。尚、ここで圧縮伸張処理部１１４の機能がＣＰＵ１０３がプログラムを実行することにより実現される場合は、図２に示す各機能部の機能は、ＣＰＵ１０３がプログラムを実行することにより実現される。
【００２５】
図７は、実施形態１に係る圧縮伸張処理部１１４における２値化部２０２、領域判定部２０３、文字切出し部２０４の処理結果の具体例を説明する図である。
【００２６】
２値化部２０２は、多値画像である入力画像２０１から２値画像を生成する。２値画像では、入力画像において閾値以上の濃い画素が例えば黒画素に、閾値未満の画素が例えば白画素となる。もちろん、２値化の結果は、黒、白で表されず、他の色で表されても良いし、色ではなく、数字の１や０で表されてもよい。また閾値は、固定値（例えば８ビットで１２８）としてもよく、多値画像からヒストグラムを生成し、文字と非文字部分を分離するのに最適な閾値を算出する方法を用いてもよい。
【００２７】
ここで入力画像２０１が、例えば図７の７０１で示すような画像である場合、２値化処理後の２値画像は７０２のようになる。
【００２８】
入力画像７０１において、７１１は赤色で構成され、文字列７１２の中の黒文字「Ａ」は赤丸で囲まれていることを示している。また、文字列７１２の「ＢＣＤＥＦＧＨ」は、黒文字で構成されているものとする。尚、入力画像２０１がカラーの多値画像である場合は、２値化は多値画像の輝度（例えばＹＵＶのうちのＹ）に対して行われる。
【００２９】
領域判定部２０３は、２値化部２０２によって生成された２値画像から、文字が含まれる可能性がある文字領域と、文字が含まれない非文字領域とを検出する。ここで図１４を用いて概要を説明する。
【００３０】
図１４は、実施形態１における領域判定の具体例を説明する図である。
（１）２値画像に対して黒画素の輪郭を追跡することにより、黒画素の塊（黒画素塊）を抽出する。輪郭の追跡では、左上、左、左下、下、右下、右、右上、上の８つの方向の何れかで黒画素が連続しているかで判断する。例えば図１４（１）において枠線１４００で囲まれた黒画素塊を抽出する。
（２）抽出された黒画素塊の中に、一定の大きさを越える黒画素塊があれば、その領域内に白画素塊があるかを特定する。即ち、黒画素塊の領域内で白画素の輪郭を追跡することにより白画素塊を抽出する。例えば図１４（２）の枠線の内側の白画素の輪郭を追跡し白画素塊を抽出する。更に、抽出した白画素塊が一定の大きさを越える場合には、再度、白画素塊内の黒画素の輪郭を追跡することにより黒画素塊の抽出を行う。例えば図１４（２）の黒文字部分の輪郭を追跡し黒画素塊を抽出する。これらの処理は、画素塊が一定の大きさ以下になるまで繰り返し行う。この処理は、例えば枠線などで囲まれた領域内の文字領域を抽出するために行う。
（３）得られた黒画素塊を、大きさや形状、黒画素密度のうちの少なくとも１つを用いて、文字か、非文字かに分類する。例えば、図１４（３）の文字のように、縦横比が１に近く、かつ、大きさが定められた範囲の黒画素塊であれば、それを文字を構成する黒画素塊と判定する。そして、残りの黒画素塊を、非文字を構成する画素塊と判定する。
（４）文字を構成する黒画素塊同士の端部からの距離が近接している場合に、その黒画素塊同士を同じグループに分類する。その上で、同じグループに分類された黒画素塊の何れをも包含する外接矩形領域１１４０１を文字領域と判定する。例えば図１４（４）に示すように、文字間の距離が近い場合は、ＡＢＣの文字列を１つの文字領域として判定する。尚、文字を構成する他の黒画素塊が所定の距離内にない場合、文字を構成する黒画素塊は、それ単独で一つのグループを構成することになる。従って、その単独の黒画素塊の外接矩形領域が文字領域と判定されることになる。尚、非文字を構成する黒画素塊に対して（４）で説明した処理と同様の処理がなされるものとする。
【００３１】
こうして得られた各領域の位置と、その領域の属性判定情報（文字か非文字か）とを判定結果として出力する。
【００３２】
上記の（１）〜（４）の処理により、領域判定部２０３へ入力される２値画像が、例えば図７の２値画像７０２の場合、図７の７０３で示すような判定結果が出力される。すなわち、領域７１３，７１５が文字を含む可能性が高い文字領域、領域７１４が文字を含まない非文字領域であるという判定結果が出力される。以上で領域判定部２０３の説明を終える。
【００３３】
文字切出し部２０４は、領域判定部２０３で判定された文字領域の各々に対して、文字切り矩形の切り出し処理を行う。ここでは例えば、図７の７０３に示すように、領域判定部２０３において文字領域と判定された領域７１３，７１５に対し、文字の切り出しを行った結果を７０４に示す。切り出された結果は、７１６，７１７，７１８，７１９，７２０のようになる。この切り出し処理は以下の処理を含んでいる。
（１）文字領域の一つを選択する（例えば、領域７１３を選択する）。
（２）文字領域によって特定される一の２値画像に対して横方向から射影を取る。具体的には、横方向に伸びるラインに黒画素がいくつあるかを数え、その数えた結果が射影となる。取られた射影を、参照符号７０５で示す。この射影７０５において、閾値Ｔｈ＿ｈｍより多くの黒画素があった縦方向に連続するラインを一つのグループとする。このグループを、参照符号７０６で示す。この結果、文字領域７１３の場合、一つのグループが生成されることになる。
（３）このグループに対して、縦方向から射影を取る。具体的には、縦方向に黒画素がいくつかあるかを数え、その数えた結果が射影となる。こうして得られた射影を参照符号７０７で示す。
（４）（３）で得られた射影７０７において、閾値Ｔｈ＿ｈｓより多くの黒画素が存在する横方向に連続するラインを一つのグループとする。このグループを参照符号７０８で示す。例えば、射影７０７では、６つのグループが生成されることになる。これら６つのグループは、Ｓ，Ａ，Ｍ，Ｐ，Ｌ，Ｅそれぞれの文字で構成されるグループとなる。
（５）（４）で得られた各ライン群のグループの外接矩形を、文字切出し領域として切り出す。その結果、例えば、各文字の外接矩形が文字切出し領域として切り出されることになる。こうして切り出された結果は、７１６で示す外形矩形となる。
（６）以上（１）〜（５）の処理を、選択されていない文字領域が無くなるまで繰り返す。これら（１）〜（６）の処理により、文字切り領域結果７１６，７１７，７１８，７１９，７２０が出力されることになる。以上で文字切出し部２０４の説明を終える。
【００３４】
領域判定部２０５は、文字切り出し部２０４により切り出された文字切り領域内の文字画像について、文字切り領域単位で、文字であるか否かを判定する。ここでは例えば、文字切り領域内の黒画素密度から文字か否かを判定する。例えば文字の場合は、文字を構成する線同士の間に隙間が存在する。このため一定量の白画素が存在する。一方で非文字である場合は、文字切り領域内の多くが黒画素となる場合が多い。このため黒画素密度が閾値より大きい場合は非文字、閾値より小さい場合は文字領域と判定する。またこれ以外にも、文字切り領域の縦、横のサイズ比などから判定しても良い。更に領域判定部２０５は、領域判定部２０５で非文字と判断された文字切り領域の情報に基づいて、領域判定部２０３で生成された文字領域情報と、文字切り出し部２０４で生成された文字切り領域情報とを修正する。即ち、領域判定部２０３で生成された文字領域情報と、文字切り出し部２０４で生成された文字切り領域情報とから、領域判定部２０５で非文字であると判断された文字領域の情報を除去する。
【００３５】
縮小部２０６は、入力画像２０１を縮小処理（低解像度化処理）し、縮小多値画像を生成する。実施形態１では、入力画像は３００ｄｐｉであり、これを１５０ｄｐｉに縮小する処理を行なう。
【００３６】
代表色抽出部２０７は、領域判定部２０５で修正した文字領域情報と文字切り矩領域情報とに基づいて、２値画像における各文字を構成する画素（黒画素）の位置を特定する。そして、その特定した文字の画素の位置に基づいて、縮小多値画像における対応する位置の色を参照して、文字切り領域単位で文字の代表色を算出し、各文字の文字色情報を得る。また同色の代表色の２値画像を統合し、代表色ごとの画像バッファを生成する。代表色は、文字切り領域における２値画像で黒となった画素群に対応する多値画像の色の平均や重み付け平均で算出される。或いは、そうした画素群の中で最も頻度の多い色である。このように代表色の求め方は様々考えられるが、文字切り領域における２値画像で黒となった画素群のうちの少なくとも一画素の、多値画像における色が、代表色の算出に用いられることになる。実施形態１では、平均値を代表色とする例で説明する。
【００３７】
また実施形態１では、多値画像は縮小多値画像を参照しているが、入力画像の多値画像を参照するようにしてもよい。
【００３８】
次に図７及び図８を参照して、代表色抽出部２０７の処理結果について説明する。
【００３９】
図７に示す画像７０１は入力画像２０１の一例であり、画像７０４の７１６，７１７，７１８，７１９，７２０はそれぞれ文字切出し部２０４によって生成された文字切り領域を示している。この文字切り領域を、代表色抽出部２０７によって抽出された代表色ごとに２値画像を分類した画像バッファの一例を図８に示す。
【００４０】
図８は、実施形態１に係る代表色抽出部２０７によって抽出された代表色ごとに２値画像を分類して画像バッファに格納した例を説明する図である。
【００４１】
図８（Ａ）は、代表色が（Ｒ，Ｇ，Ｂ）＝（２０，２０，２０）と判定された文字切り領域群を示している。図８（Ｂ）は、代表色が（Ｒ，Ｇ，Ｂ）＝（２５５，３２，３２）と判定された文字切り領域群を示している。更に図８（Ｃ）は、代表色が（Ｒ，Ｇ，Ｂ）＝（９８，２４，２４）と判定された文字切矩形領域群を示している。
【００４２】
図８（Ｃ）で検出されている文字切り領域は、入力画像７０１に示す黒文字Ａが赤丸で囲まれている領域である。前述したように、２値化部２０２での２値化処理は閾値処理であるため、濃い部分が黒画素として生成される。このため、入力画像７０１の赤丸で囲まれ黒文字Ａでは、黒文字Ａ及び赤丸部分が２値化処理により両方とも黒画素に変換される。この場合、黒文字Ａと赤丸部分が２値化後の２値画像では連結してしまっているため、文字切出し部２０４の処理では分離することができない。この場合、１つの文字切り領域内の黒画素に対応する多値画像は、黒と赤の両方の色値を有することになる。そのため代表色抽出部２０７は、黒画素部分に対応する多値画像の平均値を算出することで代表色を決定し、文字切り領域内の黒画素部分を再現する色を決定する。ここで黒と赤両方の色が存在する場合、平均値を取った場合、茶色のような色になり、元々黒色だった文字Ａの部分及び赤色だった丸い囲い部分が茶色で再現されることになる。
【００４３】
そこで実施形態１では、代表色抽出部２０７によって抽出された代表色を修正し、入力画像の色値に近い代表色とすることで、文字色が変化して表現されてしまうことを抑制する。この代表色を修正する方法については後述する。
【００４４】
文字領域穴埋め部２０８は、領域判定部２０５で生成された文字領域情報に基づいて、２値画像における各文字を構成する画素（黒画素）の位置を特定する。そして、その特定した画素の位置に基づいて、縮小多値画像における対応する位置の画素を、その周辺色で塗り潰す処理を行う。ここで周辺色は、文字の周囲の画素の画素値の平均値を用い、文字の画素の画素値を、その求めた周辺色で置き換えればよい。
【００４５】
文字色修正部２０９は、領域判定部２０５で修正された文字切り領域情報と、代表色抽出部２０７で生成された各文字切り領域の代表色と、縮小部２０６によって生成された縮小多値画像から文字色情報の修正を行う。この文字色修正部２０９の詳細は後述する。
【００４６】
ＭＭＲ圧縮部２１０は、文字色修正部２０９で生成された、代表色ごとの２値画像に対してＭＭＲ圧縮を行い、圧縮コード１（２２１）を生成する。
【００４７】
ＪＰＥＧ圧縮部２１１は、文字領域穴埋め部２０８で穴埋め処理した後の多値画像をＪＰＥＧ圧縮して、圧縮コード２（２２４）を生成する。
【００４８】
このようにして、各構成要素から得られた圧縮コード１（２２１）と、文字領域情報２２２と、文字色情報２２３と、圧縮コード２（２２４）とを含む圧縮データ２２０のファイルがＰＤＦ形式で生成される。生成されたＰＤＦ形式のファイルは、上述の通り、ユーザにより指定された宛先へ送信されることになる。
【００４９】
図３は、実施形態１に係る圧縮伸張処理部１１４において、別の装置から送られてきたＰＤＦ形式の圧縮データを伸張する構成を説明するブロック図である。図３の処理は、圧縮データを伸張して印刷する場合などに実行される。ここでは、ホストコンピュータ１１９から送られてきた圧縮データが、上述の圧縮データ２２０と同じファイル形式である場合を例に説明する。尚、ここで圧縮伸張処理部１１４の機能がＣＰＵ１０３がプログラムを実行することにより実現される場合は、図３に示す各機能部の機能は、ＣＰＵ１０３がプログラムを実行することにより実現される。
【００５０】
ＭＭＲ伸張部３０１は、圧縮データ２２０のファイルに含まれている圧縮コード１（２２１）に対してＭＭＲ伸張処理を行い、２値画像を再現する。ＪＰＥＧ伸張部３０２は、圧縮データ２２０のファイルに含まれている圧縮コード２（２２４）に対してＪＰＥＧ伸張処理を行い、縮小多値画像を再現する。拡大部３０３は、ＪＰＥＧ伸張部３０２で伸張された縮小多値画像に対して拡大処理を行うことで、圧縮前の入力画像２０１のサイズと同じサイズの多値画像を生成する。
【００５１】
合成部３０４は、文字領域情報２２２を参照しながら、ＭＭＲ伸張部３０１で伸張された２値画像の黒画素に文字色情報の色（以下、文字色）を割り当る。更に、その文字色が割り当てられた２値画像を、拡大部２０４で生成された多値画像の上に合成することにより、伸張画像３０５を生成する。合成する際、２値画像における白画素に対しては透明色が割り当てられており、背景の多値画像を透過する。このように圧縮伸張処理部１１４は、圧縮データを伸張して伸張画像３０５を生成する。この伸張画像３０５は、出力画像処理部１１３で画像処理をがなされた後、デバイスＩ／Ｆ１１１を介してプリンタ１１６に送られて印刷される。
【００５２】
図４は、実施形態１に係る画像処理装置における、原稿の読み取りからファイルの生成までの処理の流れを説明するフローチャートである。図４のフローチャートで示す処理は、ＣＰＵ１０３が前述のＲＡＭ１０４に展開したプログラムを実行することにより達成される。
【００５３】
まずＳ４０１でＣＰＵ１０３は、操作部１１７のスタートキー（不図示）の押下を検知する。次にＳ４０２に進みＣＰＵ１０３は、ユーザが操作部１１７で設定した設定値（ファイルフォーマット、解像度、送信する宛先等）を取得する。そしてＳ４０３に進みＣＰＵ１０３は、スキャナ１１５を制御して原稿の読取を行う。そしてＳ４０４に進みＣＰＵ１０３は、Ｓ４０３でスキャナ１１５が原稿を読み取って得られた画像データに対して入力画像処理部１１２による画像処理を実行させ、処理済の画像データをＲＡＭ１０４に格納する処理を実行していく。次にＳ４０５に進みＣＰＵ１０３は、ＲＡＭ１０４に格納されている画像データに対し、圧縮伸張処理部１１４にて画像圧縮処理を実行することで圧縮データ２２０を生成する。この処理における圧縮コード１（２２１）、文字領域情報２２２、文字色情報２２３の生成フローの詳細は図５のフローチャートを参照して後述する。そしてＳ４０６に進みＣＰＵ１０３は、圧縮伸張処理部１１４によって生成された圧縮データ２２０からＰＤＦ形式のファイルを生成して、この処理を終了する。
【００５４】
図５は、図４のＳ４０５に示す圧縮伸張処理部１１４による画像データの圧縮処理を説明するフローチャートである。ここでは、圧縮伸張処理部１１４の機能がＣＰＵ１０３がプログラムを実行することにより実現されるものとして説明する。
【００５５】
まずＳ５０１でＣＰＵ１０３は縮小部２０６として機能し、入力画像２０１に対して画像縮小処理を実行して、縮小した多値画像データを生成する。次にＳ５０２に進みＣＰＵ１０３は２値化部２０２として機能し、入力画像２０１に対して２値化処理を実行する。次にＳ５０３に進みＣＰＵ１０３は領域判定部２０３として機能し、Ｓ５０２で生成された２値画像に対して領域判定処理１を実行し、２値画像内に含まれる各領域を識別し、識別された領域が文字領域か非文字領域か判定する。
【００５６】
そしてＳ５０４に進みＣＰＵ１０３は領域判定部２０５として機能し、領域判定部２０３で判定された領域の１つを順に注目領域とし、その注目領域に対する領域判定部２０３の判定結果が文字領域であるか否かの判定を行う。ここで注目領域が文字領域の場合はＳ５０５に進み、非文字領域の場合はＳ５０７に進む。Ｓ５０５でＣＰＵ１０３は文字切出し部２０４として機能し、文字領域と判定された注目領域から文字単位の文字切り領域を抽出する。次にＳ５０６に進みＣＰＵ１０３は代表色抽出部２０７として機能し、文字切出し部２０４で生成された文字切矩形領域ごとに２値画像の色を示す代表色を算出する。そしてＳ５０７に進みＣＰＵ１０３は、領域判定部２０３で生成された全ての領域に対するＳ５０４〜Ｓ５０６の処理が終了したか否かを判定し、全ての領域に対する処理が終了した場合はＳ５０８に進み、そうでないときはＳ５０４に進む。
【００５７】
Ｓ５０８でＣＰＵ１０３は領域判定部２０５として機能し、Ｓ５０５で生成された各文字切り領域が文字か否か判定し、文字領域の判定修正を行う。具体的には、Ｓ５０３で抽出された文字領域に対し、領域判定部２０５の判定処理で非文字と判定された文字切り領域を除外することで文字領域の修正を行う。次にＳ５０９に進みＣＰＵ１０３は文字色修正部２０９として機能し、代表色抽出部２０７で算出された文字切り領域ごとの代表色を修正する。この詳細は図６を参照して後述する。次にＳ５１０に進みＣＰＵ１０３は文字領域穴埋め部２０８として機能し、縮小部２０６で生成された縮小多値画像に対し、文字部分の画素をその周辺の色で塗りつぶす処理を行なう。そしてＳ５１１に進みＣＰＵ１０３はＭＭＲ圧縮部２１０として機能し、文字色修正部２０９で修正された２値画像及び文字色情報に基づいて、２値画像に対しＭＭＲ圧縮を行って圧縮コード１（２２１）を生成する。またＣＰＵ１０３はＪＰＥＧ圧縮部２１１として機能し、文字領域穴埋め部２０９で生成された多値画像に対しＪＰＥＧ圧縮を行って圧縮コード２（２２４）を生成して、この処理を終了する。
【００５８】
図６は、図５のＳ５０９の文字色修正部２０９による文字色の修正処理を説明するフローチャートである。また、このフローチャートを説明する上で適時図９、図１０を参照する。
【００５９】
図９は、実施形態１に係る文字色修正部２０９による文字色の修正処理の結果、代表色ごとに２値画像を分類して画像バッファに格納した例を説明する図である。
【００６０】
図１０は、実施形態１に係る文字色修正部２０９による文字色の修正処理の一例を説明する図である。
【００６１】
まずＳ６０１でＣＰＵ１０３は、代表色抽出部２０７で算出された文字切り領域ごとのＮ個の代表色の色変換を行う。ここで代表色抽出部２０７で算出された代表色は、Ｒ，Ｇ，Ｂで表される輝度系の色空間であるため、均等色空間であるＬａｂ色空間に変換する。尚、このＲＧＢ色空間からＬａｂ色空間への変換は、一般的な変換式を用いることで実現できる。ここでは後述する色差信号算出のためＬａｂ色空間に変換を行っているが、これに限るものではなく、ＹＣｂＣｒ色空間への変換であってもよい。また、色空間変換を実施せず、ＲＧＢ色空間での色の差分から後述する色差を簡易的に算出してもよい。
【００６２】
図１０（Ｂ）は、図８で示される代表色を一般的な変換式を用いてＬａｂに変換した場合の色値を示している。ここで、Ｎｏ．１〜Ｎｏ．３の代表色は、それぞれ図８（Ａ）〜図８（Ｃ）の代表色に対応している。図８（Ａ）の代表色のＬａｂは、（Ｌ、ａ、ｂ）＝（３３、０、０）、図８（Ｂ）の代表色のＬａｂは（Ｌ，ａ，ｂ）＝（６９，５９，３１）、図８（Ｃ）の代表色のＬａｂは（Ｌ，ａ，ｂ）＝（４６，３３，１５）となる。尚、実施形態１では、代表色の数はＮ＝３として説明する。
【００６３】
次にＳ６０２に進みＣＰＵ１０３は、文字と判定された文字切り領域内における２値画像の黒画素部分の１つを順に注目画素とし、その注目画素の位置に対応する多値画像のＲＧＢ信号をＬａｂ信号に変換する。
【００６４】
図１０（Ａ）は、図７に示した黒文字Ａが赤丸の枠で囲まれた部分の多値画像を示している。ここで注目画素１０００を、赤枠部分の注目画素とした場合、多値画像の信号値は（Ｒ，Ｇ，Ｂ）＝（２５５，３２，３２）とする。これを一般的な変換式を用いてＬａｂに変換すると（Ｌ，ａ，ｂ）＝（６３，５９，３１）となる。一方で、注目画素１００１を黒文字Ａの部分の注目画素した場合、多値画像の信号値は（Ｒ，Ｇ，Ｂ）＝（２０，２０，２０）とする。これをＬａｂに変換すると（Ｌ，ａ，ｂ）＝（３３，０，０）となる。
【００６５】
次にＳ６０３に進みＣＰＵ１０３は、Ｓ６０２で算出された注目画素のＬａｂ信号（Ｌ１，ａ１，ｂ１）と、注目文字切り領域の代表色のＬａｂ信号（Ｌ２，ａ２，ｂ２）とから色差ΔＥを算出する。この色差ΔＥは、下記の式（１）によって算出される。
【００６６】
色差ΔＥ＝√（（ΔＬ×ΔＬ）＋（Δａ×Δａ）＋（Δｂ×Δｂ）)  …式（１）
ここでΔＬ＝Ｌ１−Ｌ２、Δａ＝ａ１−ａ２、Δｂ＝ｂ１−ｂ２、とし、√（）は平方根を取る関数を示している。ここで算出された色差ΔＥを、ＲＡＭ１０４に設けた変数Ｍｉｎに格納する。
【００６７】
次にＳ６０４に進みＣＰＵ１０３は、Ｓ６０２で算出された注目画素のＬａｂ信号（Ｌ１，ａ１，ｂ１）と、Ｓ６０１で算出されたｎ番目（ｎはＲＡＭ１０４に記憶され、初期値が「１」）の代表色のＬａｂ信号（Ｌｎ，ａｎ，ｂｎ）とから色差ΔＥｎを算出する。次にＳ６０５に進みＣＰＵ１０３は、Ｓ６０４で算出された色差ΔＥｎがＭｉｎより小さいかを判定する。そして、色差ΔＥｎがＭｉｎより小さい場合、即ち、注目画素の文字色が、注目文字切り領域の代表色よりもｎ番目の代表色に、より近い場合はＳ６０６に進む。一方、そうでないときはＳ６０７に進む。Ｓ６０６でＣＰＵ１０３は、その色差ΔＥｎをＭｉｎに格納し、注目画素の色値との色差が、より小さい代表色に更新する。ここではｎ番目の色値情報を保持するため、ＲＡＭ１０４に設けられた変数ＭｉｎＮ＝ｎとすることで、注目画素の色値との色差が、より小さい代表色の番号を記憶する。
【００６８】
そしてＳ６０７に進みＣＰＵ１０３は、注目画素に対してＮ個すべての代表色との比較が終了したか否かを判定する。そして、全ての代表色との比較が終了したときはＳ６０９に進むが、そうでないときはＳ６０８に進み、変数ｎをカウントアップして、次の代表色との色差比較を行うためにＳ６０４に進む。
【００６９】
Ｓ６０９でＣＰＵ１０３は、変数ＭｉｎＮに格納されている番号（ｎ）の代表色で示される２値画像のバッファに２値画素データを移動する。こうして、現在の文字切矩形領域として保持されている代表色よりも、注目画素の色値に、より近い代表色がある場合は、その代表色で注目画素の色値を再現する。
【００７０】
図１０（Ｃ）は、注目画素１０００及び注目画素１００１の各色値と各代表色との色差の一例を示す。注目画素１０００に対する各代表色との色差は、Ｎｏ．２の代表色が最も色差が小さくなる。この場合、注目画素１０００に対応する２値画像は、Ｎｏ．２の代表色の画像バッファに移動される。これにより、図８（Ｃ）の赤丸の枠部分の２値画像が、図９（Ｃ）の代表色（Ｒ，Ｇ，Ｂ）＝（９８，２４，２４）のバッファから図９（Ｂ）に示すＮｏ．２の代表色の画像バッファに移動される。
【００７１】
また、注目画素１００１に対する各代表色との色差は、Ｎｏ．１の代表色が最も色差が小さくなる。この場合、注目画素１００１に対応する２値画像は、図９（Ｃ）の代表色（Ｒ，Ｇ，Ｂ）＝（９８，２４，２４）のバッファから図９（Ａ）のＮｏ．１の代表色の画像バッファに移動される。これにより、図８（Ｃ）の黒文字Ａの部分の２値画像が図９（Ａ）に示すように、Ｎｏ．１の代表色の画像バッファに移動されることとなる。
【００７２】
これにより、１つの文字切り領域内に複数の色が存在する場合であっても、文字色が変化してしまうことを抑制し、適切に文字色を再現することが可能となる。
【００７３】
次にＳ６１０に進みＣＰＵ１０３は、文字切矩形領域内の２値画像における黒画素を全て参照したか否かを判定し、黒画素の参照が全て終了した場合はＳ６１２に進む。黒画素の参照がすべて終了していない場合はＳ６１１に進み、次の黒画素を注目画素としてＳ６０２に進む。Ｓ６１２でＣＰＵ１０３は、全文字切矩形領域に対して処理が終了したか否かを判定する。そして、全ての文字切矩形領域に対して処理が終了している場合は、この処理を終了し、そうでないときはＳ６１３に進み、次の文字切矩形領域を注目文字切矩形領域としてＳ６０２に進む。
【００７４】
以上説明したように実施形態１によれば、文字領域を２値化し代表色で文字色を再現する場合に、注目画素の色値と、代表色として抽出された色値とを比較し、より注目画素の色値に近い代表色を選択し直す。これにより、１つの文字切り領域内の黒画素部分に対応する多値画像に複数の色が存在する場合でも、文字色が本来の色から変化して再現されてしまうことを抑制し、適切に文字色を再現することが可能となる。
【００７５】
［実施形態２］
上述の実施形態１では、注目画素の色値と、代表色として抽出された色値とを比較し、より注目画素の色値に近い代表色を抽出する例で説明した。しかしながら、注目画素の色値と、代表色として抽出された色値とを比較する場合、文字と判定された文字切矩形領域に含まれる黒画素数と、代表色として抽出された色数とに応じた比較演算が必要となり処理速度が低下する場合がある。そこで実施形態２では、文字切矩形内に複数色が存在するか否かを判定し、文字で、かつ複数色が存在すると判定した文字切矩形領域のみに対して文字色修正部２０９の処理を実施する例で説明する。尚、実施形態２に係る画像処理装置のハードウェア構成等は前述の実施形態１と同様であるため、その説明を省略する。
【００７６】
図１２は、実施形態２に係る領域判定部２０５による１つの文字切り領域に対する処理を説明するフローチャートである。図４のフローチャートで示す処理は、ＣＰＵ１０３が前述のＲＡＭ１０４に展開したプログラムを実行することにより達成される。
【００７７】
まずＳ１２０１でＣＰＵ１０３は、文字切り領域における２値画像から黒画素密度を算出する。この黒画素密度は、文字切り領域内の黒画素数を文字切り領域の画素数で除算することで求められる。次にＳ１２０２に進みＣＰＵ１０３は、Ｓ１２０１で取得した黒画素密度が閾値ＴｈＭより小さいか否か判定する。ここで閾値ＴｈＭより小さいと判定したときはＳ１２０３に進むが、そうでないときはＳ１２０８に進む。
【００７８】
Ｓ１２０３でＣＰＵ１０３は、その文字切り領域における２値画像の黒画素位置に対応する多値画像から色分散を算出する。具体的にはＲＧＢをＬａｂに変換し、黒画素の位置部分のａ及びｂの分散値を算出する。そしてＳ１２０４に進みＣＰＵ１０３は、Ｓ１２０３で求めた色分散が、閾値ＴｈＳ１より小さいか否かを判定する。ここで色分散が閾値ＴｈＳ１より小さいと判定したときはＳ１２０５に進むが、そうでないときはＳ１２０６に進む。ここでは明らかに単色である文字切り領域を判定するため、閾値ＴｈＳ１として「５０」を設定するが、これに限ったものではない。Ｓ１２０５でＣＰＵ１０３は、文字切り領域の色情報を単色と判定した結果を出力して、この処理を終了する。即ち、ここでは、文字切り領域の黒画素の密度が第１の所定値（閾値ＴｈＭ）よりも小さくて、かつその黒画素の色分散が第２の所定値（閾値ＴｈＳ１）よりも小さいときは、その文字切り領域の文字色情報を単色と判定するものである。
【００７９】
一方、色分散が閾値ＴｈＳ１より大きいときはＳ１２０６でＣＰＵ１０３は、Ｓ１２０３で得られた色分散が、閾値ＴｈＳ１以上で、かつ閾値ＴｈＳ２（ＴｈＳ１＜ＴｈＳ２））未満かどうか判定する。そうであればＳ１２０７に進み、そうでないときはＳ１２０８に進む。ここで閾値ＴｈＳ２は、明らかな色数が多く、文字ではない文字切り領域を判定するための閾値で、ここでは例えば「３００」とするが、これに限ったものではない。Ｓ１２０７でＣＰＵ１０３は、文字切り領域の色情報を複数色と判定した結果を出力して、この処理を終了する。即ち、ここでは、文字切り領域の黒画素の密度が第１の所定値よりも小さくて、かつその黒画素の色分散が第２の所定値よりも大きいが、その文字切り領域が文字であると判定できるときは、その文字切り領域の文字色情報を複数と判定するものである。
【００８０】
また文字切り領域における黒画素密度が閾値ＴｈＭより大きいときはＳ１２０８でＣＰＵ１０３は、文字切り領域を非文字領域と判定し、領域判定部２０３で生成された文字領域情報と文字切出し部２０４で生成された文字切り情報を修正する。即ち、文字領域情報と文字切り情報から、この文字切り領域を除去して、この処理を終了する。
【００８１】
図１３は、実施形態２に係る図５のＳ５０９の文字色修正部２０９による文字色の修正処理を説明するフローチャートである。尚、図１３において、Ｓ１３０１〜Ｓ１３１３の処理は、前述の図６のＳ６０１〜Ｓ６１３の処理と同様であるため、その説明を省略する。
【００８２】
Ｓ１３１４でＣＰＵ１０３は、図１２のＳ１２０５或いはＳ１２０７で生成された文字切り領域の色情報を参照し、その文字切り領域の文字色が複数か否かを判定する。ここで文字切り領域の文字色が複数と判定された場合はＳ１３０２に進んで、前述の図６と同様の処理を実行する。一方、文字切り領域の文字色が単数と判定した場合は、図６の処理をスキップしてＳ１３１２に進む。
【００８３】
以上説明したように実施形態２によれば、文字切り領域の文字色が複数かどうか判定し、複数の場合にのみ、上述の実施形態１と同様の処理を実行する。これにより、全ての文字切り領域に対して文字色の修正処理を実施することを抑制する。これにより、処理速度の低下を抑制すると共に、文字色が本来の色から変化して再現されてしまうことを抑制し、適切に文字色を再現することが可能となる。
【００８４】
尚、実施形態２では、文字切り領域の文字色が複数かどうか判定する際、色分散を用いたが、本発明は、これに限定されるものではない。例えば、多値画像のＲＧＢやＬａｂから２次元又は３次元のヒストグラムを生成し、色の集合を生成し、集合の数によって複数色か否かを判定しても良い。
【００８５】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００８６】
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【符号の説明】
【００８７】
１００…コントローラユニット、１０３…ＣＰＵ、１０４…ＲＡＭ、１０５…ＲＯＭ、１０６…ＨＤＤ，１１５…スキャナ、１１６…プリンタ、１１７…操作部、１１４…圧縮伸張処理部
【図１】
2020043461.tif 000003
【図２】
2020043461.tif 000004
【図３】
2020043461.tif 000005
【図４】
2020043461.tif 000006
【図５】
2020043461.tif 000007
【図６】
2020043461.tif 000008
【図７】
2020043461.tif 000009
【図８】
2020043461.tif 000010
【図９】
2020043461.tif 000011
【図１０】
2020043461.tif 000012
【図１１】
2020043461.tif 000013
【図１２】
2020043461.tif 000014
【図１３】
2020043461.tif 000015
【図１４】
2020043461.tif 000016