(57)【特許請求の範囲】
【請求項１】
３以上の階調によって再現されかつ線画を表わす線画部分および下地を表わす下地部分を含む多値画像を二値化する画像処理装置であって、
第一の閾値および当該第一の閾値よりも小さい第二の閾値を決定する閾値決定手段と、
前記多値画像の画素のうちの前記線画部分と前記下地部分との境界にある境界画素の階調が前記第一の閾値および前記第二の閾値の間にある場合に、当該境界画素の二値を、当該境界画素の近隣の特定の位置にある特定位置画素について既に決定した二値と同じ値に決定する、二値決定手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記閾値決定手段は、前記第一の閾値を、前記境界画素の周囲にある複数の周囲画素それぞれの階調のうちの最大値よりも小さな値に決定し、前記第二の閾値を、当該階調のうちの最小値よりも大きな値に決定する、
請求項１に記載の画像処理装置。
【請求項３】
前記閾値決定手段は、前記第一の閾値を、前記複数の周囲画素それぞれの階調の平均値、中央値、および最大値と最小値との和を２で割った値のうちのいずれかの値と、第一の特定の値と、の和に決定し、前記第二の閾値を、当該いずれかの値から前記第一の特定の値を引いた値に決定する、
請求項２に記載の画像処理装置。
【請求項４】
前記多値画像は、画像読取装置によって読み取られた画像であって、
前記閾値決定手段は、前記画像読取装置の読取り誤差が大きいほど大きい値を前記第一の特定の値として用いることによって、前記第一の閾値および前記第二の閾値を決定する、
請求項３に記載の画像処理装置。
【請求項５】
前記多値画像の階調は、明度であり、
前記閾値決定手段は、前記境界画素および当該境界画素における前記境界との接線の上に並ぶ近隣の１つまたは複数の接線上画素それぞれの明度と、前記下地部分の側に隣接する画素の明度との、差の絶対値のうちの、最大の絶対値を、前記第一の特定の値として用いることによって、前記第一の閾値を決定し、当該境界画素および当該１つまたは複数の接線上画素それぞれの明度と、前記線画部分の側に隣接する画素の明度との、差の絶対値のうちの、最小の絶対値を、前記第一の特定の値として用いることによって、前記第二の閾値を決定する、
請求項３に記載の画像処理装置。
【請求項６】
前記閾値決定手段は、前記第一の閾値を、前記最大値から第二の特定の値を引いた値に決定し、前記第二の閾値を、前記最小値と前記第二の特定の値との和に決定する、
請求項２に記載の画像処理装置。
【請求項７】
前記多値画像は、画像読取装置によって読み取られた画像であって、
前記閾値決定手段は、前記画像読取装置の読取り誤差が大きいほど小さい値を前記第二の特定の値として用いることによって、前記第一の閾値および前記第二の閾値を決定する、
請求項６に記載の画像処理装置。
【請求項８】
前記特定位置画素は、階調が前記第一の閾値および前記第二の閾値の間にある画素である、
請求項１ないし請求項７のいずれかに記載の画像処理装置。
【請求項９】
前記特定位置画素は、前記境界画素に隣接する画素のうち当該境界画素との階調の差の絶対値が最も小さい画素である、
請求項１ないし請求項７のいずれかに記載の画像処理装置。
【請求項１０】
前記特定位置画素は、前記境界画素の周囲のうちの、既に決定された二値が同じでありかつ同一の方向に所定の個数以上並んでいる画素である、
請求項１ないし請求項７のいずれかに記載の画像処理装置。
【請求項１１】
前記多値画像に対してスムージングの処理を行うスムージング処理手段、を有し、
前記閾値決定手段は、前記スムージングの処理がなされた後の前記多値画像に基づいて前記第一の閾値および前記第二の閾値を決定し、
前記二値決定手段は、前記スムージングの処理がなされた後の前記多値画像に基づいて前記境界画素の二値を決定する、
請求項１ないし請求項１０のいずれかに記載の画像処理装置。
【請求項１２】
前記スムージング処理手段は、前記多値画像の画素ごとに、複数の方向のそれぞれについて平滑化を行って得られる階調のうち当該画素の階調に最も近い階調を選択することによって、前記スムージングの処理を行う、
請求項１１に記載の画像処理装置。
【請求項１３】
前記スムージング処理手段は、前記多値画像の画素ごとに、エッジ方向について平滑化を行うことによって、前記スムージングの処理を行う、
請求項１１に記載の画像処理装置。
【請求項１４】
３以上の階調によって再現されかつ線画を表わす線画部分および下地を表わす下地部分を含む多値画像を二値化する画像処理方法であって、
第一の閾値および当該第一の閾値よりも小さい第二の閾値を決定し、
前記多値画像の画素のうちの前記線画部分と前記下地部分との境界にある境界画素の階調が前記第一の閾値および前記第二の閾値の間にある場合に、当該境界画素の二値を、当該境界画素の近隣の特定の位置にある特定位置画素について既に決定した二値と同じ値に決定する、
ことを特徴とする画像処理方法。
【請求項１５】
３以上の階調によって再現されかつ線画を表わす線画部分および下地を表わす下地部分を含む多値画像を二値化するコンピュータに用いられるコンピュータプログラムであって、
前記コンピュータに、
第一の閾値および当該第一の閾値よりも小さい第二の閾値を決定する処理を実行させ、
前記多値画像の画素のうちの前記線画部分と前記下地部分との境界にある境界画素の階調が前記第一の閾値および前記第二の閾値の間にある場合に、当該境界画素の二値を、当該境界画素の近隣の特定の位置にある特定位置画素について既に決定した二値と同じ値に決定する処理を実行させる、
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、いわゆる多値画像を二値化する技術に関する。
【背景技術】
【０００２】
文字または図形などの線画を含む、複数の階調によって表わされる画像を、二値画像に変換する技術が、知られている。画像の中の、明度が所定の明度以上である画素を白の画素に置き換え、明度が所定の明度未満である画素を黒の画素に置き換えることによって、二値画像に変換する技術が、よく知られている。
【０００３】
ところが、この画像がスキャナで読み取ったものである場合に、この技術では、線画の部分と下地（背景）の部分との境界が、直線または滑らかな曲線であるにも関わらず、二値画像に変換すると、がたついてしまうことがある。スキャナが検知する各画素の明度と実際の明度とにずれが生じることがあるからである。つまり、いわゆる読取り誤差に起因している。
【０００４】
エッジのがたつきの発生を抑える方法として、次の技術が提案されている。入力多値画像データを閾値データと比較し、２値化処理する２値化処理部と、２値化データとテンプレートデータとを比較し、スムージング可否を判定するテンプレートマッチング処理部と、スムージング対象であると判定された画素を、スムージング・データに基づいて補間・修正し、多値データに変換するスムージング処理部と、閾値データとテンプレートデータとスムージング・データが設定されるレジスタと、スムージング処理された多値画素データと入力多値画像データとが入力され、スムージング対象のときにスムージング処理後の多値画素データを選択・出力し、スムージング対象外のときに元データを選択・出力するデータ・セレクタと、を、画像形成装置に設ける（特許文献１）。
【０００５】
または、ドットマトリクス状の画像について画素補間する際、画像データを入力したら、注目画素を全画像にわたってスキャンさせていき、当該注目画素を基準としてエッジが４５゜方向あるいは１３５゜方向に存在しているか否かを検出し、同角度のエッジである場合には４５゜方向あるいは１３５゜方向で平滑化しておき、その後でエッジの有無に関わらずに画素補間する（特許文献２）。
【特許文献１】特開２０００−９２３２７号公報
【特許文献２】特開２０００−１２３１６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に記載される技術によると、エッジの様々ながたつきに対処するには、様々なパターンのテンプレートを用意しなければならない。
【０００７】
また、特許文献２に記載される技術によると、読取り誤差に起因するエッジのがたつきを抑えることができない。
【０００８】
本発明は、このような問題点に鑑み、スキャナの読取り誤差に起因するエッジのがたつきを従来よりも容易に抑えて多値画像のエッジを二値化することを、目的とする。
【課題を解決するための手段】
【０００９】
本発明の一形態に係る画像処理装置は、３以上の階調によって再現されかつ線画を表わす線画部分および下地を表わす下地部分を含む多値画像を二値化する画像処理装置であって、第一の閾値および当該第一の閾値よりも小さい第二の閾値を決定する閾値決定手段と、前記多値画像の画素のうちの前記線画部分と前記下地部分との境界にある境界画素の階調が前記第一の閾値および前記第二の閾値の間にある場合に、当該境界画素の二値を、当該境界画素の近隣の特定の位置にある特定位置画素について既に決定した二値と同じ値に決定する、二値決定手段と、を有する。
【００１０】
好ましくは、前記閾値決定手段は、前記第一の閾値を、前記境界画素の周囲にある複数の周囲画素それぞれの階調のうちの最大値よりも小さな値に決定し、前記第二の閾値を、当該階調のうちの最小値よりも大きな値に決定する。
【００１１】
または、前記第一の閾値を、前記複数の周囲画素それぞれの階調の平均値、中央値、および最大値と最小値との和を２で割った値のうちのいずれかの値と、第一の特定の値と、の和に決定し、前記第二の閾値を、当該いずれかの値から前記第一の特定の値を引いた値に決定する。前記多値画像が、画像読取装置によって読み取られた画像である場合は、前記閾値決定手段は、前記画像読取装置の読取り誤差が大きいほど大きい値を前記第一の特定の値として用いることによって、前記第一の閾値および前記第二の閾値を決定する。
【００１２】
または、前記多値画像の階調は、明度であり、前記閾値決定手段は、前記境界画素および当該境界画素における前記境界との接線の上に並ぶ近隣の１つまたは複数の接線上画素それぞれの明度と、前記下地部分の側に隣接する画素の明度との、差の絶対値のうちの、最大の絶対値を、前記第一の特定の値として用いることによって、前記第一の閾値を決定し、当該境界画素および当該１つまたは複数の接線上画素それぞれの明度と、前記線画部分の側に隣接する画素の明度との、差の絶対値のうちの、最小の絶対値を、前記第二の特定の値として用いることによって、前記第二の閾値を決定する。
【００１３】
または、前記閾値決定手段は、前記第一の閾値を、前記最大値から第二の特定の値を引いた値に決定し、前記第二の閾値を、前記最小値と前記第二の特定の値との和に決定する。前記多値画像が、画像読取装置によって読み取られた画像である場合は、前記閾値決定手段は、前記画像読取装置の読取り誤差が大きいほど小さい値を前記第二の特定の値として用いることによって、前記第一の閾値および前記第二の閾値を決定する。
【００１４】
または、前記特定位置画素は、階調が前記第一の閾値および前記第二の閾値の間にある画素である。または、前記境界画素に隣接する画素のうち当該境界画素との階調の差の絶対値が最も小さい画素である。または、前記境界画素の周囲のうちの、既に決定された二値が同じでありかつ同一の方向に所定の個数以上並んでいる画素である。
【００１５】
または、前記多値画像に対してスムージングの処理を行うスムージング処理手段、を有し、前記閾値決定手段は、前記スムージングの処理がなされた後の前記多値画像に基づいて前記第一の閾値および前記第二の閾値を決定し、前記二値決定手段は、前記スムージングの処理がなされた後の前記多値画像に基づいて前記境界画素の二値を決定する。例えば、前記スムージング処理手段は、前記多値画像の画素ごとに、複数の方向のそれぞれについて平滑化を行って得られる階調のうち当該画素の階調に最も近い階調を選択することによって、前記スムージングの処理を行う。または、前記多値画像の画素ごとに、エッジ方向について平滑化を行うことによって、前記スムージングの処理を行う。
【発明の効果】
【００１６】
本発明によると、スキャナの読取り誤差に起因するエッジのがたつきを従来よりも容易に抑えて多値画像のエッジを二値化することができる。
【図面の簡単な説明】
【００１７】
【図１】画像形成装置を含む画像処理システム全体の例を示す図である。
【図２】画像形成装置のハードウェア構成の例を示す図である。
【図３】多値画像の例を示す図である。
【図４】画像編集回路の構成の例を示す図である。
【図５】平滑処理部の例を示す図である。
【図６】注目画素と周囲画素との関係の例および平均明度の算出の例を説明するための図である。
【図７】最小方向の判定の仕方の例を説明するための図である。
【図８】規定マトリクスの例を示す図である。
【図９】内外判定処理の流れの例を説明するフローチャートである。
【図１０】上限閾値および下限閾値の決定の仕方の変形例を説明するための図である。
【図１１】上限閾値および下限閾値の決定の仕方の変形例を説明するための図である。
【図１２】平滑処理部の変形例を示す図である。
【図１３】注目画素が文字の内外いずれの画素であるのかを判定する方法の変形例を説明するための図である。
【図１４】画像形成装置の全体的な処理の流れの例を説明するフローチャートである。
【図１５】画像形成装置の全体的な処理の流れの変形例を説明するフローチャートである。
【発明を実施するための形態】
【００１８】
図１は、画像形成装置１を含む画像処理システム全体の例を示す図である。図２は、画像形成装置１のハードウェア構成の例を示す図である。図３は、多値画像５の例を示す図である。
【００１９】
図１に示す画像形成装置１は、一般に複合機またはＭＦＰ（Multi Function Peripherals）などと呼ばれる装置であって、コピー、ネットワークプリンティング（ＰＣプリント）、ファックス、およびスキャナなどの機能を集約した装置である。
【００２０】
画像形成装置１は、ＬＡＮ（Local Area Network）、公衆回線、またはインターネットなどの通信回線ＮＷを介してパーソナルコンピュータ４などの装置と画像データのやり取りを行うことができる。
【００２１】
画像形成装置１は、図２に示すように、ＣＰＵ（Central Processing Unit）１０ａ、ＲＡＭ（Random Access Memory）１０ｂ、ＲＯＭ（Read Only Memory）１０ｃ、大容量記憶装置１０ｄ、スキャンユニット１０ｅ、プリントユニット１０ｆ、ＮＩＣ（Network Interface Card）１０ｇ、操作パネル１０ｈ、モデム１０ｉ、および画像編集回路１０ｊのほか制御用の回路などによって構成される。
【００２２】
ＮＩＣ１０ｇは、通信回線ＮＷを介してＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）などのプロトコルによってパーソナルコンピュータ４などと通信を行うための装置である。
【００２３】
モデム１０ｉは、固定電話網を介してＧ３などのプロトコルでファックス端末などと画像データをやり取りするための装置である。
【００２４】
操作パネル１０ｈは、タッチパネルディスプレイおよびキー群などによって構成される。
【００２５】
タッチパネルディスプレイは、ユーザに対するメッセージを与えるための画面、処理の結果を示す画面、またはユーザが画像形成装置１に対して指示を入力するための画面などを表示する。また、タッチパネルディスプレイは、タッチされた（押された）位置を検知し、ＣＰＵ１０ａへその位置を通知する。
【００２６】
キー群は、テンキー、スタートキー、およびストップキーなどのキーによって構成される。
【００２７】
ユーザは、操作パネルを操作することによって、画像形成装置１に対してコマンドを与えたりデータを入力したりすることができる。
【００２８】
スキャンユニット１０ｅは、用紙に記されている写真、文字、絵、図表などの画像を読み取って画像データを生成する装置である。
【００２９】
画像編集回路１０ｊは、スキャンユニット１０ｅによって読み取られた画像またはパーソナルコンピュータ４などから送信されてきた画像を二値画像に変換するための処理を行う。
【００３０】
印刷装置１０ｆは、スキャンユニット１０ｅによって読み取られた画像またはパーソナルコンピュータ４などから送信されてきた画像を用紙に印刷する。画像編集回路１０ｊによって処理が施された画像を印刷することもできる。
【００３１】
ＲＯＭ１０ｃおよび大容量記憶装置１０ｄには、上述の機能を実現するためのオペレーティングシステム、ミドルウェア、およびアプリケーションなどのソフトウェアが記憶されている。各ソフトウェアを構成するモジュールは必要に応じてＲＡＭ１０ｂにロードされ、ＣＰＵ１０ａによって実行される。大容量記憶装置１０ｄとして、ハードディスクドライブまたはＳＳＤ（Solid State Drive）などが用いられる。
【００３２】
以下、スキャンユニット１０ｅによって読み取られた図３（Ａ）のような多値画像５を二値画像に変換する場合を例に、説明する。多値画像５は、階調が３以上である画像である。例えば多値画像５が８ビットの画像である場合は、多値画像５の階調は２５６階調である。また、図３（Ｂ）に示すように、文字を表わす領域である文字領域５１および文字の下地（背景）を表わす領域である下地領域５２によって構成される。
【００３３】
図４は、画像編集回路１０ｊの構成の例を示す図である。図５は、平滑処理部１０１の例を示す図である。図６は、注目画素６Ｃと周囲画素６Ｓとの関係の例および平均明度の算出の例を説明するための図である。図７は、最小方向の判定の仕方の例を説明するための図である。図８は、規定マトリクスＭＴの例を示す図である。図９は、内外判定処理の流れの例を説明するフローチャートである。
【００３４】
画像編集回路１０ｊは、図４に示すように、平滑処理部１０１、二値化閾値決定部１０２、内外判定部１０３、画素二値化処理部１０４、および判定実績データ記憶部１０５などによって構成される。
【００３５】
平滑処理部１０１は、多値画像５の画像データがスキャンユニット１０ｅから入力されると、多値画像５の中の文字の輪郭（つまり、文字領域５１と下地領域５２との境界）のがたつきが抑えるための処理を例えば次のように実行する。
【００３６】
図５に示すように、平滑処理部１０１は、指向性スムージング処理部１２１、差分演算部１２２、およびセレクタ１２３などによって構成される。そして、多値画像５の画素ごとの画素値を、その周囲の画素の画素値に基づいて補正する。以下、画素値として明度を用いる場合を説明する。また、多値画像５を構成する画素のうちの、処理の対象を「注目画素６Ｃ」と記載し、注目画素６Ｃの周囲にある画素を「周囲画素６Ｓ」と記載する。
【００３７】
指向性スムージング処理部１２１は、多値画像５の画像データが入力されると、図６（Ａ）のように、多値画像５の中からの画素を１つ選出し、これを注目画素６Ｃとする。そして、図６（Ｂ）に示す注目画素６Ｃの明度およびこれに隣接する上および下それぞれの周囲画素６Ｓの明度の平均の明度、つまり、（Ｄm,n＋Ｄm,n-1＋Ｄm,n+1）／３、を算出する。以下、この平均の明度を「平均明度Ｄｖ１」と記載する。
【００３８】
同様に、指向性スムージング処理部１２１は、図６（Ｃ）に示す注目画素６Ｃの明度およびこれに隣接する左および右それぞれの周囲画素６Ｓの明度の平均の明度、つまり、（Ｄm,n＋Ｄm-1,n＋Ｄm+1,n）／３、を算出する。以下、この平均の明度を「平均明度Ｄｖ２」と記載する。図６（Ｄ）に示す注目画素６Ｃの明度およびこれに隣接する右上および左下それぞれの周囲画素６Ｓの明度の平均、つまり、（Ｄm,n＋Ｄm-1,n+1＋Ｄm+1,n-1）／３、を算出する。以下、この平均の明度を「平均明度Ｄｖ３」と記載する。図６（Ｅ）に示す注目画素６Ｃの明度およびこれに隣接する左上および右下それぞれの周囲画素６Ｓの明度の平均、つまり、（Ｄm,n＋Ｄm-1,n-1＋Ｄm+1,n+1）／３、を算出する。以下、この平均の明度を「平均明度Ｄｖ４」と記載する。
【００３９】
そして、指向性スムージング処理部１２１は、平均明度Ｄｖ１〜Ｄｖ４を示す平均明度データ３Ａを差分演算部１２２およびセレクタ１２３へ送出する。なお、図６（Ｂ）〜（Ｅ）の例では、３つの画素の明度の平均値を算出したが、３つよりも多い個数（例えば、７つ）の画素の明度の平均値を算出してもよい。
【００４０】
差分演算部１２２は、指向性スムージング処理部１２１によって算出された明度と注目画素６Ｃの明度および所定の方向にある周囲画素６Ｓの明度それぞれとの差の絶対値の合計値を算出する。具体的には、次の４つの値を算出する。
【００４１】
上下方向については、差分演算部１２２は、平均明度Ｄｖ１と注目画素６Ｃおよび上下方向に位置する近隣の所定の個数の周囲画素６Ｓそれぞれの明度との差の絶対値を算出し、その合計値を算出する。所定の個数は、二値化閾値決定部１０２が使用する後述の規定マトリクスＭＴ（図８参照）の一辺のサイズ（画素数）と同じであるのが好ましいが、他の値であってもよい。
【００４２】
例えば、所定の個数が「７」である場合は、差分演算部１２２は、平均明度Ｄｖ１と図７（Ａ）に示す注目画素６Ｃ、直上の３つの周囲画素６Ｓ、および直下の３つの周囲画素６Ｓそれぞれの明度との差の絶対値を算出する。これにより、７つの絶対値が得られる。そして、７つの絶対値の合計値を算出する。つまり、｜Ｄm,n-3−Ｄｖ１｜＋｜Ｄm,n-2−Ｄｖ１｜＋｜Ｄm,n-1−Ｄｖ１｜＋｜Ｄm,n−Ｄｖ１｜＋｜Ｄm,n+1−Ｄｖ１｜＋｜Ｄm,n+2−Ｄｖ１｜＋｜Ｄm,n+3−Ｄｖ１｜、を算出する。以下、この合計値を「差分値Ｄｓ１」と記載する。
【００４３】
左右方向、右上と左下とを結ぶ方向、および左上と右下とを結ぶ方向についても同様に、平均明度Ｄｖ１〜Ｄｖ３と図７（Ｂ）、（Ｃ）、および（Ｄ）にそれぞれ示す注目画素６Ｃおよび各方向の直ぐ近くの６つの周囲画素６Ｓそれぞれの明度との差の絶対値を算出し合計することによって、「差分値Ｄｓ２」、「差分値Ｄｓ３」、および「差分値Ｄｓ４」を算出する。
【００４４】
つまり、差分値Ｄｓ２として、｜Ｄm-3,n−Ｄｖ２｜＋｜Ｄm-2,n−Ｄｖ２｜＋｜Ｄm-1,n−Ｄｖ２｜＋｜Ｄm,n−Ｄｖ２｜＋｜Ｄm+1,n−Ｄｖ２｜＋｜Ｄm+2,n−Ｄｖ２｜＋｜Ｄm+3,n−Ｄｖ２｜、を算出する。
【００４５】
差分値Ｄｓ３として、｜Ｄm-3,n+3−Ｄｖ３｜＋｜Ｄm-2,n+2−Ｄｖ３｜＋｜Ｄm-1,n+1−Ｄｖ３｜＋｜Ｄm,n−Ｄｖ３｜＋｜Ｄm+1,n-1−Ｄｖ３｜＋｜Ｄm+2,n-2−Ｄｖ３｜＋｜Ｄm+3,n-3−Ｄｖ３｜、を算出する。
【００４６】
差分値Ｄｓ４として、｜Ｄm-3,n-3−Ｄｖ３｜＋｜Ｄm-2,n-2−Ｄｖ３｜＋｜Ｄm-1,n-1−Ｄｖ３｜＋｜Ｄm,n−Ｄｖ３｜＋｜Ｄm+1,n+1−Ｄｖ３｜＋｜Ｄm+2,n+2−Ｄｖ３｜＋｜Ｄm+3,n+3−Ｄｖ３｜、を算出する。
【００４７】
そして、差分演算部１２２は、差分値Ｄｓ１〜Ｄｓ４のうち最も小さい差分値に係る方向を示す最小方向データ３Ｂをセレクタ１２３へ送出する。
【００４８】
セレクタ１２３は、指向性スムージング処理部１２１から入力された平均明度データ３Ａに示される平均明度Ｄｖ１〜Ｄｖ４のうち、差分演算部１２２から入力された最小方向データ３Ｂに示される方向に係る平均明度を選択する。例えば、上下方向が最小方向データ３Ｂに示される場合は、平均明度Ｄｖ１を選択する。
【００４９】
選択した平均明度が、注目画素６Ｃの、スムージング（平滑化）によって補正された新たな値である。
【００５０】
そして、セレクタ１２３は、選択した平均明度をスムージング明度Ｄｈとして示す補正値データ３Ｃを二値化閾値決定部１０２へ送出する。
【００５１】
指向性スムージング処理部１２１ないしセレクタ１２３は、多値画像５の各画素を順次、注目画素６Ｃとして選択し、上述の処理を実行する。これにより、多値画像５の全体が平滑化される。
【００５２】
図４に戻って、二値化閾値決定部１０２ないし画素二値化処理部１０４は、平滑化された多値画像５の文字輪郭部の画素を１つずつ順に走査するように注目画素６Ｃとして選出し、注目画素６Ｃを黒および白のいずれかの画素に置換する。つまり、二値化する。なお、「文字輪郭部」は、文字領域５１と下地領域５２との境界およびその付近の部分である。以下、左から右への方向を主走査方向とし、上から下への方向を副走査方向とする場合を例に、各部の処理について説明する。
【００５３】
二値化閾値決定部１０２は、注目画素６Ｃを黒および白のいずれかに決定するための閾値を、次のように決定する。
【００５４】
二値化閾値決定部１０２は、規定マトリクスＭＴを、その中心のセルが注目画素６Ｃに一致するように多値画像５に重ねる。１つの画素に１つのセルが重なる。以下、図８に示すような７×７個のセルからなる規定マトリクスＭＴを使用する場合を例に説明する。
【００５５】
二値化閾値決定部１０２は、規定マトリクスＭＴの各セルに重なった画素の明度の平均値を、平均明度Ｄｇとして算出する。つまり、注目画素６Ｃの明度およびこれを囲む直ぐ近くの４８個の周囲画素６Ｓそれぞれの明度すなわち４９個の画素の明度の平均値を、平均明度Ｄｇとして算出する。
【００５６】
そして、次の（１）〜（３）式に基づいて、中央閾値ＲＥＦｃ、上限閾値ＲＥＦｕ、および下限閾値ＲＥＦｂを算出する。
ＲＥＦｃ＝Ｄｇ  ……  （１）
ＲＥＦｕ＝Ｄｇ＋ＤＲ／β  ……  （２）
ＲＥＦｂ＝Ｄｇ−ＤＲ／β  ……  （３）
ただし、（２）式および（３）式において、ＤＲは、規定マトリクスＭＴが重なった画素の明度のうちの最低値Ｄｍｉｎから最高値Ｄｍａｘへの変化量である。つまり、Ｄｍａｘ−Ｄｍｉｎ、である。
【００５７】
また、βは、１以上の値であって、スキャンユニット１０ｅの読取りの正確性によって決まる。正確性が高いほど、つまり、いわゆる読取り誤差が小さいほど、大きい値がβとして用いられ、読取り誤差が大きいほど、小さい値が用いられる。正確性（読取り誤差）とβとの関係を表わすテーブルまたは関数を予め用意しておき、これに基づいてβを決めればよい。読取り誤差は、予め、所定の画像が記された用紙をスキャンユニット１０ｅに読み取らせ、読取りの結果と用紙の画像とを比較することによって求めておけばよい。
【００５８】
内外判定部１０３は、注目画素６Ｃを、文字側（つまり、文字の内側）の画素とすべきか下地側（つまり、文字の外側）の画素とすべきかを、図９に示す方法によって判定する。
【００５９】
判定実績データ記憶部１０５に判定実績データ３Ｄが記憶されていない場合は（図９の＃８０１でＮｏ）、内外判定部１０３は、平滑処理部１０１によって算出されたスムージング明度Ｄｈが、二値化閾値決定部１０２によって決定された中央閾値ＲＥＦｃよりも大きければ（＃８０２でＹｅｓ）、注目画素６Ｃを文字の外側の画素とすべきであると、判定する（＃８０３）。一方、スムージング明度Ｄｈが中央閾値ＲＥＦｃよりも小さければ（＃８０２でＮｏ）、文字の内側の画素とすべきであると、判定する（＃８０４）。
【００６０】
なお、スムージング明度Ｄｈと中央閾値ＲＥＦｃとが等しい場合は、文字の外側の画素にすべきと判定してもよいし、文字の内側の画素にすべきと判定してもよい。同様に、後述する、算出した値と閾値との比較においても、同値の場合にどのように判定（決定）すべきかは、予め任意に決めておけばよい。
【００６１】
そして、内外判定部１０３による判定の結果（文字の外側の画素とすべきか、または、文字の内側の画素とすべきか）を示すデータを、判定実績データ３Ｄとして判定実績データ記憶部１０５に記憶させる（＃８０６）。
【００６２】
ただし、スムージング明度Ｄｈが下限閾値ＲＥＦｂと上限閾値ＲＥＦｕとの間に入っていない場合は（＃８０５でＮｏ）、記憶させない。
【００６３】
一方、判定実績データ記憶部１０５に判定実績データ３Ｄが記憶されている場合は（＃８０１でＹｅｓ）、内外判定部１０３は、スムージング明度Ｄｈが下限閾値ＲＥＦｂと上限閾値ＲＥＦｕとの間に入っていれば（＃８０７でＹｅｓ）、判定実績データ３Ｄに示される通りにすべきであると、決定する（＃８０８）。つまり、文字の外側の画素にすべきであると判定実績データ３Ｄに示されていれば、文字の外側の画素にすべきであると判定し、文字の内側の画素にすべきであると示されていれば、文字の内側の画素にすべきであると判定する。判定実績データ３Ｄは、引き続きそのまま判定実績データ記憶部１０５に記憶される。
【００６４】
入っていなければ（＃８０７でＮｏ）、スムージング明度Ｄｈが中央閾値ＲＥＦｃよりも大きければ（＃８０９でＹｅｓ）、文字の外側の画素とすべきであると、判定する（＃８１０）。小さければ（＃８０９でＮｏ）、文字の内側の画素とすべきであると、判定する（＃８１１）。そして、内外判定部１０３に記憶されている判定実績データ３Ｄを削除する（＃８１２）。
【００６５】
二値化閾値決定部１０２および内外判定部１０３は、上述の処理を、多値画像５の文字輪郭部の各画素を注目画素６Ｃとして実行する。これにより、多値画像５の文字輪郭部の各画素を白色の画素にすべきか黒色の画素にすべきかが、決定される。
【００６６】
画素二値化処理部１０４は、注目画素６Ｃの二値化を、例えば次のように行う。文字の外側にすべきであると内外判定部１０３によって判定された場合は、二値化後の多値画像５の中の、注目画素６Ｃと同じ位置の画素を、白色を表わす値（例えば、「０」）に決定する。一方、文字の内側にすべきであると判定された場合は、黒色を表わす値（例えば、「１」）に決定する。そして、各画素の位置および決定した値を表わすデータを生成することによって、二値画像７のデータを生成する。
【００６７】
なお、文字輪郭部以外の部分についても二値化閾値決定部１０２および内外判定部１０３の上述の処理を行ってもよい。または、上述の処理を行うことなく、文字領域５１のうちの文字輪郭部以外の部分の各画素を、黒色を表わす値に二値化し、下地領域５２のうちの文字輪郭部以外の部分を、白色を表わす値に二値化してもよい。
【００６８】
本実施形態によると、一定の範囲の明度を有する画素については、二値を、その近隣の他の画素について既に決定した二値と同じ値に決定する。よって、スキャンユニット１０ｅの読取り誤差に起因する文字の境界（エッジ）のがたつきを従来よりも容易に抑えることができる。
【００６９】
図１０は、上限閾値ＲＥＦｕおよび下限閾値ＲＥＦｂの決定の仕方の変形例を説明するための図である。図１１は、上限閾値ＲＥＦｕおよび下限閾値ＲＥＦｂの決定の仕方の変形例を説明するための図である。図１２は、平滑処理部１０１の変形例を示す図である。図１３は、注目画素６Ｃが文字の内外いずれの画素であるのかを判定する方法の変形例を説明するための図である。図１４は、画像形成装置１の全体的な処理の流れの例を説明するフローチャートである。
【００７０】
上述の実施形態では、中央閾値ＲＥＦｃ、上限閾値ＲＥＦｕ、および下限閾値ＲＥＦｂを、注目画素６Ｃおよびこれを囲む周囲画素６Ｓの明度の平均値つまり平均明度Ｄｇを用いて算出したが、図１０（Ａ）のように、これらの画素の中央の値である明度中央値Ｄｃを用いてもよい。この場合は、（１）〜（３）式に平均明度Ｄｇの代わりに明度中央値Ｄｃを適用すればよい。なお、明度中央値Ｄｃは、最低値Ｄｍｉｎと最高値Ｄｍａｘとの和を２で割った値である。または、明度中央値Ｄｃは、注目画素６Ｃおよびこれを囲む周囲画素６Ｓの明度のうちの、ちょうど真ん中の順位の明度である。
【００７１】
または、図１０（Ｂ）のように、下限閾値ＲＥＦｂとして、最低値Ｄｍｉｎ＋ＤＲ／γ、を用い、上限閾値ＲＥＦｕとして、最高値Ｄｍａｘ−ＤＲ／γ、を用いてもよい。なお、γは、１以上の値であって、スキャンユニット１０ｅの読取り誤差によって決まる。読取り誤差が小さいほど、小さい値がγとして用いられ、読取り誤差が大きいほど、大きい値が用いられる。
【００７２】
または、次の（４）式および（５）式を用いて上限閾値ＲＥＦｕおよび下限閾値ＲＥＦｂを算出してもよい。
上限閾値ＲＥＦｕ＝Ｄｇ＋ＤＥｍａｘ  ……  （４）
下限閾値ＲＥＦｂ＝Ｄｇ−ＤＭｍａｘ  ……  （５）
ただし、ＤＥｍａｘは、差分ΔＤ１１，ΔＤ２１，ΔＤ３１，ΔＤ４１，ΔＤ５１，ΔＤ６１，およびΔＤ７１のうちの最大値である。ＤＭｍａｘは、差分ΔＤ１２，ΔＤ２２，ΔＤ３２，ΔＤ４２，ΔＤ５２，ΔＤ６２，およびΔＤ７２のうちの最大値である。
【００７３】
図１１に示すように、差分ΔＤ４１は、注目画素６Ｃの明度と注目画素６Ｃにおける濃淡の変化方向（つまり、エッジ方向）の淡い側に隣接する周囲画素６Ｓ４１の明度との差の絶対値である。差分ΔＤ４２は、注目画素６Ｃの明度と濃い側に隣接する周囲画素６Ｓ４２の明度との差の絶対値である。
【００７４】
周囲画素６Ｓ１０〜６Ｓ３０および６Ｓ５０〜６Ｓ７０は、注目画素６Ｃにおけるエッジ方向の法線Ｌの上の周囲画素６Ｓであって、注目画素６Ｃを挟むように配置されている。
【００７５】
周囲画素６Ｓ１１〜６Ｓ３１および６Ｓ５１〜６Ｓ７１は、それぞれ、周囲画素６Ｓ１０〜６Ｓ３０および６Ｓ５０〜６Ｓ７０とエッジ方向の淡い側に隣接する周囲画素６Ｓである。周囲画素６Ｓ１２〜６Ｓ３２および６Ｓ５２〜６Ｓ７２は、それぞれ、周囲画素６Ｓ１０〜６Ｓ３０および６Ｓ５０〜６Ｓ７０とエッジ方向の濃い側に隣接する周囲画素６Ｓである。
【００７６】
差分Δ１１〜Δ３１、Δ５１〜Δ７１は、それぞれ、周囲画素６Ｓ１０〜６Ｓ３０、６Ｓ５０〜６Ｓ７０の明度と周囲画素６Ｓ１１〜６Ｓ３１、６Ｓ５１〜６Ｓ７１の明度との差の絶対値である。差分Δ１２〜Δ３２、Δ５２〜Δ７２は、それぞれ、周囲画素６Ｓ１０〜６Ｓ３０、６Ｓ５０〜６Ｓ７０の明度と周囲画素６Ｓ１２〜６Ｓ３２、６Ｓ５２〜６Ｓ７２の明度との差の絶対値である。
【００７７】
なお、図１１の例では、最大値ＤＥｍａｘを７つの差分の中から選んだが、これよりも多い差分の中から選んでもよいし、少ない差分の中から選んでもよい。例えば、５つの差分Δ２１、Δ３１、Δ５１、およびΔ６１の中から選んでもよい。幾つの差分の中から選ぶのかは、規定マトリクスＭＴのサイズに合わせてもよい。つまり、規定マトリクスＭＴが図８のように７×７のセルからなる場合は、７つの差分の中から選び、５×５のセルからなる場合は、５つの差分の中から選べばよい。また、平均明度Ｄｇの代わりに明度中央値Ｄｃを用いて最大値ＤＥｍａｘを算出してもよい。最大値ＤＭｍａｘについても、同様である。
【００７８】
図１２に示すように平滑処理部１０１を指向性スムージング処理部１３１、エッジ方向判別部１３２、およびセレクタ１３３によって構成し、多値画像５の文字輪郭部の画素ごとの明度の補正を次のように行ってもよい。
【００７９】
指向性スムージング処理部１３１は、指向性スムージング処理部１２１（図５参照）と同様に、上下方向、左右方向、右上と左下とを結ぶ方向、および左上と右下とを結ぶ方向それぞれの平均明度Ｄｖ１〜Ｄｖ４を算出する。
【００８０】
エッジ方向判別部１３２は、注目画素６Ｃにおけるエッジ方向を判別する。エッジ方向は、濃淡の変化の方向であって、公知の方法によって判別することができる。
【００８１】
セレクタ１３３は、上下方向、左右方向、右上と左下とを結ぶ方向、および左上と右下とを結ぶ方向のうちエッジ方向判別部１３２によって判別されたエッジ方向との角度が最も小さい方向に係る平均明度を選択する。例えば、上下方向とエッジ方向との角度が最も小さい場合は、平均明度Ｄｖ１を選択する。そして、セレクタ１２３と同様、選択した平均明度をスムージング明度Ｄｈとして示す補正値データ３Ｃを二値化閾値決定部１０２へ送出する。
【００８２】
上述の実施形態では、内外判定部１０３は、注目画素６Ｃを明度が下限閾値ＲＥＦｂと上限閾値ＲＥＦｕとの間である場合に、直前の１つの画素に対する判定の結果のみを参照したが、過去の複数の判定の結果を参照してもよい。
【００８３】
例えば、注目画素６Ｃに隣接する周囲画素６Ｓのうち既に判定が行われた、図１３（Ａ）に示す４つの周囲画素６Ｓに対する判定の結果を次のように参照する。
【００８４】
内外判定部１０３は、注目画素６Ｃの明度と、これらの４つの周囲画素６Ｓそれぞれの明度とを、比較する。そして、これらの４つの周囲画素６Ｓのうちの、注目画素６Ｃの明度に最も近い明度を有する周囲画素６Ｓに対する判定の結果を、注目画素６Ｃに対する判定の結果とする。
【００８５】
または、注目画素６Ｃから所定の距離以内にある周囲画素６Ｓのうち既に判定が行われた、図１３（Ｂ）に点線で示す各方向に並ぶ複数の周囲画素６Ｓに対する判定の結果を次のように参照する。
【００８６】
内外判定部１０３は、判定の結果が同じである周囲画素６Ｓが所定の個数（例えば、２個）以上連続して並ぶ方向を選出する。そして、これらの周囲画素６Ｓに対する判定の結果を、注目画素６Ｃに対する判定の結果とする。このような方向が複数ある場合は、同じ判定の結果の連続する個数が最も多い方向を選出すればよい。または、予め、同じ判定の結果が所定の個数以上連続して並ぶ方向の出現のパターンを複数用意しておき、パターンごとに注目画素６Ｃを文字の内側の画素とすべきか文字の外側の画素とすべきかを決めておく。そして、選出した方向と各パターンとのマッチングを行い、一致の度合いが最も高いパターンに対して予め決められている画素にすべきであると判定すればよい。
【００８７】
上述の実施形態では、多値画像５を二値画像７に変換する処理を画像編集回路１０ｊが行ったが、コンピュータプログラムをＣＰＵ１０ａに実行させることによって行ってもよい。この場合は、図４に示す平滑処理部１０１ないし画素二値化処理部１０４の処理の手順をメインルーチンとするプログラムモジュールと、図５または図１２に示す平滑処理部１０１の各部の処理の手順をサブルーチンとするプログラムモジュールとを有するコンピュータプログラムを、用意すればよい。そして、このコンピュータプログラムをＲＯＭ１０ｃまたは大容量記憶装置１０ｄに記憶させておき、ＣＰＵ１０ａに実行させればよい。
【００８８】
メインルーチンは、例えば、図１４に示す通りである。すなわち、スキャンユニット１０ｅによって読み取られた多値画像５の画素ごとに、次の処理を行う。多値画像５に対してスムージングの処理を施す（＃１１）。所定の順番通りに、画素を１つ選出し、これを注目画素６Ｃとする（＃１２または＃１６）。注目画素６Ｃについて、複数の閾値（中央閾値ＲＥＦｃ、上限閾値ＲＥＦｕ、および下限閾値ＲＥＦｂ）を算出する（＃１３）。これらの閾値および判定実績データ３Ｄに基づいて、注目画素６Ｃを文字の内外どちらの画素とすべきかを判定する（＃１４）。判定の仕方は、前に図９で説明した通りである。そして、判定の結果に応じて注目画素６Ｃを「０」および「１」のいずれか一方に二値化する（＃１５）。
【００８９】
なお、図１５に示すように、スムージングから二値化までの一連の処理を、１つの画素ごとに実行してもよい。
【００９０】
その他、画像形成装置１の全体または各部の構成、処理内容、処理順序、画像の構成などは、本発明の趣旨に沿って適宜変更することができる。
【符号の説明】
【００９１】
１  画像形成装置（画像処理装置）
１０ｅ  スキャンユニット
１０１  平滑処理部（スムージング処理手段）
１０２  二値化閾値決定部（閾値決定手段）
１０３  内外判定部（二値決定手段）
１０４  画素二値化処理部（二値決定手段）
５  多値画像
６Ｃ  注目画素
６Ｓ  周囲画素
【図１】
0005870826.tif 000002
【図２】
0005870826.tif 000003
【図３】
0005870826.tif 000004
【図４】
0005870826.tif 000005
【図５】
0005870826.tif 000006
【図６】
0005870826.tif 000007
【図７】
0005870826.tif 000008
【図８】
0005870826.tif 000009
【図９】
0005870826.tif 000010
【図１０】
0005870826.tif 000011
【図１１】
0005870826.tif 000012
【図１２】
0005870826.tif 000013
【図１３】
0005870826.tif 000014
【図１４】
0005870826.tif 000015
【図１５】
0005870826.tif 000016