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