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