(57)【要約】【課題】第１色と第２色との境界が適切に鮮明にする。【解決手段】画像処理装置は、対象画像データを用いて、対象画像内の特定の文字に対応する第１色と特定の文字の背景に対応する第２色とを特定し、象画像内の複数個の対象画素の中から、第１色を有するべき複数個の第１画素を特定し、第１画素のそれぞれを注目画素として、注目画素の周辺画素について、第１色とは異なる色を有するべき画素であることを含む特定条件を満たすか否かを判断し、周辺画素の中から特定条件を満たす複数個の画素を、第２色を有するべき複数個の第２画素として特定し、対象画像データに対して第１画素と第２画素との特定結果を用いて特定の画像処理を実行して、処理済画像を示す処理済画像データを生成する。【選択図】  図５
2020052892.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
イメージセンサを用いて生成され、複数個の画素を含む対象画像を示す対象画像データを取得する取得部と、
前記対象画像データを用いて、前記対象画像内の特定の文字に対応する第１色と、前記特定の文字の背景に対応する第２色と、を特定する色特定部と、
前記対象画像内の複数個の対象画素の中から、前記対象画素の値を用いて、前記第１色を有するべき複数個の第１画素を特定する第１特定部と、
前記複数個の第１画素のそれぞれを第１注目画素として、前記第１注目画素の近傍に位置する複数個の第１周辺画素のそれぞれについて、前記第１画素が有するべき前記第１色とは異なる色を有するべき画素であることを示す特定条件を満たすか否かを判断する判断部と、
前記第１注目画素の前記複数個の第１周辺画素の中から、前記特定条件を満たす画素を、前記第２色を有するべき第２画素として特定する第２特定部と、
前記対象画像データに対して、前記第１特定部により特定された前記第１画素の値を前記第１色に対応する値に置換し、前記第２特定部により特定された前記第２画素の値を前記第２色に対応する値に置換する置換処理を含む特定の画像処理を実行して、処理済画像を示す処理済画像データを生成する生成部と、
を備える画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記色特定部は、
前記対象画像内の特定領域を複数個のブロックに分割し、
前記複数個のブロックのそれぞれの複数個の画素の値を用いて、前記複数個のブロックに対応する複数個のブロック色であって対応する前記ブロックの色をそれぞれ示す前記複数個のブロック色を決定し、
前記複数個のブロック色のうち、基準以上の個数の前記ブロックに対応する２以上の前記ブロック色に基づいて前記第１色と前記第２色との少なくとも一方を特定する、画像処理装置。
【請求項３】
請求項１または２に記載の画像処理装置であって、
前記色特定部は、
前記対象画像内の特定領域にて、文字を構成する複数個の文字構成画素と、文字を構成しない複数個の非文字画素とを特定し、
前記複数個の文字構成画素の値を用いて、前記第１色を特定する、画像処理装置。
【請求項４】
請求項３に記載の画像処理装置であって、
前記色特定部は、前記複数個の非文字画素の値を用いて、前記第２色を特定する、画像処理装置。
【請求項５】
請求項２〜４のいずれかに記載の画像処理装置であって、
前記対象画像データを用いて、前記対象画像内に複数個の前記特定領域を特定し、
前記色特定部は、
前記複数個の特定領域のそれぞれについて、前記基準以上の個数の前記ブロックに対応する前記ブロック色の個数が２であるか否かを判断し、
前記基準以上の個数の前記ブロックに対応するブロック色の個数が２である前記特定領域について、前記特定領域の前記第１色と前記第２色を特定し、
前記基準以上の個数の前記ブロックに対応するブロック色の個数が２とは異なる前記特定領域について、前特定領域の前記第１色と前記第２色とを特定せず、
前記生成部は、
前記第１色と前記第２色とが特定された前記特定領域に対して前記置換処理を含む前記特定の画像処理を実行し、前記第１色と前記第２色とが特定されない前記特定領域に対して前記置換処理を含まない画像処理を実行する、画像処理装置。
【請求項６】
請求項５に記載の画像処理装置であって、
前記色特定部は、
前記基準以上の個数の前記ブロックに対応するブロック色の個数が２である前記特定領域について、オブジェクトを構成する複数個のオブジェクト画素と、オブジェクトを構成しない複数個の非オブジェクト画素とを特定し、
前記基準以上の個数の前記ブロックに対応するブロック色の個数が２である前記特定領域について、前記複数個のオブジェクト画素の値を用いて、前記オブジェクトの色が前記２個のブロック色のいずれかに対応するか否かを判断し、
前記オブジェクトの色が前記２個のブロック色のいずれかに対応する場合に、前記第１色と前記第２色とを特定し、
前記オブジェクトの色が前記２個のブロック色のいずれにも対応しない場合に、前記第１色と前記第２色とを特定しない、画像処理装置。
【請求項７】
請求項５または６に記載の画像処理装置であって、さらに、
前記対象画像データを用いて、前記対象画像内のエッジを構成する複数個のエッジ画素を特定するエッジ特定部を備え、
前記生成部は、
前記第１色と前記第２色とが特定された前記特定領域内の前記複数個のエッジ画素の値に対して、前記置換処理と、前記置換処理の後に前記対象画像内のエッジを鮮鋭化する鮮鋭化処理と、を含む前記特定の画像処理を実行し、
前記第１色と前記第２色とが特定されない前記特定領域内の前記複数個のエッジ画素の値に対して、前記置換処理を実行せず、前記鮮鋭化処理を含む画像処理を実行する、画像処理装置。
【請求項８】
請求項１〜７のいずれかに記載の画像処理装置であって、
前記判断部は、前記第１注目画素の複数個の第１周辺画素のうちの特定の画素について、前記特定の画素が前記第１色とは異なる色を有するべき画素であり、かつ、前記特定の画素が前記第１色よりも前記第２色に近い色を有する場合に、前記特定の画素は、前記特定条件を満たすと判断する、画像処理装置。
【請求項９】
請求項８に記載の画像処理装置であって、
前記特定の画素は、前記第１注目画素から特定方向にＭ個（Ｍは、２以上の整数）の画素分だけ離れた画素であり、
前記判断部は、前記複数個の第１周辺画素のうち、前記特定方向に沿って前記第１注目画素と前記特定の画素との間に位置する（Ｍ−１）個の中間画素について、前記中間画素が、前記第１色とは異なる色を有するべき画素である場合に、前記中間画素の値に関わらずに、前記中間画素は、前記特定条件を満たすと判断する、画像処理装置。
【請求項１０】
請求項１〜１０のいずれかに記載の画像処理装置であって、
前記処理済画像データを用いて、印刷データを生成する印刷データ生成部を備える、画像処理装置。
【請求項１１】
コンピュータプログラムであって、
イメージセンサを用いて生成され、複数個の画素を含む対象画像を示す対象画像データを取得する取得機能と、
前記対象画像データを用いて、前記対象画像内の特定の文字に対応する第１色と、前記特定の文字の背景に対応する第２色と、を特定する色特定機能と、
前記対象画像内の複数個の対象画素の中から、前記対象画素の値を用いて、前記第１色を有するべき複数個の第１画素を特定する第１特定機能と、
前記複数個の第１画素のそれぞれを第１注目画素として、前記第１注目画素の近傍に位置する複数個の第１周辺画素のそれぞれについて、前記第１画素が有するべき前記第１色とは異なる色を有するべき画素であることを示す特定条件を満たすか否かを判断する判断機能と、
前記第１注目画素の前記複数個の第１周辺画素の中から、前記特定条件を満たす画素を、前記第２色を有するべき第２画素として特定する第２特定機能と、
前記対象画像データに対して、前記第１特定機能により特定された前記第１画素の値を前記第１色に対応する値に置換し、前記第２特定機能により特定された前記第２画素の値を前記第２色に対応する値に置換する置換処理を含む特定の画像処理を実行して、処理済画像を示す処理済画像データを生成する生成機能と、
をコンピュータに実現させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、画像データによって示される画像内の文字と背景との境界を鮮明にするための画像処理に関する。
【背景技術】
【０００２】
特許文献１に開示された画像処理装置は、注目画素が黒エッジであるかの検出と、注目画素が白エッジであるかの検出と、を行う。黒エッジは、注目画素が黒画素であり、かつ、周辺画素との境界濃度が白から黒に変化するエッジを意味する。白エッジは、注目画素が白画素であり、かつ、周辺画素との境界濃度が黒から白に変化するエッジを意味する。画像処理装置は、注目画素が黒エッジである場合には、注目画素の多値レベルを、最大値（完全な黒を示すレベル）に変更し、注目画素が白エッジである場合には、注目画素の多値レベルを、最小値（完全な白を示すレベル）に変更する。これにより適正なエッジ強調処理を実行することができる、とされている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平４−２８１６７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術では、エッジを適切に強調できない可能性があった。例えば、対象画像データが、イメージセンサを用いて生成される画像データ（例えば、スキャンデータ）である場合には、エッジにおける画素の値の変化が緩やかであるので、注目画素が、白エッジであるかの検出や、黒エッジであるかの検出が困難である場合がある。このような場合には、エッジを適切に強調できない可能性があった。このような課題は、黒エッジと白エッジとのエッジの強調に限らず、第１色と第２色との境界を鮮明にする際に共通する課題であった。
【０００５】
本明細書は、対象画像内の第１色と第２色との境界が適切に鮮明にされた処理済画像を示す処理済画像データ生成する新たな技術を開示する。
【課題を解決するための手段】
【０００６】
本明細書に開示された技術は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
【０００７】
［適用例１］画像処理装置であって、イメージセンサを用いて生成され、複数個の画素を含む対象画像を示す対象画像データを取得する取得部と、前記対象画像データを用いて、前記対象画像内の特定の文字に対応する第１色と、前記特定の文字の背景に対応する第２色と、を特定する色特定部と、前記対象画像内の複数個の対象画素の中から、前記対象画素の値を用いて、前記第１色を有するべき複数個の第１画素を特定する第１特定部と、前記複数個の第１画素のそれぞれを第１注目画素として、前記第１注目画素の近傍に位置する複数個の第１周辺画素のそれぞれについて、前記第１画素が有するべき前記第１色とは異なる色を有するべき画素であることを示す特定条件を満たすか否かを判断する判断部と、
前記第１注目画素の前記複数個の第１周辺画素の中から、前記特定条件を満たす画素を、前記第２色を有するべき第２画素として特定する第２特定部と、前記対象画像データに対して、前記第１特定部により特定された前記第１画素の値を前記第１色に対応する値に置換し、前記第２特定部により特定された前記第２画素の値を前記第２色に対応する値に置換する置換処理を含む特定の画像処理を実行して、処理済画像を示す処理済画像データを生成する生成部と、を備える画像処理装置。
【０００８】
上記構成によれば、対象画像内において、複数個の第１画素が特定され、第１画素の複数個の第１周辺画素の中から、第１色とは異なる色を有するべき画素であることを示す特定条件を満たす複数個の第２画素が特定される。そして、複数個の第１画素に対応し、第１色を有する複数個の第１対応画素を含み、複数個の第２画素に対応し、第２色を有する複数個の第２対応画素を含む処理済画像が生成される。この結果、対象画像内の第１色と第２色との境界が適切に鮮明にされた処理済画像を示す処理済画像データを生成することができる。
【０００９】
なお、本明細書に開示される技術は、種々の形態で実現することが可能であり、例えば、複合機、スキャナ、プリンタ、画像処理方法、これら装置の機能または上記方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【図面の簡単な説明】
【００１０】
【図１】画像処理装置の一例である複合機２００の構成を示すブロック図である。
【図２】画像処理のフローチャートである。
【図３】画像処理で用いられる画像の一例を示す第１の図である。
【図４】膨張処理と収縮処理とを説明する図である。
【図５】文字・背景色特定処理のフローチャートである。
【図６】代表色特定処理のフローチャートである。
【図７】代表色特定処理の説明図である。
【図８】文字画素特定処理のフローチャートである。
【図９】文字画素特定処理の第１の説明図である。
【図１０】文字画素特定処理の第２の説明図である。
【図１１】文字画素特定処理の第３の説明図である。
【図１２】文字画素特定処理の第４の説明図である。
【図１３】背景画素特定処理のフローチャートである。
【図１４】背景画素特定処理の第１の説明図である。
【図１５】背景画素特定処理の第２の説明図である。
【図１６】処理済画像の説明図である。
【発明を実施するための形態】
【００１１】
Ａ．実施例：
Ａ−１：複合機２００の構成
次に、実施の形態を実施例に基づき説明する。図１は、画像処理装置の一例である複合機２００の構成を示すブロック図である。複合機２００は、画像処理装置を制御するプロセッサであるＣＰＵ２１０と、ＤＲＡＭなどの揮発性記憶装置２２０と、フラッシュメモリやハードディスクドライブなどの不揮発性記憶装置２３０と、液晶ディスプレイなどの表示部２４０と、液晶ディスプレイと重畳されたタッチパネルやボタンを含む操作部２５０と、ユーザの端末装置１００などの外部装置と通信を行うためのインタフェース（通信ＩＦ）２７０と、印刷実行部２８０と、一次元イメージセンサを備える読取実行部２９０と、を備えている。
【００１２】
読取実行部２９０は、ＣＰＵ２１０の制御に従って、一次元イメージセンサを用いて原稿を光学的に読み取ることによって対象画像データとしてのスキャンデータを生成する。印刷実行部２８０は、ＣＰＵ２１０の制御に従って、複数種類のトナー、具体的には、シアン（Ｃ）、マゼンタ（Ｍ）、イエロ（Ｙ）、黒（Ｋ）のトナーを、色材として用いて、レーザ方式で用紙などの印刷媒体に画像を印刷する。具体的には、印刷実行部２８０は、感光ドラムを露光して静電潜像を形成し、該静電潜像にトナーを付着させてトナー像を形成する。印刷実行部２８０は、感光ドラム上に形成されたトナー像を用紙に転写する。なお、変形例では、印刷実行部２８０は、色材としてのインクを吐出して、用紙上に画像を形成するインクジェット方式の印刷実行部であっても良い。
【００１３】
揮発性記憶装置２２０は、ＣＰＵ２１０が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域を提供する。不揮発性記憶装置２３０には、コンピュータプログラムＰＧが格納されている。コンピュータプログラムＰＧは、ＣＰＵ２１０に複合機２００の制御を実現させる制御プログラムである。本実施例では、コンピュータプログラムＰＧは、複合機２００の製造時に、不揮発性記憶装置２３０に予め格納される形態で提供される。これに代えて、コンピュータプログラムＰＧは、サーバからダウンロードされる形態で提供されても良く、ＤＶＤ−ＲＯＭなどに格納される形態で提供されてもよい。ＣＰＵ２１０は、コンピュータプログラムＰＧを実行することにより、後述する画像処理を実行することができる。
【００１４】
Ａ−２：画像処理
図２は、画像処理のフローチャートである。この画像処理は、例えば、ユーザが、読取実行部２９０の原稿台に、原稿を載置して、コピーの実行指示を入力した場合に実行される。この画像処理は、原稿を、読取実行部２９０を用いて読み取ることによって生成されるスキャンデータを取得し、該スキャンデータを用いて、原稿を示す印刷データを生成することで、いわゆる原稿のコピーを実現する処理である。
【００１５】
Ｓ１０では、ＣＰＵ２１０は、ユーザが原稿台に設置した原稿を、読取実行部２９０を用いて読み取ることによって、対象画像データとしてのスキャンデータを生成する。これによって、ＣＰＵ２１０は、取得部として、対象画像データを取得する。原稿は、例えば、複合機２００、あるいは、図示しないプリンタによって画像が印刷された印刷物である。生成されたスキャンデータは、揮発性記憶装置２２０（図１）のバッファ領域に格納される。スキャンデータは、複数個の画素の値を含み、複数個の画素の値のそれぞれは、画素の色をＲＧＢ表色系の色値（ＲＧＢ値とも呼ぶ）で表す。すなわち、スキャンデータは、ＲＧＢ画像データである。１個の画素のＲＧＢ値は、例えば、赤（Ｒ）と緑（Ｇ）と青（Ｂ）との３個の色成分の値（以下、Ｒ値、Ｇ値、Ｂ値とも呼ぶ）を含んでいる。本実施例では、各成分値の階調数は、２５６階調である。なお、各成分値の階調数は、２５６階調に限らず、３以上の階調数、例えば、６４階調、１２８階調であっても良い。
【００１６】
図３は、画像処理で用いられる画像の一例を示す第１の図である。図３（Ａ）には、スキャンデータによって示されるスキャン画像ＳＩの一例が示されている。スキャン画像ＳＩは、複数個の画素を含む。該複数個の画素は、第１方向Ｄ１と、第１方向Ｄ１と直交する第２方向Ｄ２と、に沿って、マトリクス状に配置されている。
【００１７】
図３（Ａ）のスキャン画像ＳＩは、原稿の用紙の地色を示す白色の背景Ｂｇ１と、３個の文字とは異なるオブジェクトＯｂ１〜Ｏｂ３と、４個の文字Ｏｂ４〜Ｏｂ７と、２個の文字Ｏｂ４、Ｏｂ５の背景Ｂｇ２と、を含んでいる。文字とは異なるオブジェクトは、例えば、写真や描画である。文字Ｏｂ５、Ｏｂ６は、黒色の文字である。文字Ｏｂ４、Ｏｂ７は、黒色とは異なる色、例えば、青色や赤色の文字である。背景Ｂｇ２は、白色とは異なる色を有する均一な画像である。
【００１８】
Ｓ１５では、ＣＰＵ２１０は、スキャンデータに対して、エッジ画素特定処理を実行する。エッジ画素特定処理は、スキャン画像ＳＩ内の複数個の画素の中から、スキャン画像ＳＩ内のエッジを構成する複数個のエッジ画素を特定する処理である。エッジ画素特定処理によって、例えば、エッジを構成するエッジ画素の値が「１」とされ、エッジを構成しない非エッジ画素の値が「０」とされた二値画像データが生成される。
【００１９】
具体的には、ＣＰＵ２１０は、スキャンデータを用いて、スキャン画像ＳＩ内の複数個の画素の輝度を示す輝度画像データを生成する。輝度Ｙは、各画素のＲＧＢ値（Ｒ、Ｇ、Ｂ）を用いて、例えば、Ｙ＝０．２９９×Ｒ＋０．５８７×Ｇ＋０．１１４×Ｂの式によって算出される。ＣＰＵ２１０は、輝度画像データの各画素の値に、いわゆるソーベルフィルタ（Sobel filter）を適用して、エッジ強度Ｓｅを算出する。ＣＰＵ２１０は、これらのエッジ強度Ｓｅを複数個の画素の値とするエッジ抽出データを生成する。
【００２０】
以下に、エッジ強度の算出式（１）を示す。式（１）の階調値Ｐ（ｘ，ｙ）は、輝度画像内の特定の画素位置（ｘ，ｙ）の階調値を表している。位置ｘは、第１方向Ｄ１の画素位置を示し、位置ｙは、第２方向Ｄ２の画素位置を示している。輝度画像内の画素位置（ｘ，ｙ）におけるエッジ強度Ｓｅ（ｘ，ｙ）は、その画素位置（ｘ，ｙ）を中心とし隣り合う３行３列の９つの画素の値を用いて算出される。算出式の第１項および第２項は、９つの位置の画素の階調値に、対応する係数をそれぞれ乗じた値の和の絶対値である。第１項は、第１方向Ｄ１の階調値の微分（すなわち、横方向の微分）であり、第２項は、第２方向Ｄ２の階調値の微分（すなわち、縦方向の微分）である。算出されるエッジ強度Ｓｅ（ｘ，ｙ）は、０〜２５５の範囲の２５６階調の値に正規化される。
【００２１】
【数１】
2020052892.tif 000003
…（１）
【００２２】
ＣＰＵ２１０は、エッジ抽出データに対して、二値化処理を実行して、二値画像データを生成する。例えば、ＣＰＵ２１０は、エッジ画像データにおいて、画素の値（すなわち、エッジ強度）が閾値（例えば、１２８）以上である画素を、エッジ画素に分類し、画素の値が閾値未満である画素を、非エッジ画素に分類する。これによって、スキャン画像ＳＩ内の複数個のエッジ画素が特定される。
【００２３】
図３（Ｂ）には、二値画像データによって示される二値画像ＢＩの一例が示されている。この二値画像ＢＩには、スキャン画像ＳＩ内のオブジェクトＯｂ１〜Ｏｂ７のエッジＥｇ１〜Ｅｇ７を構成する複数個のエッジ画素と、背景Ｂｇ１と背景Ｂｇ２との間のエッジＥｇ８を構成する複数個のエッジ画素と、が特定されている。このように、エッジは、例えば、主として文字のエッジを含む。また、エッジは、文字とは異なるオブジェクト（例えば、描画や写真）に含まれる細線などのエッジを含む。
【００２４】
Ｓ２０では、ＣＰＵ２１０は、生成された二値画像データに対して、膨張・収縮処理を実行して、膨張・収縮処理済みの二値画像データを生成する。膨張・収縮処理は、二値画像ＢＩ内において、特定済みの複数個のエッジ画素によって構成されるエッジを膨張させる膨張処理と、膨張処理済みの該エッジを収縮させる収縮処理と、を含む。なお、膨張処理と収縮処理は、所定回数ずつ（例えば、２回ずつ）実行される。
【００２５】
図４は、膨張処理と収縮処理とを説明する図である。図４（Ａ）には、二値画像ＢＩ（図３（Ｂ））の部分画像ＰＩ１が示されている。部分画像ＰＩ１は、膨張処理前のエッジＥｇＡ、ＥｇＢを含んでいる。２個のエッジＥｇＡ、ＥｇＢは、隙間ＮＴによって分離されている。また、エッジＥｇＡには、欠けＣＲが生じており、エッジＥｇＢには、孤立した非エッジ画素ＩＰが含まれている。また、ある程度太い文字の場合には、文字の内部に非エッジ画素の領域ができる（図３（Ｂ））。本来、１個の連続した線や文字に対応するエッジが、このような隙間ＮＴ、欠けＣＲ、非エッジ画素ＩＰを含んでいる場合には、詳細は後述するが、Ｓ２５の文字画素特定処理のために、これらを除去することが好ましい。膨張処理と収縮処理は、これらの隙間ＮＴ、欠けＣＲ、非エッジ画素を除去するために、実行される。
【００２６】
膨張処理は、例えば、所定サイズのフィルタ、図４（Ａ）の例では、縦３画素×横３画素のサイズのフィルタＦＩ１を用いて、二値画像ＢＩを示す二値画像データに対して実行される。具体的には、ＣＰＵ２１０は、フィルタＦＩ１を、二値画像データに対して適用して、膨張処理済みの二値画像データを生成する。すなわち、ＣＰＵ２１０は、注目画素に、フィルタＦＩ１の中心位置ＣＣ１（図４（Ａ）参照）が重なるように、フィルタＦＩ１を、部分画像ＰＩ１を含む二値画像ＢＩ上に配置する。ＣＰＵ２１０は、フィルタＦＩ１の範囲内に、エッジ画素が１個でも存在する場合には、注目画素に対応する膨張処理済みの二値画像（図示省略）内の画素をエッジ画素に設定する。ＣＰＵ２１０は、フィルタＦＩ１の範囲内に、エッジ画素が１つもない場合、すなわち、フィルタＦＩ１の範囲内の９個の画素が、非エッジ画素である場合には、注目画素に対応する膨張処理済みの二値画像内の画素を非エッジ画素に設定する。ＣＰＵ２１０は、二値画像ＢＩの全ての画素を注目画素として、膨張処理済みの二値画像内の対応する画素を、エッジ画素および非エッジ画素のいずれかに設定することによって、膨張処理済みの二値画像を表す膨張処理済みの二値画像データを生成する。
【００２７】
図４（Ｂ）には、膨張処理済みの二値画像のうちの、図４（Ａ）の部分画像ＰＩ１に対応する膨張処理済みの部分画像ＰＩ２が示されている。膨張処理済みの部分画像ＰＩ２では、上述の隙間ＮＴ、欠けＣＲ、孤立した非エッジ画素ＩＰが除去されていることが解る。また、膨張処理済みの部分画像ＰＩ２では、図４（Ａ）の部分画像ＰＩ１のエッジＥｇＡ、ＥｇＢに対応する１個のエッジＥｇＣは、エッジＥｇＡ、ＥｇＢと比較して、太くなっている（膨張している）。
【００２８】
収縮処理は、例えば、所定サイズのフィルタ、図４（Ｂ）の例では、縦３画素×横３画素のサイズのフィルタＦＩ２を用いて、膨張処理済みの二値画像データに対して実行される。具体的には、ＣＰＵ２１０は、フィルタＦＩ２を、膨張処理済みの二値画像を表す二値画像データに対して適用して、収縮処理済みの二値画像データを生成する。すなわち、ＣＰＵ２１０は、注目画素に、フィルタＦＩ２の中心位置ＣＣ２（図４（Ｂ）参照）が重なるように、フィルタＦＩ２を膨張処理済みの二値画像ＢＩ上に配置する。ＣＰＵ２１０は、フィルタＦＩ２の範囲内に、非エッジ画素が１個でも存在する場合には、注目画素に対応する収縮処理済みの二値画像内の画素を非エッジ画素に設定する。そして、ＣＰＵ２１０は、フィルタＦＩ２の範囲内に、非エッジ画素が１つもない場合、すなわち、フィルタＦＩ２の範囲内の９個の画素が、全てエッジ画素である場合には、注目画素に対応する収縮済みの二値画像内の画素をエッジ画素に設定する。ＣＰＵ２１０は、膨張処理済みの二値画像の全ての画素を注目画素として、収縮処理済みの二値画像内の対応する画素を、非エッジ画素およびエッジ画素のいずれかに設定することによって、収縮処理済みの二値画像を示す収縮処理済みの二値画像データを生成する。
【００２９】
図４（Ｃ）には、収縮済みの二値画像のうちの、図４（Ａ）の部分画像ＰＩ１に対応する収縮処理済みの部分画像ＰＩ３が示されている。収縮処理済みの部分画像ＰＩ３には、上述の隙間ＮＴ、欠けＣＲ、孤立した非エッジ画素ＩＰは、現れていない。そして、図４（Ａ）の部分画像ＰＩ１のエッジＥｇＡ、ＥｇＢに対応する１個のエッジＥｇＤは、エッジＥｇＡ、ＥｇＢと同じ程度の太さまで、収縮している。このような膨張処理と収縮処理が複数回繰り返されると、比較的小さな文字、例えば、１２ポイント以下の文字を構成する画素は、概ね全てエッジ画素として特定される。例えば、図３（Ｂ）の二値画像ＢＩでは、スキャン画像ＳＩ内の文字Ｏｂ４〜Ｏｂ７の内部はエッジ画素として特定されていないが、膨張・縮小処理後には、これらの文字の全体がエッジ画素として特定されるものとする。
【００３０】
なお、上述したフィルタＦＩ１、ＦＩ２のサイズ、すなわち、膨張処理による膨張の程度、および、収縮処理による収縮の程度は、一例である。例えば、フィルタＦＩ１、ＦＩ２は、例えば、縦５画素×横５画素のフィルタであっても良いし、縦７画素×横７画素のフィルタであっても良い。なお、最終的に生成される膨張・収縮処理済みの二値画像データは、文字などのエッジにおけるぼけた部分を構成する複数個の画素が、漏れなく、エッジ画素として特定されるように、膨張・収縮処理前の二値画像データエッジよりも、エッジが膨張された状態であることが好ましい。
【００３１】
以上の膨張・収縮処理済みの二値画像データを、以下では、単に、二値画像データと呼び、膨張・収縮処理済みの二値画像データにおいて特定されているエッジ画素を、単に、エッジ画素と呼ぶ。
【００３２】
図２のＳ２５では、ＣＰＵ２１０は、二値画像データに対して、二値画像ＢＩ内のエッジ領域を特定する領域特定処理を実行する。具体的には、二値画像データに対してラベリング処理が実行される。例えば、ＣＰＵ２１０は、連続する一つながりの複数個のエッジ画素を含む画素群に、１個の識別子を割り当て、互いに離れた複数個のエッジ画素をそれぞれ含む複数個の画素群に、互いに異なる識別子を割り当てる。１個の識別子が割り当てられた画素群は、１個のエッジ領域として特定される。図３（Ｂ）の例では、二値画像ＢＩにおいて、図３（Ａ）のスキャン画像ＳＩ内の７個のオブジェクトＯｂ１〜Ｏｂ７と、二値画像ＢＩ内の８個の符号Ｅｇ１〜Ｅｇ８に対応する８個のエッジ領域が特定される。例えば、文字は、１文字ずつ離れているので、文字ごとに異なるエッジ領域が特定される。
【００３３】
Ｓ３０では、ＣＰＵ２１０は、Ｓ２５にて特定された複数個のエッジ領域から、１個のエッジ領域を注目領域として選択する。
【００３４】
Ｓ３５では、ＣＰＵ２１０は、注目領域に対して、文字・背景色特定処理を実行する。文字・背景色特定処理は、注目領域が文字に対応する場合に、当該文字の色（以下、文字色とも呼ぶ）と、当該文字の背景の色（以下、背景色とも呼ぶ）と、を特定する処理である。注目領域が文字に対応しない場合、例えば、注目領域が描画や写真に対応する場合には、文字色と背景色とは特定されない。文字・背景色特定処理の詳細は、後述する。なお、文字・背景色特定処理は、色特定部により実行される処理の一例である。
【００３５】
Ｓ４０では、ＣＰＵ２１０は、注目領域について、文字色と背景色とを特定できたか否かを判断する。文字色と背景色が特定できた場合には（Ｓ４０：ＹＥＳ）、ＣＰＵ２１０は、文字を鮮明にするためのＳ４５〜Ｓ５５の処理を実行する。文字色と背景色が特定できない場合には（Ｓ４０：ＮＯ）、ＣＰＵ２１０は、Ｓ４５〜Ｓ５５の処理をスキップする。
【００３６】
Ｓ４５では、ＣＰＵ２１０は、文字画素特定処理を実行する。文字画素特定処理は、注目領域に対応するスキャン画像ＳＩ内の複数個の画素から、後述する文字・背景画素置換処理（Ｓ５５）にて、文字色に置換されるべき文字画素を特定する処理である。文字画素特定処理の詳細は、後述する。
【００３７】
Ｓ５０では、ＣＰＵ２１０は、背景画素特定処理を実行する。背景画素特定処理は、注目領域に対応するスキャン画像ＳＩ内の複数個の画素から、後述する文字・背景画素置換処理（Ｓ５５）にて、背景色に置換されるべき背景画素を特定する処理である。例えば、文字画素の周囲のぼけた色を有する画素が背景画素として特定される。背景画素特定処理の詳細は、後述する。なお、背景画素特定処理は、第２特定部により実行される処理の一例である。
【００３８】
Ｓ５５では、ＣＰＵ２１０は、スキャンデータに対して文字・背景画素置換処理を実行する。具体的には、ＣＰＵ２１０は、スキャンデータにおいて、スキャン画像ＳＩ内の複数個の画素のうち、Ｓ４５にて特定済みの文字画素の値を、Ｓ３５にて特定済みの文字色を示す値に置換し、Ｓ５０にて特定済みの背景画素の値を、Ｓ３５にて特定済みの背景色を示す値に置換する。なお、文字・背景画素置換処理は、置換処理の一例である。
【００３９】
Ｓ６０では、ＣＰＵ２１０は、全てのエッジ領域を注目領域として処理したか否かを判断する。未処理のエッジ領域がある場合には（Ｓ６０：ＮＯ）、ＣＰＵ２１０は、Ｓ３０に処理を戻す。全てのエッジ領域が処理された場合には（Ｓ６０：ＹＥＳ）、ＣＰＵ２１０は、Ｓ６５に処理を進める。
【００４０】
Ｓ６５では、ＣＰＵ２１０は、文字・背景画素置換処理後のスキャンデータに対して、網点平滑化処理を実行して、平滑化画像を示す平滑化画像データを生成する。具体的には、ＣＰＵ２１０は、スキャンデータに含まれる複数個の非エッジ画素の値のそれぞれに対して、ガウスフィルタなどの平滑化フィルタを用いた平滑化処理を実行して、平滑化処理済みの複数個の非エッジ画素の値を算出する。平滑化処理の対象となる非エッジ画素は、Ｓ１５のエッジ画素特定処理によって生成された二値画像データを参照して特定される。ＣＰＵ２１０は、スキャンデータに含まれる複数個のエッジ画素の値と、平滑化処理済みの複数個の非エッジ画素の値と、を含む平滑化画像データを生成する。
【００４１】
図３（Ｃ）には、平滑化画像データによって示される平滑化画像ＧＩが示されている。平滑化画像ＧＩは、白色の背景Ｂｇ１ｇと、スキャン画像ＳＩ内のオブジェクトＯｂ１〜Ｏｂ７、背景Ｂｇ２が平滑化されたオブジェクトＯｂ１ｇ〜Ｏｂ７ｇ、背景Ｂｇ２ｇを含んでいる。これらのオブジェクトＯｂ１ｇ〜Ｏｂ７ｇ、背景Ｂｇ２ｇのエッジ以外の部分（非エッジ部分とも呼ぶ）は、スキャン画像ＳＩ内のオブジェクトＯｂ１〜Ｏｂ７、背景Ｂｇ２と比較して、平滑化されている。
【００４２】
Ｓ７０では、ＣＰＵ２１０は、平滑化画像データに対して、エッジ鮮鋭化処理を実行して、処理済画像データを生成する。具体的には、ＣＰＵ２１０は、平滑化画像データに含まれる複数個のエッジ画素の値のそれぞれに対して、アンシャープマスク処理や、鮮鋭化フィルタを適用する処理などの鮮鋭化処理を実行して、鮮鋭化処理済みの複数個のエッジ画素の値を算出する。鮮鋭化処理の対象となるエッジ画素は、Ｓ１５のエッジ画素特定処理によって生成された二値画像データを参照して特定される。ＣＰＵ２１０は、平滑化画像データに含まれる複数個の非エッジ画素の値（平滑化処理済みの複数個の非エッジ画素の値）と、鮮鋭化処理済みの複数個のエッジ画素の値と、を含む処理済画像データを生成する。
【００４３】
図３（Ｄ）には、処理済画像データによって示される処理済画像ＦＩが示されている。処理済画像ＦＩは、白色の背景Ｂｇ１ｆと、スキャン画像ＳＩ内のオブジェクトＯｂ１〜Ｏｂ７、背景Ｂｇ２に対応するオブジェクトＯｂ１ｆ〜Ｏｂ７ｆ、背景Ｂｇ２ｆを含んでいる。これらのオブジェクトＯｂ１ｆ〜Ｏｂ７ｆ、背景Ｂｇ２ｆのエッジは、スキャン画像ＳＩ内のオブジェクトＯｂ１〜Ｏｂ７、背景Ｂｇ２のエッジや、平滑化画像ＧＩ内のオブジェクトＯｂ１ｇ〜Ｏｂ７ｇ、背景Ｂｇ２ｇのエッジと比較して、鮮鋭化されている、すなわち、シャープになっている。なお、Ｓ５５からＳ７０の処理済画像データを生成する処理は、生成部により実行される処理の一例である。
【００４４】
Ｓ７５では、ＣＰＵ２１０は、処理済画像データを用いて印刷データを生成する印刷データ生成処理を実行する。具体的には、ＲＧＢ画像データである処理済画像データに対して色変換処理が実行されて、印刷に用いられる色材に対応する色成分（Ｃ、Ｍ、Ｙ、Ｋの成分）を有する色値であるＣＭＹＫ値で画素ごとの色を示すＣＭＹＫ画像データが生成される。色変換処理は、例えば、公知のルックアップテーブルを参照して実行される。ＣＭＹＫ値画像データに対して、ハーフトーン処理が実行されて、印刷に用いられる色材ごと、かつ、画素ごとに、ドットの形成状態を示すドットデータが生成される。ドットの形成状態は、例えば、ドット有、ドット無の２種類の状態や、大ドット、中ドット、小ドット、ドット無の４種類の状態を取り得る。ハーフトーン処理は、例えば、ディザ法や、誤差拡散法に従って実行される。該ドットデータは、印刷時に用いられる順に並べ替えられ、該ドットデータに、印刷コマンドが付加されることによって、印刷データが生成される。
【００４５】
Ｓ８０では、ＣＰＵ２１０は、印刷処理を実行して、画像処理を終了する。具体的には、ＣＰＵ２１０は、印刷データを印刷実行部２８０に供給して、印刷実行部２８０に処理済画像を印刷させる。
【００４６】
以上説明した画像処理によれば、Ｓ５５では、ＣＰＵ２１０は、スキャンデータに対して、文字・背景画素置換処理が実行されるので、文字色と背景色との境界を鮮明にすることができる。例えば、文字・背景画素置換処理によって、図３（Ａ）のスキャン画像ＳＩ内の文字Ｏｂ４〜Ｏｂ７のうちの背景とのエッジ部分の画素の色が、その文字の色に変更される。また、スキャン画像ＳＩの背景Ｂｇ１、Ｂｇ２うち、文字Ｏｂ４〜Ｏｂ７のエッジ部分に位置する画素の色が、その背景の色に変更される。この結果、最終的に印刷される処理済み画像ＦＩにおいて、これらの文字色と背景色との境界が鮮明になる。この結果、処理済み画像ＦＩにおいて文字の見栄えを向上できる。
【００４７】
例えば、スキャン画像ＳＩ内の文字Ｏｂ４〜Ｏｂ７を構成する画素は、原稿上では、均一な色を有するので、該所定の色を有するべき画素である。また、これらの文字の背景Ｂｇ１、Ｂｇ２の色は、原稿上では、均一な色を有する。しかしながら、スキャンデータのようにイメージセンサを用いて生成される画像データによって示される画像では、特に、エッジの部分に、いわゆる「ぼけ」が発生する。このために、スキャン画像ＳＩ上では、例えば、文字Ｏｂ４〜Ｏｂ７を構成する複数個の画素のうち、特に、エッジに位置する画素は、原稿上の色ではなく、例えば、原稿上の文字の色より明るく、原稿上の背景の色よりも暗い別の色を有し得る。本実施例では、処理済み画像ＦＩにおいて、そのような文字のエッジのぼけが低減され、これらの文字色と背景色との境界が鮮明になる。
【００４８】
また、処理済画像データでは、背景Ｂｇ２ｆなどの均一な部分や、オブジェクトのエッジとは異なる部分を構成する非エッジ画素の値には、平滑化処理済みの値が用いられている。この結果、処理済画像のエッジとは異なる部分に、例えば、モアレの原因となる網点が表れることを抑制できるので、印刷される処理済画像にモアレなどの不具合が発生することを抑制できる。この結果、印刷される処理済画像の見栄えを向上することができる。
【００４９】
例えば、スキャンデータの生成に用いられた原稿は、画像が印刷された印刷物である。このため、例えば、原稿内の白とは異なる色を有する背景Ｂｇ２などの均一な部分は、画像を形成するドットレベルでみると、網点を形成している。網点は、複数個のドットと、ドットが配置されていない部分（原稿の地色を示す部分）と、を含む。このために、スキャン画像ＳＩ内の背景Ｂｇ２を示す領域には、画素レベルでみると、網点が示されている。網点内のドットは、原稿の印刷時に用いられるディザマトリクスなどの影響によって、周期性を持って並んでいる。このためにスキャンデータを用いて印刷を行うと、ハーフトーン処理前の元画像（スキャン画像ＳＩ）内に存在している網点のドットの周期成分と、印刷画像を構成する網点のドットの周期成分と、が干渉して、モアレが表れやすい。本実施例の処理済画像では、平滑化処理によって、元画像（スキャン画像ＳＩ）内のエッジとは異なる部分のドットの周期成分が低減される。この結果、処理済画像データを用いて、処理済画像を印刷する場合に、例えば、印刷される処理済画像にモアレが発生することを抑制できる。
【００５０】
さらに、スキャンデータの複数個のエッジ画素の値に対して、エッジ鮮鋭化処理が実行され（Ｓ７０）、複数個のエッジ画素とは異なる複数個の画素に対して、網点平滑化処理（Ｓ６５）が実行される。この結果、エッジを構成しない部分が平滑化され、かつ、文字色と背景色との境界が適切に鮮明にされ、かつ、他のエッジ（例えば、オブジェクトＯｂ１ｆ〜Ｏｂ３ｆのエッジ）が強調された処理済み画像ＦＩを示す処理済画像データを生成することができる。エッジ鮮鋭化処理は、文字・背景画素置換処理によって、文字色と背景色との境界を鮮明にした後に実行されるため、より処理済み画像ＦＩにおいて文字の見栄えを向上できる。また、文字・背景色特定処理により、注目領域において文字色と背景色とが特定されない場合であっても、エッジ鮮鋭化処理は実行されるため、複数の背景色上の文字（例えば写真の中の文字）に対してもエッジが強調された処理済み画像データを生成することができる。
【００５１】
Ａ−３．文字・背景色特定処理
図２のＳ３５の文字・背景色特定処理について説明する。図５は、文字・背景色特定処理のフローチャートである。Ｓ１２０では、ＣＰＵ２１０は、代表色特定処理を実行する。代表色特定処理は、シアン（Ｃ）、マゼンタ（Ｍ）、イエロ（Ｙ）、赤（Ｒ）、緑（Ｇ）、青（Ｂ）、黒（Ｋ）、白（Ｗ）の８個の基本色の中から、注目領域の２つの代表色を特定する処理である。注目領域が文字に対応する場合には、文字色と背景色に対応する２つの代表色を決定できる。
【００５２】
図６は、代表色特定処理のフローチャートである。図７は、代表色特定処理の説明図である。Ｓ２００では、ＣＰＵ２１０は、注目領域に外接する矩形領域ＳＡ（特定領域の一例）を設定する。図７（Ａ）には、スキャン画像ＳＩの文字Ｏｂ７（図３（Ａ））に対応するエッジ画素Ｅｇ７（図３（Ｂ））によって構成されるエッジ領域ＥＡが注目領域である場合の例が示されている。図７（Ａ）にてクロスハッチングされている領域がエッジ領域ＥＡを示している。図７（Ａ）に示すように、図２のＳ２０の膨張・収縮処理によって、スキャン画像ＳＩの文字Ｏｂ７の内部を含めた全体に対応する領域がエッジ領域ＥＡ（エッジ画素Ｅｇ７）として特定されている。図７（Ａ）には、エッジ領域ＥＡに外接する矩形領域ＳＡが図示されている。
【００５３】
Ｓ２１０では、ＣＰＵ２１０は、二値画像ＢＩにおいて、注目領域に外接する矩形領域ＳＡを複数個のブロックＢＬに分割する。例えば、図７（Ａ）の例では、矩形領域ＳＡは、横８×縦１０のマトリクス状に配置された８０個のＢＬに分割されている。１個のブロックＢＬは、例えば、縦ｍ×横ｎ個の（ｍ×ｎ）個の画素を含んでいる（ｍ、ｎは２以上の整数）。
【００５４】
Ｓ２２０では、ＣＰＵ２１０は、二値画像ＢＩにおいて設定された複数個のブロックＢＬから、１個の注目ブロックを選択する。
【００５５】
Ｓ２３０では、ＣＰＵ２１０は、注目ブロック内の複数個の画素を８個の基本色のいずれかに分類する。図７（Ｂ）には、ＲＧＢ色空間ＣＰが示されている。立法体のＲＧＢ色空間ＣＣの８個の頂点は、８個の基本色に対応している。すなわち、８個の頂点は、Ｋ点Ｖｋ（０，０，０）、Ｒ点Ｖｒ（２５５，０，０）、Ｇ点Ｖｇ（０，２５５，０）、Ｂ点Ｖｂ（０，０，２５５）、Ｃ点Ｖｃ（０，２５５，２５５）、Ｍ点Ｖｍ（２５５，０，２５５）、Ｙ点Ｖｙ（２５５，２５５，０）、Ｗ点Ｖｗ（２５５，２５５，２５５））である。括弧内の数字は、（Ｒ、Ｇ、Ｂ）の各色成分の値である。ＲＧＢ色空間ＣＰは、３枚の平面Ｆ１〜Ｆ３によって、８個の基本色Ｃ、Ｍ、Ｙ、Ｒ、Ｇ、Ｂ、Ｋ、Ｗに対応する８個の立方体の空間ＣＳｃ、ＣＳｍ、ＣＳｙ、ＣＳｒ、ＣＳｇ、ＣＳｂ、ＣＳｋ、ＣＳｗに分割できる。平面Ｆ１は、Ｒ軸ＡＸｒと垂直で、Ｒ軸ＡＸｒの中点Ｍｒ（１２８、０、０）を通る平面である。平面Ｆ２は、Ｇ軸ＡＸｇと垂直で、Ｇ軸ＡＸｇの中点Ｍｇ（０、１２８、０）を通る平面である。平面Ｆ３は、Ｂ軸ＡＸｂと垂直で、Ｂ軸ＡＸｂの中点Ｍｂ（０、０、１２８）を通る平面である。例えば、図７（Ｂ）でハッチングされた空間ＣＳｃは、シアン（Ｃ）に対応する空間である。例えば、注目ブロック内の複数個の画素のうち、スキャン画像ＳＩ内の対応するＲＧＢ値がＣに対応する空間ＣＳｃ内に位置する画素は、Ｃに分類される。
【００５６】
Ｓ２４０では、ＣＰＵ２１０は、注目ブロックの最頻色を、注目ブロックのブロック色に決定する。注目ブロックの最頻色は、８個の基本色のうち、Ｓ２３０にて最も多数の画素が分類された色である。Ｓ２５０では、ＣＰＵ２１０は、８個の基本色のうち、決定された注目ブロックに対応する基本色の頻度を１だけ加算する。
【００５７】
Ｓ２６０では、ＣＰＵ２１０は、注目領域に外接する矩形領域ＳＡ内の全てのブロックＢＬを注目ブロックとして処理したか否かを判断する。未処理のブロックＢＬがある場合には（Ｓ２６０：ＮＯ）、ＣＰＵ２１０は、Ｓ２２０に処理を戻す。全てのブロックＢＬが処理された場合には（Ｓ２６０：ＹＥＳ）、ＣＰＵ２１０は、Ｓ２７０に処理を進める。
【００５８】
Ｓ２７０では、ＣＰＵ２１０は、閾値ＴＨ以上の頻度を有する１以上の基本色を注目領域の代表色として決定する。図７（Ｃ）には、８個の基本色のそれぞれの頻度を示すヒストグラムである。図７（Ｃ）の例では、８個の基本色Ｃ、Ｍ、Ｙ、Ｒ、Ｇ、Ｂ、Ｋ、Ｗのうち、Ｃ（シアン）とＢ（青）との頻度が閾値ＴＨ１以上である。このために、図７（Ｃ）の例では、ＣとＢとが注目領域の代表色として決定される。決定される代表色の数は、２色に限らず、１色あるいは３色以上である場合がある。閾値ＴＨ１は、例えば、注目領域に外接する矩形領域ＳＡに設定されたブロックＢＬの総数の２０％程度に設定される。
【００５９】
代表色特定処理が終了すると、図５のＳ１３０では、ＣＰＵ２１０は、決定された注目領域の代表色の数は、２色であるか否かを判断する。一般的に、原稿上の１個の文字は１色で表現され、文字の背景も１色である可能性が高いために、注目領域が文字に対応する場合には、代表色の数は、文字色と背景色とに対応する２色である。注目領域が文字とは異なるオブジェクト（例えば、写真）に対応する場合には、当該オブジェクトは文字より多数の色を含み得るので、代表色の数は、２色とは異なる数になり得る。
【００６０】
注目領域の代表色の数が２色でない場合には（Ｓ１３０：ＮＯ）、注目領域が文字とは異なるオブジェクトに対応する可能性が高いため、注目領域は、図２のＳ４５〜Ｓ５５の対象とする必要がない。このために、この場合には、ＣＰＵ２１０は、文字色や背景色を決定することなく、文字・背景色特定処理を終了する。
【００６１】
注目領域の代表色の数が２色である場合には（Ｓ１３０：ＹＥＳ）、Ｓ１４０にて、ＣＰＵ２１０は、注目領域を構成する複数個のエッジ画素（オブジェクト画素の一例）を、８個の基本色のいずれかに分類する。分類の方法には、図６のＳ２３０にて説明した方法が用いられる。
【００６２】
Ｓ１５０では、エッジ画素の最頻色は、Ｓ１２０にて決定された２個の代表色の一方と一致するか否かを判断する。エッジ画素の最頻色は、８個の基本色のうち、Ｓ１４０にて最も多数のエッジ画素が分類された色である。注目領域が文字に対応する場合には、エッジ画素の大部分はスキャン画像ＳＩ内の文字を構成する画素に対応するので、エッジ画素の最頻色は文字色に対応する。上述のように、注目領域が文字に対応する場合には、２個の代表色は、文字色と背景色とに対応する２色である。したがって、注目領域が文字に対応する場合には、エッジ画素の最頻色は２個の代表色の一方と一致する。注目領域が文字とは異なるオブジェクトに対応する場合には、エッジ画素の最頻色は、２個の代表色のいずれとも一致しない場合がある。
【００６３】
エッジ画素の最頻色が２個の代表色のいずれとも一致しない場合には（Ｓ１５０：ＮＯ）、注目領域が文字とは異なるオブジェクトに対応する可能性が高いため、注目領域は、図２のＳ４５〜Ｓ５５の対象とする必要がない。このために、この場合には、ＣＰＵ２１０は、文字色や背景色を決定することなく、文字・背景色特定処理を終了する。
【００６４】
エッジ画素の最頻色が２個の代表色の一方と一致する場合には（Ｓ１５０：ＹＥＳ）、Ｓ１６０にて、ＣＰＵ２１０は、複数個のエッジ画素の平均色を文字色として特定する。具体的には、ＣＰＵ２１０は、複数個のエッジ画素のＲ値の平均値Ｒａｖ１と、Ｇ値の平均値Ｇａｖ１と、Ｂ値の平均値Ｂａｖ１と、から成るＲＧＢ値（Ｒａｖ１、Ｂａｖ１、Ｂａｖ１）を、文字色を示すＲＧＢ値として算出する。このように、矩形領域ＳＡにて特定される文字を構成する複数個のエッジ画素の値を用いて、文字色が特定される。この結果、精度良く文字色を特定することができる。変形例としては、ＣＰＵ２１０は、エッジ画素の最頻色を文字色として特定しても良い。この場合には、Ｃ、Ｍ、Ｙ、Ｒ、Ｇ、Ｂ、Ｋ、Ｗの８個の基本色のいずれかが文字色として特定される。
【００６５】
Ｓ１７０では、ＣＰＵ２１０は、注目領域に外接する矩形領域ＳＡ内の複数個の画素のうち、エッジ画素を除いた複数個の画素（非エッジ画素）の平均色を背景色として特定する。具体的には、ＣＰＵ２１０は、複数個の非エッジ画素のＲ値の平均値Ｒａｖ２と、Ｇ値の平均値Ｇａｖ２と、Ｂ値の平均値Ｂａｖ２と、から成るＲＧＢ値（Ｒａｖ２、Ｂａｖ２、Ｂａｖ２）を、背景色を示すＲＧＢ値として算出する。このように、矩形領域ＳＡにて特定される文字を構成しない複数個の非エッジ画素の値を用いて、背景色が特定される。この結果、精度良く背景色を特定することができる。変形例としては、ＣＰＵ２１０は、上述した２個の代表色のうち、エッジ画素の最頻色とは異なる色を背景色として特定しても良い。この場合には、８個の基本色のうちの文字色とは異なるいずれかの色が、背景色として特定される。文字色と背景色とが特定されると、ＣＰＵ２１０は、文字・背景色特定処理を終了する。
【００６６】
以上説明した文字・背景色特定処理によれば、スキャン画像ＳＩ内の特定の文字（例えば、文字Ｏｂ７）に対応する矩形領域ＳＡが複数個のブロックＢＬに分割される（図６のＳ２１０）。該複数個のブロックＢＬのそれぞれの複数個の画素の値を用いて、複数個のブロックＢＬに対応する複数個のブロック色が代表色として決定される（図６のＳ２３０、Ｓ２４０）。閾値ＴＨ以上の個数のブロックＢＬに対応するブロック色に基づいて文字色と背景色とが特定される（図６のＳ２７０、図５のＳ１４０〜Ｓ１７０）。この結果、複数個のブロック色を用いて、文字色と背景色とを適切に特定できる。
【００６７】
さらに、ＣＰＵ２１０は、複数個のエッジ領域に対応する矩形領域ＳＡのそれぞれについて、閾値ＴＨ以上の個数のブロックＢＬに対応するブロック色（代表色）の個数が２であるか否かを判断する（図５のＳ１３０）。ＣＰＵ２１０は、代表色の個数が２である矩形領域ＳＡについて文字色と背景色とを決定し（図５のＳ１６０、Ｓ１７０）、代表色の個数が２とは異なる矩形領域ＳＡについて文字色と背景色とを特定しない。この結果、オブジェクトが文字である場合には、文字色が特定され、オブジェクトが文字でない場合には、文字色が特定され難い。したがって、オブジェクトが文字である場合に、該文字において文字色と背景色とを鮮明にすることができ、オブジェクトが文字でない場合には、該オブジェクトに文字のための処理（例えば、図２のＳ４５〜Ｓ５５の処理）が誤って実行されることを抑制できる。
【００６８】
さらに、矩形領域ＳＡ内の複数個のエッジ画素の値を用いて、矩形領域ＳＡ内のオブジェクト（例えば、文字、写真）の色が、２個の代表色のいずれかに対応（実施例では一致）するか否かが判断される（図５のＳ１５０）。オブジェクトの色が２個の代表色のいずれかに対応する場合には、文字色が特定され、オブジェクトの色が２個の代表色のいずれにも対応しない場合には、文字色が特定されない（図５のＳ１５０、１６０）。同様に、オブジェクトの色が２個の代表色のいずれかに対応する場合には、背景色が特定され、オブジェクトの色が２個の代表色のいずれにも対応しない場合には、背景色が特定されない（図５のＳ１５０、１７０）。この結果、オブジェクトが文字である場合には、文字色が特定でき、オブジェクトが文字でない場合には、文字色がより特定され難い。したがって、オブジェクトが文字である場合に、該文字において文字色と背景色とを鮮明にすることができ、オブジェクトが文字でない場合には、該オブジェクトに文字のための処理（例えば、図２のＳ４５〜Ｓ５５の処理）が誤って実行されることをさらに抑制することができる。
【００６９】
Ａ−４：文字画素特定処理
図２のＳ４５の文字画素特定処理について説明する。図８は、文字画素特定処理のフローチャートである。Ｓ４００では、ＣＰＵ２１０は、フラグデータを初期化する。初期化されたフラグデータの複数個のフラグの値は、初期値、具体的には、文字画素でも背景画素でもないことを示す値（本実施例では、「０」）を有する。
【００７０】
Ｓ４０５では、ＣＰＵ２１０は、注目領域に対応するスキャン画像ＳＩ内の複数個のエッジ画素の中から、所定の処理順序で１個の注目画素を選択する。本実施例の処理順では、例えば、図７（Ａ）の第１方向Ｄ１と平行な複数本のラスタラインのうち、第２方向Ｄ２の上流側（図７（Ａ）の上側）から下流側に向かって順次に処理対象となる。そして、１本のラスタライン上の複数個のエッジ画素の中では、第１方向Ｄ１の上流側（図７（Ａ）の左側）から下流側に向かって順次に処理対象となる。すなわち、第１方向Ｄ１の位置が同じ複数個のエッジ画素は、第２方向Ｄ２の上流側のエッジ画素が、下流側のエッジ画素よりも先に選択される。また、第２方向Ｄ２の位置が同じ複数個のエッジ画素は、第１方向Ｄ１の上流側のエッジ画素が、下流側のエッジ画素よりも先に選択される。第１方向Ｄ１（図３（Ａ）の左から右に向かう方向）、および、第２方向Ｄ２（図３（Ａ）の上から下に向かう方向）を、処理方向とも呼ぶ。
【００７１】
ＣＰＵ２１０は、図２のＳ１５の膨張・収縮処理後の二値画像データを参照して、注目領域内の複数個のエッジ画素から、上述した処理順で順次に注目画素を選択する。
【００７２】
Ｓ４１５では、ＣＰＵ２１０は、注目画素の値（ＲＧＢ値）は、第１文字色範囲内であるか否かを判断する。第１文字色範囲は、図２のＳ３５の文字・背景色特定処理によって特定された文字色を含む予め定められた範囲であり、文字色を示すＲＧＢ値を（Ｒｔ、Ｇｔ、Ｂｔ）とする場合に、ＲＧＢの各成分値（Ｒ、Ｇ、Ｂ）が、以下の式（２）を満たす範囲である。
｜Ｒ−Ｒｔ｜≦ＴＨ１、かつ、｜Ｇ−Ｇｔ｜≦ＴＨ１、かつ、｜Ｂ−Ｂｔ｜≦ＴＨ１
…（２）
閾値ＴＨ１は、各成分値が、０〜２５５の範囲の階調値である場合に、例えば、５０である。注目画素の値が、第１文字色範囲内である場合は、注目画素は、背景色よりも文字色に近い色を有すると考えられる。以下では、Ｓ４１５にて判断される条件、すなわち、「注目画素の値が、第１文字色範囲内であること」を、判断条件Ａと呼ぶ。
【００７３】
判断条件Ａが満たされる場合には（Ｓ４１５：ＹＥＳ）、ＣＰＵ２１０は、Ｓ４２０に処理を進める。判断条件Ａが満たされない場合には（Ｓ４１５：ＮＯ）、ＣＰＵ２１０は、Ｓ４５０に処理を進める。
【００７４】
Ｓ４２０では、ＣＰＵ２１０は、注目画素の値が第２文字色範囲内であり、かつ、周囲領域内の複数個の画素の値の平均値が第３文字色範囲内であるか否かを判断する。第２文字色範囲は、文字色を含む予め定められた範囲であり、第１文字色範囲より狭い範囲である。具体的には、第２文字色範囲は、ＲＧＢの各成分値（Ｒ、Ｇ、Ｂ）が、以下の式（３）を満たす範囲である。
｜Ｒ−Ｒｔ｜≦ＴＨ２、かつ、｜Ｇ−Ｇｔ｜≦ＴＨ２、かつ、｜Ｂ−Ｂｔ｜≦ＴＨ２
…（３）
閾値ＴＨ２は、閾値ＴＨ１より小さな値であり、各成分値が、０〜２５５の範囲の階調値である場合に、例えば、１０である。
【００７５】
周囲領域は、本実施例では、注目画素を中心とした縦５画素×横５画素の矩形の領域である。ＣＰＵ２１０は、該周囲領域内の２５個の画素のＲＧＢ値の平均値（Ｒａｖ、Ｇａｖ、Ｂａｖ）を算出する。第３文字色範囲は、文字色を示すＲＧＢ値を（Ｒｔ、Ｇｔ、Ｂｔ）とする場合に、ＲＧＢ値の平均値（Ｒａｖ、Ｇａｖ、Ｂａｖ）が、以下の式（４）を満たす範囲である。
｜Ｒａｖ−Ｒｔ｜≦ＴＨ３、かつ、｜Ｇａｖ−Ｇｔ｜≦ＴＨ３、｜Ｇａｖ−Ｇｔ｜≦ＴＨ３      …（４）
閾値ＴＨ３は、例えば、２０である。該平均値が、第３文字色範囲内である場合は、周囲領域内の画素の色は、文字色に比較的近い色であると考えられる。以下では、Ｓ４２０にて判断される条件、すなわち、「注目画素の値が第２文字色範囲内であり、かつ、周囲領域内の複数個の画素の値の平均値が第３文字色範囲内であること」を、判断条件Ｂと呼ぶ。
【００７６】
判断条件Ｂが満たされる場合には（Ｓ４２０：ＹＥＳ）、ＣＰＵ２１０は、Ｓ４４５に処理を進める。判断条件Ｂが満たされない場合には（Ｓ４２０：ＮＯ）、ＣＰＵ２１０は、Ｓ４２５に処理を進める。
【００７７】
Ｓ４２５では、ＣＰＵ２１０は、注目画素の上側に隣接する画素が文字画素であり、かつ、注目画素の２個下の画素の値が背景色範囲内であるか否かを判断する。フラグデータにおいて、注目画素の上側に隣接する画素に対応するフラグが、文字画素を示す値である場合には、該隣接する画素は、文字画素であると判断される。
【００７８】
背景色範囲は、図２のＳ３５の文字・背景色特定処理によって特定された背景色を含む予め定められた範囲である。背景色範囲は、例えば、図２のＳ３５にて特定された背景色を示すＲＧＢ値を（Ｒｂ、Ｇｂ、Ｂｂ）とする場合に、以下の式（５）を満たす範囲である。
｜Ｒ−Ｒｂ｜≦ＴＨ４、かつ、｜Ｇ−Ｇｂ｜≦ＴＨ４、かつ、｜Ｂ−Ｂｂ｜≦ＴＨ４
…（５）
閾値ＴＨ４は、例えば、０〜２５５の範囲の階調値である場合に、例えば、２０である。注目画素の値が、背景色範囲内である場合には、注目画素は、背景色に近い色を有すると考えられる。以下では、Ｓ４２５にて判断される条件、すなわち、「注目画素の上側に隣接する画素が文字画素であり、かつ、注目画素の２個下の画素の値が背景色範囲内であること」を、判断条件Ｃと呼ぶ。
【００７９】
判断条件Ｃが満たされる場合には（Ｓ４２５：ＹＥＳ）、ＣＰＵ２１０は、Ｓ４４５に処理を進める。判断条件Ｃが満たされない場合には（Ｓ４２５：ＮＯ）、ＣＰＵ２１０は、Ｓ４３０に処理を進める。
【００８０】
Ｓ４３０では、ＣＰＵ２１０は、注目画素の左側に隣接する画素が文字画素であり、かつ、注目画素の２個右の画素の値が背景色範囲内であるか否かを判断する。左側に隣接する画素が文字画素であるか否かは、Ｓ４２５と同様に、フラグデータを参照して判断される。背景色範囲は、Ｓ４２５で用いられる背景色範囲と同じである。以下では、Ｓ４３０にて判断される条件、すなわち、「注目画素の左側に隣接する画素が文字画素であり、かつ、注目画素の２個右の画素の値が背景色範囲内であること」を、判断条件Ｄと呼ぶ。
【００８１】
判断条件Ｄが満たされる場合には（Ｓ４３０：ＹＥＳ）、ＣＰＵ２１０は、Ｓ４４５に処理を進める。判断条件Ｄが満たされない場合には（Ｓ４３０：ＮＯ）、ＣＰＵ２１０は、Ｓ４３５に処理を進める。
【００８２】
Ｓ４３５では、ＣＰＵ２１０は、注目画素の下側に隣接する画素の値が第２文字色範囲内であり、かつ、該下側に隣接する画素の周囲領域内の複数個の画素の値の平均値が第３文字色範囲内であるか否かを判断する。第２文字色範囲は、上記式（３）を満たす範囲である。周囲領域は、上述した注目画素の周囲領域と同様に、該下側に隣接する画素を中心とする縦５画素×横５画素の矩形の領域である。第３文字色範囲は、上記式（４）を満たす範囲である。以下では、Ｓ４３５にて判断される条件、すなわち、「注目画素の下側に隣接する画素の値が第２文字色範囲内であり、かつ、該下側に隣接する画素の周囲領域内の複数個の画素の値の平均値が第３文字色範囲内であること」を、判断条件Ｅと呼ぶ。
【００８３】
判断条件Ｅが満たされる場合には（Ｓ４３５：ＹＥＳ）、ＣＰＵ２１０は、Ｓ４４５に処理を進める。判断条件Ｅが満たされない場合には（Ｓ４３５：ＮＯ）、ＣＰＵ２１０は、Ｓ４４０に処理を進める。
【００８４】
Ｓ４４０では、ＣＰＵ２１０は、注目画素の右側に隣接する画素の値が第２文字色範囲内であり、かつ、該右側に隣接する画素の周囲領域内の複数個の画素の値の平均値が第３文字色範囲内であるか否かを判断する。第２文字色範囲は、上記式（３）を満たす範囲である。周囲領域は、上述した注目画素の周囲領域と同様に、該右側に隣接する画素を中心とする縦５画素×横５画素の矩形の領域である。第３文字色範囲は、上記式（４）を満たす範囲である。以下では、Ｓ４４０にて判断される条件、すなわち、「注目画素の右側に隣接する画素の値が第２文字色範囲内であり、かつ、該右側に隣接する画素の周囲領域内の複数個の画素の値の平均値が第３文字色範囲内であること」を、判断条件Ｆと呼ぶ。
【００８５】
判断条件Ｆが満たされる場合には（Ｓ４４０：ＹＥＳ）、ＣＰＵ２１０は、Ｓ４４５に処理を進める。判断条件Ｆが満たされない場合には（Ｓ４４０：ＮＯ）、ＣＰＵ２１０は、Ｓ４５０に処理を進める。
【００８６】
Ｓ４４５では、ＣＰＵ２１０は、注目画素を文字画素として特定する。このために、この場合には、ＣＰＵ２１０は、フラグデータにおいて、注目画素に対応するフラグの値を、文字画素を示す値（本実施例では、「１」）に更新する。
【００８７】
Ｓ４５０では、ＣＰＵ２１０は、注目領域を構成する全てのエッジ画素を注目画素として処理したか否かを判断する。未処理のエッジ画素がある場合には（Ｓ４５０：ＮＯ）、ＣＰＵ２１０は、Ｓ４０５に戻って、未処理のエッジ画素を注目画素として選択する。全てのエッジ画素が処理された場合には（Ｓ４５０：ＹＥＳ）、ＣＰＵ２１０は、文字画素特定処理を終了する。
【００８８】
以上の説明から解るように、文字画素特定処理において、注目画素が、膨張・収縮処理後の二値画像データにおいて、エッジ画素として特定されている場合、すなわち、注目画素は、判断条件Ａ〜Ｆの少なくとも一部の判断対象とされる。そして、判断条件Ａ〜Ｆについて、以下の（１）〜（５）の場合に、該注目画素は、文字画素として特定される。
【００８９】
（１）判断条件Ｂを少なくとも満たす場合
（２）判断条件Ａ、Ｃの両方を少なくとも満たす場合
（３）判断条件Ａ、Ｄの両方を少なくとも満たす場合
（４）判断条件Ａ、Ｅの両方を少なくとも満たす場合
（５）判断条件Ａ、Ｆの両方を少なくとも満たす場合
なお、第２文字色範囲は、第１文字色範囲より狭いので、判断条件Ｂを満たす場合には、判断条件Ａは、必ず満たされる。また、判断条件Ａが満たされない場合には、判断条件Ｂも満たされない。したがって、判断条件Ａが満たされない場合には、上記（１）〜（５）のいずれにも該当しない。
【００９０】
以下、具体例を説明する。図９は、文字画素特定処理の第１の説明図である。図９（Ａ）には、特定された背景色を有する背景上に位置する特定された文字色を有する文字（例えば、図３（Ａ）の文字Ｏｂ６）を構成する左右方向（第１方向Ｄ１）に延びる線の下側のエッジ（下エッジとも呼ぶ）の拡大図が示されている。下エッジの近傍の領域は、内側領域ＴＡと、外側領域ＢＡと、中間領域ＭＡと、を含んでいる。内側領域ＴＡは、文字側の領域である。外側領域ＢＡは、背景側の領域である。中間領域ＭＡは、内側領域ＴＡと外側領域ＢＡとの間の領域である。内側領域ＴＡ内の画素は、文字色に近似した色を有している。外側領域ＢＡ内の画素は、背景色に近似した色を有している。中間領域ＭＡ内の画素は、文字色と背景色との中間の色を有している。中間領域ＭＡは、いわゆる「ぼけ」が生じている領域である。これらの領域ＴＡ、ＢＡ、ＭＡ内の複数個の画素は、膨張・収縮済みの二値画像データにおいて、エッジ画素として特定されている。このために、これらの領域ＴＡ、ＢＡ、ＭＡ内の複数個のエッジ画素に対応するエッジ領域が注目領域である場合には、これらのエッジ画素が、注目画素として順次に選択される（Ｓ４０５）。
【００９１】
内側領域ＴＡ内の画素ＴＰ１の色は、文字色に近似している。このために、画素ＴＰ１が注目画素である場合には、画素ＴＰ１の値は、第１文字色範囲内であると判断される（Ｓ４１５：ＹＥＳ）。そして、画素ＴＰ１の値は、第２文字色範囲内であると判断される。また、周囲範囲ＡＡ１は内側領域ＴＡの画素を多く含むので、周囲範囲ＡＡ１の複数個の画素の値の平均値は文字色に近い。このために、該平均値は、第３文字色範囲内であると判断される（Ｓ４２０：ＹＥＳ）。したがって、画素ＴＰ１は、上記判断条件Ｂを満たすので、文字画素として特定される（Ｓ４４５）。
【００９２】
中間領域ＭＡのうち、外側領域ＢＡよりも内側領域ＴＡに近い画素ＴＰ２の色は、背景色よりも文字色に近いが、内側領域ＴＡ内の画素の色ほど文字色に近くない。このために、画素ＴＰ２が注目画素である場合には、画素ＴＰ２の値は、第１文字色範囲内であると判断される（Ｓ４１５：ＹＥＳ）が、第２文字色範囲内ではないと判断される（Ｓ４２０：ＮＯ）。すなわち、画素ＴＰ２の値は、判断条件Ａを満たすが、判断条件Ｂを満たさない。
【００９３】
画素ＴＰ２の上側に隣接する画素ＳＰ１は、内側領域ＴＡ内の画素である。画素ＳＰ１は、画素ＴＰ２が注目画素として選択される前に、注目画素として選択されて文字画素として特定される。画素ＴＰ２の２個下の画素ＳＰ２は、外側領域ＢＡ内の画素である。外側領域ＢＡ内の画素ＳＰ２の色は、背景色に近似している。このために、画素ＳＰ２の上側に隣接する画素は、文字画素であり、かつ、注目画素の２個下の画素の値は、背景色範囲内であると判断される（Ｓ４２５：ＹＥＳ）。したがって、画素ＴＰ１は、上記判断条件Ａ、Ｃの両方を満たすので、文字画素として特定される（Ｓ４４５）。
【００９４】
中間領域ＭＡのうち、内側領域ＴＡよりも外側領域に近い画素ＴＰ３の色は、文字色よりも背景色に近い。このために、画素ＴＰ３が注目画素である場合には、画素ＴＰ２の値は、第１文字色範囲内でないと判断される（Ｓ４１５：ＮＯ）。したがって、画素ＴＰ３は、上記判断条件Ａを満たさないので、文字画素として特定されない。
【００９５】
外側領域ＢＡ内の画素ＴＰ４は、背景色に近似している。このために、画素ＴＰ４が注目画素である場合には、画素ＴＰ４の値は、第１文字色範囲内でないと判断される（Ｓ４１５：ＮＯ）。したがって、画素ＴＰ４は、上記判断条件Ａを満たさないので、文字画素として特定されない。
【００９６】
図９（Ｂ）には、図９（Ａ）に示すスキャン画像ＳＩ内の領域に対応するフラグデータが示されている。このフラグデータは、文字画素特定処理が終了した時点におけるフラグデータである。図９（Ｂ）に示すように、下エッジの近傍では、文字画素特定処理によって、内側領域ＴＡ内の画素（例えば、画素ＴＰ１）と、中間領域ＭＡのうち、外側領域ＢＡよりも内側領域ＴＡに近い領域内の画素（例えば、画素ＴＰ２）と、が文字画素として特定される。中間領域ＭＡのうち、内側領域ＴＡよりも外側領域ＢＡに近い領域内の画素（例えば、画素ＴＰ３）と、外側領域ＢＡ内の画素（例えば、画素ＴＰ４）と、は、文字画素として特定されない。
【００９７】
図１０は、文字画素特定処理の第２の説明図である。図１０（Ａ）には、文字色を有する文字を構成する上下方向（第２方向Ｄ２）に延びる線の右側のエッジ（右エッジとも呼ぶ）の拡大図が示されている。右エッジの近傍の領域は、図９（Ａ）の下エッジと同様に、内側領域ＴＡと、外側領域ＢＡと、中間領域ＭＡと、を含んでいる。これらの領域ＴＡ、ＢＡ、ＭＡ内の複数個のエッジ画素に対応するエッジ領域が注目領域である場合には、これらのエッジ画素が順次に注目画素として選択される（Ｓ４０５）。
【００９８】
内側領域ＴＡ内の画素ＴＰ５の色は、文字色に近似している。また、画素ＴＰ５の周囲範囲ＡＡ２は、内側領域ＴＡの画素を多く含むので、周囲範囲ＡＡ２の複数個の画素の値の平均値は、文字色に近い。このために、画素ＴＰ５は、図９（Ａ）の画素ＴＰ１と同様に、判断条件Ｂを満たす（Ｓ４１５：ＹＥＳ、かつ、Ｓ４２０：ＹＥＳ）ので、文字画素として特定される（Ｓ４４５）。
【００９９】
中間領域ＭＡのうち、外側領域ＢＡよりも内側領域ＴＡに近い画素ＴＰ６の色は、背景色よりも文字色に近いが、内側領域ＴＡ内の画素の色ほど文字色に近くない。このために、画素ＴＰ６は、図９（Ａ）の画素ＴＰ２と同様に、判断条件Ａを満たす（Ｓ４１５：ＹＥＳ）が、判断条件Ｂを満たさない（Ｓ４２０：ＮＯ）。
【０１００】
画素ＴＰ６の上側に隣接する画素ＳＰ３は、中間領域ＭＡのうち、外側領域ＢＡよりも内側領域ＴＡに近い画素である。このために、画素ＳＰ３は、画素ＴＰ６が注目画素として選択される前に、注目画素として選択されて文字画素として特定される。そして、画素ＴＰ６の２個下の画素ＳＰ４は、中間領域ＭＡのうち、外側領域ＢＡよりも内側領域ＴＡに近い画素である。このために、画素ＳＰ４の色は、背景色に近似していない。このために、画素ＴＰ６は、判断条件Ｃを満たさないと判断される（Ｓ４２５：ＮＯ）。
【０１０１】
さらに、画素ＴＰ６の左側に隣接する画素ＳＰ５は、内側領域ＴＡ内の画素である。画素ＳＰ５は、画素ＴＰ６が注目画素として選択される前に、注目画素として選択されて文字画素として特定される。画素ＴＰ６の２個右の画素ＳＰ６は、外側領域ＢＡ内の画素である。外側領域ＢＡ内の画素ＳＰ６の色は、背景色に近似している。このために、画素ＳＰ６は、判断条件Ｄを満たすと判断される（Ｓ４３０：ＹＥＳ）。したがって、画素ＴＰ６は、判断条件Ａ、Ｄの両方を満たすので、文字画素として特定される（Ｓ４４５）。
【０１０２】
中間領域ＭＡのうち、内側領域ＴＡよりも外側領域に近い画素ＴＰ７の色は、文字色よりも背景色に近い。また、外側領域ＢＡ内の画素ＴＰ８は、背景色に近似している。このために、図９（Ａ）の画素ＴＰ３、ＴＰ４と同様に、これらの画素ＴＰ７、ＴＰ８は、判断条件Ａを満たさないので（Ｓ４１５：ＮＯ）、文字画素として特定されない。
【０１０３】
図１０（Ｂ）には、図１０（Ａ）に示すスキャン画像ＳＩ内の領域に対応するフラグデータが示されている。このフラグデータは、文字画素特定処理が終了した時点におけるフラグデータである。図１０（Ｂ）に示すように、右エッジの近傍では、下エッジの近傍と同様に、文字画素特定処理によって、内側領域ＴＡ内の画素（例えば、画素ＴＰ５）と、中間領域ＭＡのうち、外側領域ＢＡよりも内側領域ＴＡに近い領域内の画素（例えば、画素ＴＰ６）と、が文字画素として特定される。中間領域ＭＡのうち、内側領域ＴＡよりも外側領域ＢＡに近い領域内の画素（例えば、画素ＴＰ７）と、外側領域ＢＡ内の画素（例えば、画素ＴＰ８）と、は、文字画素として特定されない。
【０１０４】
図１１は、文字画素特定処理の第３の説明図である。図１１（Ａ）には、文字色の文字を構成する左右方向（第１方向Ｄ１）に延びる線の上側のエッジ（上エッジとも呼ぶ）の拡大図が示されている。上エッジの近傍の領域は、図９（Ａ）の下エッジと同様に、内側領域ＴＡと、外側領域ＢＡと、中間領域ＭＡと、を含んでいる。これらの領域ＴＡ、ＢＡ、ＭＡ内の複数個のエッジ画素に対応するエッジ領域が注目領域である場合には、これらのエッジ画素が順次に注目画素として選択される（Ｓ４０５）。
【０１０５】
内側領域ＴＡ内の画素ＴＰ９の色は、文字色に近似している。また、画素ＴＰ９の周囲範囲ＡＡ３は、内側領域ＴＡの画素を多く含むので、周囲範囲ＡＡ３の複数個の画素の値の平均値は、文字色に近い。このために、画素ＴＰ９は、図９（Ａ）の画素ＴＰ１と同様に、判断条件Ｂを満たす（Ｓ４１５：ＹＥＳ、かつ、Ｓ４２０：ＹＥＳ）ので、文字画素として特定される（Ｓ４４５）。
【０１０６】
中間領域ＭＡのうち、外側領域ＢＡよりも内側領域ＴＡに近い画素ＴＰ１０の色は、背景色よりも文字色に近いが、内側領域ＴＡ内の画素の色ほど文字色に近くない。このために、画素ＴＰ１０は、図９（Ａ）の画素ＴＰ２と同様に、判断条件Ａを満たす（Ｓ４１５：ＹＥＳ）が、判断条件Ｂを満たさない（Ｓ４２０：ＮＯ）。
【０１０７】
画素ＴＰ１０の上側に隣接する画素ＳＰ７は、中間領域ＭＡのうち、内側領域ＴＡよりも外側領域ＢＡに近い画素である。このために、画素ＳＰ７は、画素ＴＰ１０が注目画素として選択される前に、注目画素として選択されているが、文字画素として特定されていない。このために、画素ＴＰ１０は、判断条件Ｃを満たさないと判断される（Ｓ４２５：ＮＯ）。
【０１０８】
そして、画素ＴＰ１０の左側に隣接する画素ＳＰ８は、中間領域ＭＡのうち、外側領域ＢＡよりも内側領域ＴＡに近い画素である。このために、画素ＳＰ８は、画素ＴＰ１０が注目画素として選択される前に、注目画素として選択されて文字画素として特定される。画素ＴＰ１０の２個右の画素ＳＰ９は、中間領域ＭＡのうち、外側領域ＢＡよりも内側領域ＴＡに近い画素である。このために、画素ＳＰ９の色は、背景色に近似していない。このために、画素ＴＰ１０は、判断条件Ｄを満たさないと判断される（Ｓ４３０：ＮＯ）。
【０１０９】
画素ＴＰ１０の下側に隣接する画素ＳＰ１０は、内側領域ＴＡ内の画素である。このために、画素ＳＰ１０の色は、文字色に近似している。また、画素ＴＰ１０の周囲範囲ＡＡ４は、内側領域ＴＡの画素を多く含むので、周囲範囲ＡＡ４の複数個の画素の値の平均値は、文字色に近い。このために、画素ＴＰ１０は、判断条件Ｅを満たすと判断される（Ｓ４３５：ＹＥＳ）。したがって、画素ＴＰ１０は、判断条件Ａ、Ｅの両方を満たすので、文字画素として特定される（Ｓ４４５）。
【０１１０】
中間領域ＭＡのうち、内側領域ＴＡよりも外側領域に近い画素ＴＰ１１の色は、文字色よりも背景色に近い。また、外側領域ＢＡ内の画素ＴＰ１２は、背景色に近似している。このために、図９（Ａ）の画素ＴＰ３、ＴＰ４と同様に、これらの画素ＴＰ１１、ＴＰ１２の値は、判断条件Ａを満たさないので（Ｓ４１５：ＮＯ）、文字画素として特定されない。
【０１１１】
図１１（Ｂ）には、図１１（Ａ）に示すスキャン画像ＳＩ内の領域に対応するフラグデータが示されている。このフラグデータは、文字画素特定処理が終了した時点におけるフラグデータである。図１１（Ｂ）に示すように、上エッジの近傍では、下エッジの近傍と同様に、文字画素特定処理によって、内側領域ＴＡ内の画素（例えば、画素ＴＰ９）と、中間領域ＭＡのうち、外側領域ＢＡよりも内側領域ＴＡに近い領域内の画素（例えば、画素ＴＰ１０）と、が文字画素として特定される。中間領域ＭＡのうち、内側領域ＴＡよりも外側領域ＢＡに近い領域内の画素（例えば、画素ＴＰ１１）と、外側領域ＢＡ内の画素（例えば、画素ＴＰ１２）と、は、文字画素として特定されない。
【０１１２】
図１２は、文字画素特定処理の第４の説明図である。図１２（Ｂ）には、文字色の文字を構成する上下方向（第２方向Ｄ２）に延びる線の左側のエッジ（左エッジとも呼ぶ）の拡大図が示されている。左エッジの近傍の領域は、図９（Ａ）の下エッジと同様に、内側領域ＴＡと、外側領域ＢＡと、中間領域ＭＡと、を含んでいる。これらの領域ＴＡ、ＢＡ、ＭＡ内の複数個の画素のいずれかが、注目画素である場合には、Ｓ４１０にて、該注目画素は、エッジ画素であると判断される（Ｓ４１０：ＹＥＳ）。
【０１１３】
内側領域ＴＡ内の画素ＴＰ１３の色は、文字色に近似している。また、画素ＴＰ１３の周囲範囲ＡＡ５は、内側領域ＴＡの画素を多く含むので、周囲範囲ＡＡ５の複数個の画素の値の平均値は、文字色に近い。このために、画素ＴＰ１３は、図９（Ａ）の画素ＴＰ１と同様に、判断条件Ｂを満たす（Ｓ４１５：ＹＥＳ、かつ、Ｓ４２０：ＹＥＳ）ので、文字画素として特定される（Ｓ４４５）。
【０１１４】
中間領域ＭＡのうち、外側領域ＢＡよりも内側領域ＴＡに近い画素ＴＰ１４の色は、背景色よりも文字色に近いが、内側領域ＴＡ内の画素の色ほど文字色に近くない。このために、画素ＴＰ１４は、図９（Ａ）の画素ＴＰ２と同様に、判断条件Ａを満たす（Ｓ４１５：ＹＥＳ）が、判断条件Ｂを満たさないと判断される（Ｓ４２０：ＮＯ）。
【０１１５】
画素ＴＰ１４の上側に隣接する画素ＳＰ１１は、中間領域ＭＡのうち、外側領域ＢＡよりも内側領域ＴＡに近い画素である。このために、画素ＳＰ１１は、画素ＴＰ１４が注目画素として選択される前に、注目画素として選択されて文字画素として特定される。そして、画素ＴＰ１０の２個下の画素ＳＰ１２は、中間領域ＭＡのうち、外側領域ＢＡよりも内側領域ＴＡに近い画素である。このために、画素ＳＰ１２の色は、背景色に近似していない。このために、画素ＴＰ１４は、判断条件Ｃを満たさないと判断される（Ｓ４２５：ＮＯ）
【０１１６】
そして、画素ＴＰ１４の左側に隣接する画素ＳＰ１３は、中間領域ＭＡのうち、内側領域ＴＡよりも外側領域ＢＡに近い画素である。このために、画素ＳＰ１３は、画素ＴＰ１０が注目画素として選択される前に、注目画素として選択されるが、文字画素として特定されない。このために、画素ＴＰ１４は、判断条件Ｄを満たさないと判断される（Ｓ４３０：ＮＯ）。
【０１１７】
画素ＴＰ１４の下側に隣接する画素ＳＰ１４は、中間領域ＭＡのうち、外側領域ＢＡよりも内側領域ＴＡに近い画素である。このために、画素ＳＰ１４の色は、背景色よりも文字色に近いが、内側領域ＴＡ内の画素の色ほど文字色に近くない。このために、画素ＴＰ１４は、判断条件Ｅを満たさないと判断される（Ｓ４３５：ＮＯ）。
【０１１８】
画素ＴＰ１４の右側に隣接する画素ＳＰ１５は、内側領域ＴＡ内の画素である。このために、画素ＳＰ１５の色は、文字色に近似している。また、画素ＴＰ１５の周囲範囲ＡＡ６は、内側領域ＴＡの画素を多く含むので、周囲範囲ＡＡ６の複数個の画素の値の平均値は、文字色に近い。このために、画素ＴＰ１４は、判断条件Ｆを満たすと判断される（Ｓ４４０：ＹＥＳ）。したがって、画素ＴＰ１４は、判断条件Ａ、Ｆの両方を満たすので、文字画素として特定される（Ｓ４４５）。
【０１１９】
図１２（Ｂ）には、図１２（Ａ）に示すスキャン画像ＳＩ内の領域に対応するフラグデータが示されている。このフラグデータは、文字画素特定処理が終了した時点におけるフラグデータである。図１２（Ｂ）に示すように、上エッジの近傍では、下エッジの近傍と同様に、文字画素特定処理によって、内側領域ＴＡ内の画素（例えば、画素ＴＰ１３）と、中間領域ＭＡのうち、外側領域ＢＡよりも内側領域ＴＡに近い領域内の画素（例えば、画素ＴＰ１４）と、が文字画素として特定される。中間領域ＭＡのうち、内側領域ＴＡよりも外側領域ＢＡに近い領域内の画素（例えば、画素ＴＰ１５）と、外側領域ＢＡ内の画素（例えば、画素ＴＰ１６）と、は、文字画素として特定されない。
【０１２０】
以上の図９〜図１２の説明から解るように、背景色を有する背景上に位置する文字色を有する文字において、内側領域ＴＡ内の画素、および、中間領域ＭＡのうち、外側領域ＢＡよりも内側領域ＴＡに近い画素は、上記（１）〜（５）の場合のうちのいずれかに該当するために、文字画素として特定される。また、外側領域ＢＡ内の画素、および、中間領域ＭＡ、内側領域ＴＡよりも外側領域ＢＡに近い画素は、上記（１）〜（５）の場合のうちのいずれかにも該当しないために、文字画素として特定されない。この結果、文字画素を適切に特定することができる。なお、文字色以外の文字のエッジ近傍の画素は、第１文字色範囲、および、第２文字色範囲内の画素の値を有さないので、判断条件Ａ、Ｂを満たさないので、文字画素として特定されない。また、文字色の文字であっても、背景が背景色でない文字のエッジ近傍の画素は、周囲領域の画素の平均値が文字色に近似しない、あるいは、外側に２個離れた画素の色が背景色に近似しない。このために、当該エッジ近傍の画素は、文字画素として特定されない。
【０１２１】
以上説明した図８の文字画素特定処理によれば、第１方向Ｄ１に並ぶ画素ＳＰ５、ＴＰ６、ＳＰａ（図１０（Ａ））についての処理、および、第１方向Ｄ１に並ぶ画素ＳＰ１３、ＴＰ１４、ＳＰ１５（図１２（Ａ））についての処理から解るように、対象画素Ａ（例えば、画素ＳＰ５、ＳＰ１３）が、対象画素Ａに対して第１方向Ｄ１に隣接する対象画素Ｂ（例えば、画素ＴＰ６、ＴＰ１４）や、対象画素Ｂに対して第１方向Ｄ１に隣接する対象画素Ｃ（例えば、画素ＳＰａ、ＳＰ１５）よりも先に注目画素とされる。このため、先ず、ＣＰＵ２１０は、対象画素Ａ（例えば、画素ＳＰ５、ＳＰ１３）が文字画素であるか否かを特定する（Ｓ４１５〜Ｓ４４５）。そして、その後に、対象画素Ｂ（例えば、画素ＴＰ６、ＴＰ１４）が注目画素とされた際に、ＣＰＵ２１０は、対象画素Ａが文字画素として特定されたことを含む判断条件Ｄを満たすか否かを判断し（Ｓ４３０）、判断条件Ｄが満たされる場合に（Ｓ４３０：ＹＥＳ、図１０（Ａ））、対象画素Ｂ（例えば、画素ＴＰ６）を文字画素として特定する（Ｓ４４５、図１０（Ａ））。そして、判断条件Ｄが満たされない場合に（Ｓ４３０：ＮＯ）、ＣＰＵ２１０は、対象画素Ｃ（例えば、画素ＳＰ１５）の値が、第２文字色範囲内であることを含む判断条件Ｆを満たすか否かを判断する（Ｓ４４０）。ＣＰＵ２１０は、判断条件Ｆが満たされる場合に（Ｓ４４０：ＹＥＳ）、対象画素Ｂ（例えば、画素ＴＰ１４）を、文字画素として特定する（Ｓ４４５）。この結果、判断条件Ｄが満たされる場合には、判断条件Ｆについて判断することなく、対象画素Ｂを文字画素として特定できる。この結果、対象画素Ａが文字画素として特定された場合には、対象画素Ａが文字画素として特定されたことに基づいて、対象画素Ｂを、文字画素として効率良く特定することができる。換言すれば、既に文字画素であるか否かを判断済みの対象画素Ａ（例えば、画素ＳＰ５）の特定結果を用いて、対象画素Ｂ（例えば、画素ＴＰ６）を文字画素として特定可能である場合には、未判断の対象画素Ｃ（例えば、画素ＳＰａ）について、何ら条件を判断することなく、対象画素Ｂを文字画素として特定可能であるので、対象画素Ｂを、文字画素として効率良く特定することができる。
【０１２２】
同様にして、第２方向Ｄ２に並ぶ画素ＳＰ１、ＴＰ２、ＳＰｂ（図９（Ａ））についての処理、および、第２方向Ｄ２に並ぶ画素ＳＰ７、ＴＰ１０、ＳＰ１０（図１１（Ａ））についての処理から解るように、対象画素Ｄ（例えば、画素ＳＰ１、ＳＰ７）が、対象画素Ｄに対して第２方向Ｄ２に隣接する対象画素Ｅ（例えば、画素ＴＰ２、ＴＰ１０）や、対象画素Ｅに対して第２方向Ｄ２に隣接する対象画素Ｆ（例えば、画素ＳＰｂ、ＳＰ１０）よりも先に注目画素とされる。このため、先ず、ＣＰＵ２１０は、対象画素Ｄ（例えば、画素ＳＰ１、ＳＰ７）が文字画素であるか否かを特定する（Ｓ４１５０〜Ｓ１４５）。そして、その後に、対象画素Ｅ（例えば、画素ＴＰ２、ＴＰ１０）が注目画素とされた際に、ＣＰＵ２１０は、対象画素Ｄが文字画素として特定されたことを含む判断条件Ｃを満たすか否かを判断し（Ｓ４２５）、判断条件Ｃが満たされる場合に（Ｓ４２５：ＹＥＳ、図９（Ａ））、対象画素Ｅ（例えば、画素ＴＰ２）を文字画素として特定する（Ｓ４４５、図９（Ａ））。そして、判断条件Ｃが満たされない場合に（Ｓ４２５：ＮＯ）、ＣＰＵ２１０は、対象画素Ｆ（例えば、画素ＳＰ１０）の値が、第２文字色範囲内であることを含む判断条件Ｅを満たすか否かを判断する（Ｓ４３５）。ＣＰＵ２１０は、判断条件Ｅが満たされる場合に（Ｓ４３５：ＹＥＳ）、対象画素Ｅ（例えば、画素ＴＰ１０）を、文字画素として特定する（Ｓ４４５）。この結果、判断条件Ｃが満たされる場合には、判断条件Ｅについて判断することなく、対象画素Ｅを文字画素として特定できる。この結果、対象画素Ｄが文字画素として特定された場合には、対象画素Ｄが文字画素として特定されたことに基づいて、対象画素Ｅを、文字画素として効率良く特定することができる。換言すれば、既に文字画素であるか否かを判断済みの対象画素Ｄ（例えば、画素ＳＰ１）の特定結果を用いて、対象画素Ｅ（例えば、画素ＴＰ２）を文字画素として特定可能である場合には、未判断の対象画素Ｃ（例えば、画素ＳＰｂ）について、何ら条件を判断することなく、対象画素Ｅを文字画素として特定可能であるので、対象画素Ｅを、文字画素として効率良く特定することができる。
【０１２３】
さらに、上記文字画素特定処理によれば、ＣＰＵ２１０は、複数個のエッジ画素のそれぞれを注目画素として、該注目画素の値が、第１文字色範囲内であることを含む判断条件Ａを満たすか否かを判断する（図８のＳ４１５）。ＣＰＵ２１０は、該注目画素が、判断条件Ａを満たす場合に（Ｓ４１５：ＹＥＳ）、周囲領域内の画素などの周辺画素の値に基づく条件を含む判断条件Ｂ〜Ｆの少なくとも１つを満たすか否かを判断する（Ｓ４２０〜Ｓ４４０）。ＣＰＵ２１０は、該注目画素が、判断条件Ｂ〜Ｆの少なくとも１つを満たす場合に（Ｓ４２０〜Ｓ４４０のいずれかにてＹＥＳ）、該注目画素を、文字画素として特定する（Ｓ４４５）。ＣＰＵ２１０は、該注目画素が、判断条件Ａを満たさない場合に（Ｓ４１５：ＮＯ）、判断条件Ｂ〜Ｆのいずれも判断しない。判断条件Ａを満たさない場合、すなわち、注目画素の値が、第１文字色範囲内でない場合には、注目画素は、文字画素として特定すべきでないことは明らかである。このために、上述のように、判断条件Ａを、他の判断条件Ｂ〜Ｆよりも先に判断して、該判断条件Ａを満たさない場合には、他の判断条件Ｂ〜Ｆについては、何ら判断を行うことなく、文字画素として特定しないことによって、効率良く、文字画素を特定できる。
【０１２４】
Ａ−５．背景画素特定処理
図２のＳ３０の背景画素特定処理について説明する。図１３は、背景画素特定処理のフローチャートである。Ｓ５００では、ＣＰＵ２１０は、スキャンデータの第１方向Ｄ１および第２方向Ｄ２の読取解像度（単位は、ｄｐｉ（dot per inch））に応じて、確認画素数Ｍの値を設定する。確認画素数Ｍは、注目画素から、確認方向に向かって、背景画素として特定するか否かの確認を行う画素の個数であり、１以上の自然数である。本実施例では、第１方向Ｄ１の読取解像度に応じた確認画素数Ｍ１と、第２方向Ｄ２の読取解像度に応じた確認画素数Ｍ２と、をそれぞれ設定する。確認画素数Ｍは、読取解像度が高いほど、大きな値に設定される。例えば、確認画素数Ｍは、読取解像度をＲ（単位は、ｄｐｉ）とした場合に、（Ｒ／３００）の値の小数点以下を切り捨てた値に決定される。例えば、確認画素数Ｍは、読取解像度が６００ｄｐｉである場合には、「２」に設定され、読取解像度が１２００ｄｐｉである場合には、「４」に設定される。
【０１２５】
Ｓ５０５では、ＣＰＵ２１０は、注目領域を構成する複数個のエッジ画素のうち、文字画素特定処理において特定された２以上の文字画素から、１個の注目画素を選択する。
【０１２６】
文字画素であるか否かは、文字画素特定処理で作成されたフラグデータを参照して判断される。
【０１２７】
Ｓ５１５では、ＣＰＵ２１０は、上下左右の４方向の中から、１つの確認方向を選択する。Ｓ５３０では、ＣＰＵ２１０は、注目画素から確認方向にＭ個先の画素は、文字画素であるか否かを判断する。Ｍ個先の画素が文字画素であるか否かは、文字画素特定処理で作成されたフラグデータを参照して判断される。
【０１２８】
図１４は、背景画素特定処理の第１の説明図である。図１４（Ａ）には、図９（Ａ）と同様の下エッジの拡大図が示されている。図１４（Ｂ）には、図１４（Ａ）に示すスキャン画像ＳＩ内の領域に対応するフラグデータが示されている。このフラグデータは、背景画素特定処理が終了した時点におけるフラグデータである。
【０１２９】
確認方向が図１４（Ａ）の左方向（第１方向Ｄ１の反対方向）または右方向（第１方向Ｄ１）である場合には、確認画素数Ｍの値は、第１方向Ｄ１の確認画素数Ｍ１である。確認方向が図１４（Ａ）の上方向（第２方向Ｄ２の反対方向）または下方向（第２方向Ｄ２）である場合には、確認画素数Ｍの値は、第２方向Ｄ２の確認画素数Ｍ２である。ここでは、図１４（Ａ）には、確認画素数Ｍ１、Ｍ２の両方が、「２」である場合を示している。
【０１３０】
注目画素が、画素ＴＰ１７であり、確認方向が上方向である場合には、画素ＳＰ１６が文字画素であるか否かが判断される。同様に、注目画素が、画素ＴＰ１７であり、確認方向が下方向、左方向、右方向である場合には、それぞれ、画素ＳＰ１７、ＳＰ１８、ＳＰ１９が文字画素であるか否かが判断される。図１４（Ａ）の例では、注目画素が、画素ＴＰ１７であり、確認方向が上方向、左方向、右方向である場合には、Ｍ個（図１４（Ａ）の例では２個）先の画素ＳＰ１６、ＳＰ１８、ＳＰ１９は、それぞれ、文字画素であると判断される。注目画素が、画素ＴＰ１７であり、確認方向が下方向である場合に、Ｍ個先の画素ＳＰ１７は、文字画素でないと判断される。
【０１３１】
Ｍ個先の画素は、文字画素である場合には（Ｓ５３０：ＹＥＳ）、ＣＰＵ２１０は、Ｓ５５５に処理を進める。Ｍ個先の画素が、文字画素でない場合には（Ｓ５３０：ＮＯ）、ＣＰＵ２１０は、Ｓ５３５に処理を進める。
【０１３２】
Ｓ５３５では、ＣＰＵ２１０は、注目画素から確認方向にＭ個先の画素の値は、背景色範囲内であるか否かを判断する。背景色範囲は、上述した式（５）を満たす範囲である。該画素ＳＰ１７は、外側領域ＢＡ内の画素であるので、背景色に近似している。このために、Ｍ個先の画素が、図１４（Ａ）の画素ＳＰ１７である場合には、該画素ＳＰ１７の値は、背景色範囲内であると判断される。
【０１３３】
Ｍ個先の画素の値が、背景色範囲内である場合には（Ｓ５３５：ＹＥＳ）、ＣＰＵ２１０は、Ｓ５４０に処理を進める。Ｍ個先の画素の値が、背景色範囲内でない場合には（Ｓ５３５：ＮＯ）、ＣＰＵ２１０は、Ｓ５５５に処理を進める。
【０１３４】
Ｓ５４０では、ＣＰＵ２１０は、注目画素から確認方向にＭ個先の画素を背景画素として特定する。このために、この場合には、ＣＰＵ２１０は、フラグデータにおいて、注目画素に対応するフラグの値を、背景画素を示す値（本実施例では、「２」）に更新する。Ｍ個先の画素が、図１４（Ａ）の画素ＳＰ１７である場合には、画素ＳＰ１７は、背景画素として特定される。
【０１３５】
Ｓ５４５では、ＣＰＵ２１０は、注目画素と、注目画素から確認方向にＭ個先の画素と、の間に、文字画素とは異なる画素があるか否かを判断する。注目画素が、図１４（Ａ）の画素ＴＰ１７であり、Ｍ個先の画素が、画素ＳＰ１７である場合には、該画素ＴＰ１７と画素ＳＰ１７との間には、１個の画素ＳＰ２０がある。画素ＳＰ２０は、文字画素として特定されていない（図１４（Ｂ））ので、文字画素とは異なる画素があると判断される。仮に、確認画素数Ｍが「４」である場合には、注目画素と、４個先の画素と、の間には、３個の画素がある。一般的には、注目画素と、確認方向にＭ個先の画素と、の間には、確認方向に沿って並ぶ（Ｍ−１）個の画素がある。本ステップでは、該（Ｍ−１）個の画素に、少なくとも１個の文字画素とは異なる画素があるか否かが判断される。
【０１３６】
注目画素とＭ個先の画素との間に、文字画素とは異なる画素がある場合には（Ｓ５４５：ＹＥＳ）、ＣＰＵ２１０は、Ｓ５５０に処理を進める。注目画素とＭ個先の画素との間に、文字画素とは異なる画素がない場合には（Ｓ５４５：ＮＯ）、Ｓ５５５に処理を進める。
【０１３７】
Ｓ５５０では、ＣＰＵ２１０は、注目画素とＭ個先の画素との間の文字画素とは異なる画素を背景画素として特定する。このために、この場合には、ＣＰＵ２１０は、フラグデータにおいて、注目画素とＭ個先の画素との間の文字画素とは異なる画素に対応するフラグの値を、背景画素を示す値（本実施例では、「２」）に更新する。Ｍ個先の画素が、図１４（Ａ）の画素ＳＰ１７である場合には、画素ＳＰ１７は、背景画素として特定される。注目画素が、図１４（Ａ）の画素ＴＰ１７であり、Ｍ個先の画素が、画素ＳＰ１７である場合には、該画素ＴＰ１７と画素ＳＰ１７との間の１個の画素ＳＰ２０が、背景画素として特定される。
【０１３８】
Ｓ５５５では、ＣＰＵ２１０は、上下左右の４方向を全て確認したか否かを判断する。未確認の方向がある場合には（Ｓ５５５：ＮＯ）、ＣＰＵ２１０は、Ｓ５１５に戻って、未確認の方向を確認方向に設定する。４方向を確認した場合には（Ｓ５５５：ＹＥＳ）、ＣＰＵ２１０は、Ｓ５６０に処理を進める。
【０１３９】
Ｓ５６０では、ＣＰＵ２１０は、注目領域内の全ての文字画素を注目画素として処理したか否かを判断する。未処理の文字画素がある場合には（Ｓ５６０：ＮＯ）、ＣＰＵ２１０は、Ｓ５０５に戻って、未処理の文字画素を注目画素として選択する。全ての文字画素が処理された場合には（Ｓ５６０：ＹＥＳ）、ＣＰＵ２１０は、背景画素特定処理を終了する。
【０１４０】
以上の説明から解るように、背景画素特定処理において、文字画素から所定の確認方向にＭ個先の画素（例えば、図１４（Ａ）の画素ＳＰ１７）が、文字画素でなく、かつ、その値が背景色範囲内である場合に、背景画素として特定される（Ｓ５３０〜Ｓ５４０）。換言すれば、Ｍ個先の画素が、文字画素とは異なる色を有するべき画素であり、かつ、文字色よりも背景色に近い色を有する場合に、該Ｍ個先の画素は、背景画素として特定される。この結果、文字画素の周辺の画素の中から適切に背景画素を特定することができる。例えば、文字のエッジ上の文字画素の周辺の背景を示す画素を適切に背景画素として特定することができる。
【０１４１】
文字画素と、背景画素と、の間の画素が、背景画素とも文字画素とも異なる画素であると、文字色と背景色との境界が鮮明にならない可能性がある。本実施例では、文字画素からＭ個先の画素、すなわち、文字画素から特定方向にＭ個（Ｍは、２以上の整数）の画素分だけ離れた画素が背景画素として特定された場合には、該特定方向に沿って該文字画素と、該Ｍ個の画素分だけ離れた画素と、の間に位置する（Ｍ−１）個の中間画素は、その画素が、文字画素でない場合に、該中間画素の値に関わらずに、背景画素として特定される（Ｓ５４５、Ｓ５５０）。この結果、文字画素と、背景画素と、の間の画素が、背景画素とも文字画素とも異なる画素であると判断されることを抑制できる。したがって、文字色と背景色との境界をより効果的に強調できる。
【０１４２】
このように、文字画素の周辺画素、具体的には、文字画素との距離がＭ画素以内の画素は、該画素が文字画素でないことを含む特定条件を満たすか否かが判断され、該特定条件を満たす場合には、背景画素として特定される。一方、文字画素に対して上記周辺画素よりも離れた位置にある複数個の遠方画素（例えば、図１４（Ａ）の画素ＳＰ２１）、具体的には、文字画素との距離がＭ画素を超える画素は、該特定条件については判断されない。
【０１４３】
この結果、図１４（Ｂ）に示すように、中間領域ＭＡのうち、内側領域ＴＡより外側領域ＢＡに近い複数個の画素（例えば、図１４（Ａ）の画素ＳＰ２０）が、背景画素として特定される（対応するフラグ＝２）。これらの画素は、中間領域ＭＡ内の複数個の画素のうち、文字画素に隣接する画素であって、文字画素として特定されていない画素である。また、外側領域ＢＡのうち、中間領域ＭＡと隣接する複数個の画素（例えば、図１４（Ａ）の画素ＳＰ１７）が、背景画素として特定される（対応するフラグ＝２）。また、外側領域ＢＡのうち、文字画素から３画素以上離れた複数個の画素（例えば、図１４（Ａ）の画素ＳＰ２１）は、背景画素にも文字画素にも特定されない（対応するフラグ＝０）。
【０１４４】
図１５を参照して、さらに、具体例を説明する。図１５は、背景画素特定処理の第２の説明図である。図１５（Ａ）には、図１１（Ａ）と同様の下エッジの拡大図が示されている。図１５（Ｂ）には、図１６（Ａ）に示すスキャン画像ＳＩ内の領域に対応するフラグデータが示されている。下エッジについても同様に、例えば、文字画素である画素ＴＰ１８が注目画素である場合には、４方向にＭ個（図１５（Ａ）では２個）先の画素ＳＰ２２〜ＳＰ２５のうち、文字画素でなく、かつ、その値が背景色範囲内である画素ＳＰ２２が、背景画素として特定される（Ｓ５３０〜Ｓ５４０）。そして、画素ＴＰ１８と、画素ＳＰ２２と、の間に位置する画素ＳＰ２６は、文字画素ではないので、背景画素として特定される。画素ＴＰ１８から３画素離れた画素ＳＰ２７は、遠方画素であるので、上記特定条件について判断されずに、背景画素として特定されない。したがって、図１５（Ｂ）に示すように、中間領域ＭＡのうち、内側領域ＴＡより外側領域ＢＡに近い複数個の画素（例えば、図１５（Ａ）の画素ＳＰ２２）が、背景画素として特定される（対応するフラグ＝２）。また、外側領域ＢＡのうち、中間領域ＭＡと隣接する複数個の画素（例えば、図１５（Ａ）の画素ＳＰ２６）が、背景画素として特定される（対応するフラグ＝２）。また、外側領域ＢＡのうち、文字画素から３画素以上離れた複数個の画素（例えば、図１５（Ａ）の画素ＳＰ２７）は、背景画素にも文字画素にも特定されない（対応するフラグ＝０）。
【０１４５】
図示は省略するが、右エッジ（図１０（Ａ））および左エッジ（図１２（Ａ））においても、中間領域ＭＡのうち、内側領域ＴＡより外側領域ＢＡに近い複数個の画素と、外側領域ＢＡのうち、中間領域ＭＡと隣接する複数個の画素と、が背景画素として特定される。文字画素から３画素以上離れた複数個の画素は、背景画素にも文字画素にも特定されない。
【０１４６】
図１６は、処理済画像の説明図である。図１６（Ａ）、（Ｂ）には、それぞれ、図１４（Ａ）の下エッジ、図１５（Ａ）の上エッジに対応する処理済画像ＯＩの拡大図が示されている。上述した文字画素および背景画素の特定結果を用いて、図２のＳ４５の文字・背景画素置換処理が実行された場合には、図１６（Ａ）、（Ｂ）の処理済画像ＯＩを示す処理済画像データが生成される。この処理済画像ＯＩにおいて、黒い画素は、スキャン画像ＳＩ内の特定済みの文字画素に対応する画素であり、文字色に置換された画素（文字色置換画素とも呼ぶ）である。処理済画像ＯＩにおいて、丸印が付された白い画素は、特定済みの背景画素に対応する画素であり、背景色に置換された画素（背景色置換画素とも呼ぶ）である。処理済画像ＯＩにおいて、丸印が付されていない白い画素は、遠方画素（背景画素にも文字画素にも特定されていない画素）に対応する対応遠方画素である。このように、処理済画像ＯＩは、複数個の文字色置換画素と、複数個の背景色置換画素と、を含む。この結果、処理済画像ＯＩにおいて、文字色と背景色との境界を鮮明にすることができる。さらに、図２のＳ３５にて、スキャンデータを用いて、文字色と背景色が特定され、特定された文字色と背景色についてＳ５５の文字・背景画素置換処理が行われる。この結果、例えば、白背景上の黒文字に限らず、様々な文字色および背景色の組み合わせについて、文字色と背景色との境界を鮮明にすることができる。
【０１４７】
さらに、印刷画像ＯＩは、複数個の対応遠方画素と、を含む。複数個の遠方画素は、処理済画像ＦＩ（図３（Ｄ））の対応する画素の値を有するので、背景色とも文字色とも異なる色を有し得る。この結果、文字色と背景色との境界を鮮明にするために、文字色と背景色との境界から離れた遠方の部分が、過度に影響を受けることを抑制できる。例えば、スキャン画像ＳＩにおいて、背景Ｂｇ１が、完全な白色でなく、例えば、薄い模様や薄い色を含んでいる場合に、処理済画像ＯＩにおいて、背景Ｂｇ１の模様や色が失われて画質が低下することを抑制できる。また、スキャン画像ＳＩにおいて、文字の近傍に、例えば、薄い色のオブジェクト（例えば、描画など）が含まれる場合に、該オブジェクトの一部が背景色に置換されて該オブジェクトの見栄えが低下することを抑制できる。
【０１４８】
さらに、上記実施例では、二値画像データによって特定される複数個のエッジ画素の中から文字画素が特定される（図８のＳ４０５）。すなわち、図２のＳ１５のエッジ画素特定処理にて特定されたスキャン画像ＳＩ内の複数個のエッジ画素を含み、かつ、複数個のエッジ画素とは異なる複数個の画素の少なくとも一部を含まない画素群の中から文字画素が特定される。この結果、エッジと異なる部分、例えば、スキャン画像ＳＩ内の均一な色を有する部分の色を変更することなく、文字色と背景色との境界を構成するエッジを鮮明にすることができる。例えば、スキャン画像ＳＩ内のエッジとは異なる部分の色が変更されてしまうことに起因する画質の低下を抑制できる。
【０１４９】
さらには、図２のＳ２０にて膨張・収縮処理が実行され、膨張・収縮処理後の二値データによって特定される複数個のエッジ画素の中から、文字画素が特定される。この結果、さらに適切な複数個のエッジ画素の中から、文字画素が特定されるので、文字色と背景色との境界をより適切に鮮明にできる。例えば、図４を参照して説明したように、特定されたエッジに欠けＣＲや隙間ＮＴなどがあると、文字画素として特定すべき画素が特定できない可能性があるが、膨張・収縮処理が実行されることで、このような不都合を抑制できるので、文字色と背景色との境界をより適切に鮮明にできる。
【０１５０】
一般に、解像度が高いほど、文字の周囲において、ぼけた領域の画素数が増加すると考えられる。このために、解像度が高いほど、文字の周囲において多数の画素を背景色に置換することが好ましいと考えられる。上記実施例によれば、確認画素数Ｍの値は、スキャンデータの特定方向の解像度が、第１解像度（例えば、６００ｄｐｉ）である場合には、第１値（例えば、「２」）に決定され、該特定方向の解像度が、第１解像度よりも高い第２解像度（例えば、１２００ｄｐｉ）である場合には、第１値よりも大きな第２値（例えば、「４」）に決定される（Ｓ５００）。この結果、スキャンデータの解像度に応じて、文字色と背景色との境界を構成するエッジを適切に強調できる。
【０１５１】
Ｂ．変形例：
【０１５２】
（１）印刷を前提とする場合には、第１色と第２色との組み合わせは、印刷に用いられる複数種類の色材の色と、印刷に用いられる用紙の地色と、の中から選択される２色であることが好ましい。例えば、第１色と第２色との組み合わせは、印刷に用いられる色材の色であるシアン、マゼンタ、イエロ、黒と、用紙の地色である白と、から成る５色の中から選択される２色であることが好ましい。この場合には、処理済画像データに対してハーフトーン処理を実行して得られる印刷画像（網点画像）においても、第１色と第２色との境界は、鮮明のままで維持される。
【０１５３】
（２）図９の文字画素特定処理では、二値画像データによって特定される複数個のエッジ画素の中から、文字画素が特定される（図８のＳ４０５）。これに代えて、例えば、非エッジ画素を含む全ての画素の中から、文字画素が特定されても良い。例えば、図９のＳ４０５では、注目領域に外接する矩形領域ＳＡ内の全ての画素が注目画素として選択されても良い。１１０は省略されても良い。
【０１５４】
（３）図９の文字画素特定処理において、文字画素として特定するための条件は、一例であり、これに限られない。例えば、実施例の第２文字色範囲よりも狭く、かつ、文字色を含む範囲内の画素の値を有する画素は、全て文字画素として特定されても良い。
【０１５５】
（４）図１３の背景画素特定処理において、背景画素として特定するための条件は、一例であり、これに限られない。例えば、文字画素の４方向に隣接する画素のうち、文字画素でなく、かつ、最も背景に近い画素を、背景画素として特定しても良い。また、上記実施例の確認画素数Ｍの値は、スキャンデータの読取解像度に関わらずに、一定の値（例えば、２）であっても良い。
【０１５６】
（５）上記実施例では、スキャンデータの各画素の値は、ＲＧＢ値であるが、他の表色系の色値であっても良い。例えば、スキャンデータの各画素の値は、Ｃ、Ｍ、Ｙの３個の成分値を含むＣＭＹ表色系の色値であっても良い。
【０１５７】
（６）上記実施例では、エッジ画素に対して、エッジ鮮鋭化処理が実行され（図２のＳ７０）、非エッジ画素に対して、網点平滑化処理が実行される（図２のＳ６５）。これに代えて、エッジ画素に対しては、文字の見栄えを向上するためのアンチエイリアス処理が実行されても良い。また、非エッジ画素に対しては、例えば、印刷時の色材の使用量を減らすために、色を飛ばす処理（白に変換する処理）が実行されても良い。一般的には、エッジ画素と、エッジ画素と、に互いに異なる画像処理が実行されることが好ましい。あるいは、エッジ画素と非エッジ画素のいずれか一方に対して、特定の画像処理が実行され、他方に対して、該特定の画像処理が実行されなくても良い。
【０１５８】
（７）上記実施例では、対象画像データは、スキャンデータであるが、これに限られない。対象画像データは、２次元イメージセンサを備えるデジタルカメラによって印刷物を読み取ることによって生成されても良い。
【０１５９】
（８）上記実施例では、処理済画像データは、処理済画像を印刷するために用いられている（図２のＳ７５、Ｓ８０）。これに限らず、処理済画像データは、処理済画像を液晶ディスプレイなどの表示部に表示するために用いられても良い。
【０１６０】
（９）図２の画像処理を実現する画像処理装置は、複合機２００に限らず、種々の装置であってよい。例えば、スキャナやデジタルカメラが、自身で生成された対象画像データを用いて、プリンタに供給するための印刷データを生成するために、図２の画像処理を実行しても良い。また、例えば、スキャナやプリンタと通信可能な接続される端末装置（例えば、端末装置１００）やサーバ（図示省略）が、スキャナから取得したスキャンデータを用いて、図２の画像処理を実行して、印刷データを生成し、該印刷データをプリンタに供給しても良い。また、ネットワークを介して互いに通信可能な複数個のコンピュータ（例えば、クラウドサーバ）が、画像処理に要する機能を一部ずつ分担して、全体として、画像処理を実行してもよい。この場合、複数個のコンピュータの全体が、画像処理装置の例である。
【０１６１】
（１０）上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図２のＳ５５の文字・背景画素置換処理や、Ｓ７０のエッジ鮮鋭化処理は、ＡＳＩＣなどの専用のハードウェアによって、実行されても良い。
【０１６２】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【０１６３】
１００…端末装置、２００…複合機、２１０…ＣＰＵ、２２０…揮発性記憶装置、２３０…不揮発性記憶装置、２４０…表示部、２５０…操作部、２７０…通信ＩＦ、２８０…印刷実行部、２９０…読取実行部、Ｄ１…第１方向、Ｄ２…第２方向、ＴＡ…内側領域、ＢＡ…外側領域、ＭＡ…中間領域、ＰＧ…コンピュータプログラム、ＢＩ…二値画像、ＯＩ…処理済画像、ＧＩ…平滑化画像、ＦＩ…処理済画像、ＳＩ…スキャン画像
【図１】
2020052892.tif 000004
【図２】
2020052892.tif 000005
【図３】
2020052892.tif 000006
【図４】
2020052892.tif 000007
【図５】
2020052892.tif 000008
【図６】
2020052892.tif 000009
【図７】
2020052892.tif 000010
【図８】
2020052892.tif 000011
【図９】
2020052892.tif 000012
【図１０】
2020052892.tif 000013
【図１１】
2020052892.tif 000014
【図１２】
2020052892.tif 000015
【図１３】
2020052892.tif 000016
【図１４】
2020052892.tif 000017
【図１５】
2020052892.tif 000018
【図１６】
2020052892.tif 000019