(57)【要約】【課題】適切かつ高速な細線化処理が可能な画像処理方法を提供する。【解決手段】画像データを当該画像データに基づく画像における所定の方向に走査してオブジェクトのエッジ画素対を検出し、オブジェクトの輪郭をなす画素に内部エッジの属性を付与し、オブジェクトの外側で内部エッジに隣接する画素に外部エッジの属性を付与し、それ以外の画素で、内部エッジ画素と外部エッジ画素の位置関係に基づいて、オブジェクトの内部の画素と判断した画素に、内部非エッジの属性を付与し、内部エッジ画素を注目画素としたときに、注目画素に近接する近接画素のうちの、内部エッジ画素および内部非エッジ画素の合計数、ならびに、これらの位置関係に基づいて、注目画素の画素値を、注目画素に対して所定の方向に対し反対方向に隣接する画素の画素値に置換するか否か判定する。【選択図】図１０
2020098497.tif 000002
【特許請求の範囲】
【請求項１】
多値画像データを、色毎に、前記多値画像データに基づく画像における所定の方向に走査して、オブジェクトのエッジを構成するエッジ画素対を検出する段階（ａ）と、
前記段階（ａ）において検出された前記エッジ画素対のうち、前記オブジェクトの輪郭を形成する画素に内部エッジの属性を付与して内部エッジ画素とし、前記オブジェクトの外側で前記内部エッジに隣接する画素に外部エッジの属性を付与して外部エッジ画素とする段階（ｂ）と、
前記段階（ｂ）において前記内部エッジの属性および前記外部エッジの属性のいずれの属性も付与されなかった画素に対し、前記内部エッジ画素と前記外部エッジ画素との位置関係に基づいて、前記オブジェクトの内部の画素かどうか判断し、前記オブジェクトの内部の画素と判断した画素に内部非エッジの属性を付与して内部非エッジ画素とする段階（ｃ）と、
前記内部エッジ画素をそれぞれ注目画素としたときの、前記注目画素から所定の画素数以内に近接する近接画素のうちの、前記内部エッジ画素および前記内部非エッジ画素の合計数、ならびに、前記近接画素のうちの、前記内部エッジ画素と前記内部非エッジ画素との位置関係に基づいて、前記注目画素の画素値を、前記注目画素に対して前記所定の方向に対し反対方向に隣接する画素の画素値に置換するかどうか判定する段階（ｄ）と、
を有する、画像処理方法。
【請求項２】
前記多値画像データは、カラーの画像データである、請求項１に記載の画像処理方法。
【請求項３】
前記段階（ａ）は、エッジ検出注目画素と、前記エッジ検出注目画素の前後の２画素とを含む３画素の画素値に関するフィルタリング処理する、３×１のラプラシアンフィルターを、前記所定の方向に走査して、前記エッジ検出注目画素のエッジ値を算出していき、少なくとも１色のエッジ値の絶対値が閾値以上の画素が隣接する画素対を、前記エッジ画素対として検出する、請求項１または２に記載の画像処理方法。
【請求項４】
前記段階（ｂ）は、前記段階（ａ）において検出された前記エッジ画素対についてそれぞれ明度を算出し、明度の低い方の画素に前記内部エッジの属性を付与し、明度の高い方の画素に前記外部エッジの属性を付与する、請求項１〜３のいずれか一項に記載の画像処理方法。
【請求項５】
前記段階（ｂ）は、前記段階（ａ）において前記エッジ画素対が検出されるごとに、検出された前記エッジ画素対のそれぞれの画素に対し前記属性を付与し、
前記段階（ｃ）は、前記段階（ｂ）において、前記内部エッジの属性を付与された後に最初に付与された前記属性が前記内部エッジの属性だった場合、前記内部エッジの属性を付与された２つの前記内部エッジ画素の間に存在する全ての画素に前記内部非エッジの属性を付与して前記内部非エッジ画素とする、請求項１〜４のいずれか一項に記載の画像処理方法。
【請求項６】
前記段階（ｃ）は、前記画像の端部と前記内部エッジ画素との間に、前記エッジ画素対のいずれの画素も存在しない場合、前記画像の端部と前記内部エッジ画素との間の画素に前記内部非エッジの属性を付与して前記内部非エッジ画素とする、請求項１〜５のいずれか一項に記載の画像処理方法。
【請求項７】
前記段階（ｃ）は、
第１のエッジ画素対の前記外部エッジ画素が出現した後、前記所定の方向に、前記エッジ画素対を構成する画素として最初に出現した画素が、前記第１のエッジ画素対と異なる第２のエッジ画素対の前記内部エッジ画素であった場合、前記第２のエッジ画素対の前記内部エッジ画素の前記所定の方向に対し反対方向に隣接する画素に前記内部非エッジの属性を付与して前記内部非エッジ画素とし、
第３のエッジ画素対の前記内部エッジ画素が出現した後、前記所定の方向に、前記エッジ画素対を構成する画素として最初に出現した画素が、前記第３のエッジ画素対と異なる第４のエッジ画素対の前記外部エッジ画素であった場合、前記第３のエッジ画素対の前記内部エッジ画素の前記所定の方向に隣接する画素に前記内部非エッジの属性を付与して前記内部非エッジ画素とする、請求項１〜６のいずれか一項に記載の画像処理方法。
【請求項８】
前記段階（ｄ）における前記所定の画素数は１で、前記近接画素は８つの隣接画素であり、前記段階（ｄ）は、前記８つの隣接画素のうちの、前記内部エッジ画素および前記内部非エッジ画素の合計数、ならびに、前記８つの隣接画素のうちの、前記内部エッジ画素と前記内部非エッジ画素との位置関係に基づいて、前記注目画素の画素値を、前記注目画素に対して前記所定の方向に対し反対方向に隣接する画素の画素値に置換するかどうか判定する、請求項１〜７のいずれか一項に記載の画像処理方法。
【請求項９】
前記段階（ｄ）は、
前記合計数および前記位置関係が、
（１）前記合計数が０または７の場合、
（２）前記合計数が１で、かつ８つの前記隣接画素にそれぞれ隣接する８つの画素のうち前記内部エッジ画素および前記内部非エッジ画素の数を加算した値が２以下の場合、
（３）前記合計数が２で、前記合計数として数が加算された画素が隣接している場合、
（４）前記合計数が３で、前記合計数として数が加算された画素が隣接している場合、
（５）前記合計数が４で、前記合計数として数が加算された画素が隣接している場合、
（６）前記合計数が５で、前記隣接画素のうちの、前記内部エッジ画素および前記内部非エッジ画素のいずれでもない画素が、前記注目画素に対し、上下の両方、左右の両方、または斜め方向の両方に存在している場合、および、
（７）前記合計数が６で、前記隣接画素のうちの、前記内部エッジ画素および前記内部非エッジ画素のいずれでもない画素が、前記注目画素に対し、上下の両方、左右の両方、または斜め方向の両方に存在している場合、
のいずれかである場合は、前記注目画素の画素値を、前記注目画素の走査の直前に走査された、前記注目画素に隣接する前記外部エッジ画素の画素値に置換しないと判定し、
前記合計数および前記位置関係が、前記（１）〜（７）のいずれでもない場合は、前記注目画素の画素値を、前記注目画素の走査の直前に走査された、前記注目画素に隣接する前記外部エッジ画素の画素値に置換すると判定する、請求項８に記載の画像処理方法。
【請求項１０】
細線化処理の強弱の選択を受け付ける段階（ｅ）をさらに有し、
前記段階（ｅ）において弱の選択が受け付けられた場合、前記所定の方向を第１方向として前記段階（ａ）〜（ｄ）を行った後、前記所定の方向を前記第１方向と直交する第２方向として前記段階（ａ）〜（ｄ）を行い、
前記段階（ｅ）において強の選択が受け付けられた場合、前記所定の方向を前記第１方向として前記段階（ａ）〜（ｄ）を行った後、前記所定の方向を前記第２方向として前記段階（ａ）〜（ｄ）を行い、さらに、前記所定の方向を前記第１方向に対し反対方向の第３方向として前記段階（ａ）〜（ｄ）を行った後、前記所定の方向を前記第２方向に対し反対方向の第４方向として前記段階（ａ）〜（ｄ）を行う、請求項１〜９のいずれか一項に記載の画像処理方法。
【請求項１１】
前記所定の方向を第５方向として前記段階（ａ）〜（ｄ）を行った後、前記所定の方向を前記第５方向に直交する方向として前記段階（ａ）〜（ｄ）を行う、請求項１〜９のいずれか一項に記載の画像処理方法。
【請求項１２】
前記所定の方向を第６方向として前記段階（ａ）〜（ｄ）を行った後、前記所定の方向を前記第６方向に対し反対方向として前記段階（ａ）〜（ｄ）を行う、請求項１〜９のいずれか一項に記載の画像処理方法。
【請求項１３】
前記多値画像データを、前記多値画像データに基づく画像の複数の領域に対応して分割することで複数の分割データを生成する段階（ｆ）をさらに有し、
前記段階（ａ）〜（ｄ）を、前記複数の分割データに対し、並列に行う、請求項１〜１２のいずれか一項に記載の画像処理方法。
【請求項１４】
前記段階（ｆ）は、前記多値画像データを、前記多値画像データに基づく画像の複数の領域に対応して分割するとともに、分割後の前記分割データに基づく画像の、分割方向の上下の端部に２画素以上のマージン部分を付加し、前記マージン部分が付加された分割画像にそれぞれ対応する前記複数の分割データを生成する、請求項１３に記載の画像処理方法。
【請求項１５】
前記段階（ｄ）において、前記注目画素の画素値を、前記注目画素に対して前記所定の方向に対し反対方向に隣接する画素の画素値に置換すると判定された場合に、前記注目画素の画素値を、前記注目画素に対して前記所定の方向に対し反対方向に隣接する画素の画素値に置換し、前記注目画素の画素値を、前記注目画素に対して前記所定の方向に対し反対方向に隣接する画素の画素値に置換すると判定されない場合は、前記注目画素の画素値を、前記注目画素に対して前記所定の方向に対し反対方向に隣接する画素の画素値に置換しない段階（ｇ）をさらに有する、請求項１〜１４のいずれか一項に記載の画像処理方法。
【請求項１６】
多値画像データを、色毎に、前記多値画像データに基づく画像における所定の方向に走査して、オブジェクトのエッジを構成するエッジ画素対を検出する手順（ａ）と、
前記段階（ａ）において検出された前記エッジ画素対のうち、前記オブジェクトの輪郭を形成する画素に内部エッジの属性を付与して内部エッジ画素とし、前記オブジェクトの外側で前記内部エッジに隣接する画素に外部エッジの属性を付与して外部エッジ画素とする手順（ｂ）と、
前記手順（ｂ）において前記内部エッジの属性および前記外部エッジの属性のいずれの属性も付与されなかった画素に対し、前記内部エッジ画素と前記外部エッジ画素との位置関係に基づいて、前記オブジェクトの内部の画素かどうか判断し、前記オブジェクトの内部の画素と判断した画素に内部非エッジの属性を付与して内部非エッジ画素とする手順（ｃ）と、
前記内部エッジ画素をそれぞれ注目画素としたときの、前記注目画素から所定の画素数以内に近接する近接画素のうちの、前記内部エッジ画素および前記内部非エッジ画素の合計数、ならびに、前記近接画素のうちの、前記内部エッジ画素と前記内部非エッジ画素との位置関係に基づいて、前記注目画素の画素値を、前記注目画素に対して前記所定の方向に対し反対方向に隣接する画素の画素値に置換するかどうか判定する手順（ｄ）と、
を有する処理を、コンピューターに実行させるための画像処理プログラム。
【請求項１７】
多値画像データを、色毎に、前記多値画像データに基づく画像における所定の方向に走査して、オブジェクトのエッジを構成するエッジ画素対を検出する検出部と、
前記検出部により検出された前記エッジ画素対のうち、前記オブジェクトの輪郭を形成する画素に内部エッジの属性を付与して内部エッジ画素とし、前記オブジェクトの外側で前記内部エッジに隣接する画素に外部エッジの属性を付与して外部エッジ画素とする第１属性付与部と、
前記第１属性付与部により前記内部エッジの属性および前記外部エッジの属性のいずれの属性も付与されなかった画素に対し、前記内部エッジ画素と前記外部エッジ画素との位置関係に基づいて、前記オブジェクトの内部の画素かどうか判断し、前記オブジェクトの内部の画素と判断した画素に内部非エッジの属性を付与して内部非エッジ画素とする第２属性付与部と、
前記内部エッジ画素をそれぞれ注目画素としたときの、前記注目画素から所定の画素数以内に近接する近接画素のうちの、前記内部エッジ画素および前記内部非エッジ画素の合計数、ならびに、前記近接画素のうちの、前記内部エッジ画素と前記内部非エッジ画素との位置関係に基づいて、前記注目画素の画素値を、前記注目画素に対して前記所定の方向に対し反対方向に隣接する画素の画素値に置換するかどうか判定する判定部と、
を有する、画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法、画像処理プログラム、および画像処理装置に関する。
【背景技術】
【０００２】
スキャナーによりスキャンされた原稿の文字画像がスキャナー特性により太くなってしまうことがある。また、電子写真方式の画像形成装置は、ドットゲインが比較的大きいため、記録媒体上で文字画像が太く形成されてしまうことがある。このような場合に対応して一般的に行われる画像処理の一つとして、細線化処理が知られている。
【０００３】
細線化処理に関連し、下記特許文献１には次の技術が知られている。画像データに基づいて文字または線画の輪郭領域を抽出するとともに、画像データに基づいて細線構造を有する領域を検出する。そして、輪郭領域から細線構造を有する領域を除いた修正領域に対し、画素値の入力レベルに基づいて出力レベルを調整する細線化処理を行うことで、細線化処理による細線の消失を防止する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特願２００５−３４１２４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に開示された技術は、２、３画素以下の線幅を有する細線構造の領域を検出して細線化処理の対象から除外する必要があるため、細線化処理が複雑化し、細線化処理の高速化が比較的困難であるという問題がある。
【０００６】
本発明は、このような問題を解決するためになされたものである。すなわち、適切かつ高速な細線化処理が可能な画像処理方法、画像処理プログラム、および画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の上記課題は、以下の手段によって解決される。
【０００８】
（１）多値画像データを、色毎に、前記多値画像データに基づく画像における所定の方向に走査して、オブジェクトのエッジを構成するエッジ画素対を検出する段階（ａ）と、前記段階（ａ）において検出された前記エッジ画素対のうち、前記オブジェクトの輪郭を形成する画素に内部エッジの属性を付与して内部エッジ画素とし、前記オブジェクトの外側で前記内部エッジに隣接する画素に外部エッジの属性を付与して外部エッジ画素とする段階（ｂ）と、前記段階（ｂ）において前記内部エッジの属性および前記外部エッジの属性のいずれの属性も付与されなかった画素に対し、前記内部エッジ画素と前記外部エッジ画素との位置関係に基づいて、前記オブジェクトの内部の画素かどうか判断し、前記オブジェクトの内部の画素と判断した画素に内部非エッジの属性を付与して内部非エッジ画素とする段階（ｃ）と、前記内部エッジ画素をそれぞれ注目画素としたときの、前記注目画素から所定の画素数以内に近接する近接画素のうちの、前記内部エッジ画素および前記内部非エッジ画素の合計数、ならびに、前記近接画素のうちの、前記内部エッジ画素と前記内部非エッジ画素との位置関係に基づいて、前記注目画素の画素値を、前記注目画素に対して前記所定の方向に対し反対方向に隣接する画素の画素値に置換するかどうか判定する段階（ｄ）と、を有する、画像処理方法。
【０００９】
（２）前記多値画像データは、カラーの画像データである、上記（１）に記載の画像処理方法。
【００１０】
（３）前記段階（ａ）は、エッジ検出注目画素と、前記エッジ検出注目画素の前後の２画素とを含む３画素の画素値に関するフィルタリング処理する、３×１のラプラシアンフィルターを、前記所定の方向に走査して、前記エッジ検出注目画素のエッジ値を算出していき、少なくとも１色のエッジ値の絶対値が閾値以上の画素が隣接する画素対を、前記エッジ画素対として検出する、上記（１）または（２）に記載の画像処理方法。
【００１１】
（４）前記段階（ｂ）は、前記段階（ａ）において検出された前記エッジ画素対についてそれぞれ明度を算出し、明度の低い方の画素に前記内部エッジの属性を付与し、明度の高い方の画素に前記外部エッジの属性を付与する、上記（１）〜（３）のいずれかに記載の画像処理方法。
【００１２】
（５）前記段階（ｂ）は、前記段階（ａ）において前記エッジ画素対が検出されるごとに、検出された前記エッジ画素対のそれぞれの画素に対し前記属性を付与し、前記段階（ｃ）は、前記段階（ｂ）において、前記内部エッジの属性を付与された後に最初に付与された前記属性が前記内部エッジの属性だった場合、前記内部エッジの属性を付与された２つの前記内部エッジ画素の間に存在する全ての画素に前記内部非エッジの属性を付与して前記内部非エッジ画素とする、上記（１）〜（４）のいずれかに記載の画像処理方法。
【００１３】
（６）前記段階（ｃ）は、前記画像の端部と前記内部エッジ画素との間に、前記エッジ画素対のいずれの画素も存在しない場合、前記画像の端部と前記内部エッジ画素との間の画素に前記内部非エッジの属性を付与して前記内部非エッジ画素とする、上記（１）〜（５）のいずれかに記載の画像処理方法。
【００１４】
（７）前記段階（ｃ）は、第１のエッジ画素対の前記外部エッジ画素が出現した後、前記所定の方向に、前記エッジ画素対を構成する画素として最初に出現した画素が、前記第１のエッジ画素対と異なる第２のエッジ画素対の前記内部エッジ画素であった場合、前記第２のエッジ画素対の前記内部エッジ画素の前記所定の方向に対し反対方向に隣接する画素に前記内部非エッジの属性を付与して前記内部非エッジ画素とし、第３のエッジ画素対の前記内部エッジ画素が出現した後、前記所定の方向に、前記エッジ画素対を構成する画素として最初に出現した画素が、前記第３のエッジ画素対と異なる第４のエッジ画素対の前記外部エッジ画素であった場合、前記第３のエッジ画素対の前記内部エッジ画素の前記所定の方向に隣接する画素に前記内部非エッジの属性を付与して前記内部非エッジ画素とする、上記（１）〜（６）のいずれかに記載の画像処理方法。
【００１５】
（８）前記段階（ｄ）における前記所定の画素数は１で、前記近接画素は８つの隣接画素であり、前記段階（ｄ）は、前記８つの隣接画素のうちの、前記内部エッジ画素および前記内部非エッジ画素の合計数、ならびに、前記８つの隣接画素のうちの、前記内部エッジ画素と前記内部非エッジ画素との位置関係に基づいて、前記注目画素の画素値を、前記注目画素に対して前記所定の方向に対し反対方向に隣接する画素の画素値に置換するかどうか判定する、上記（１）〜（７）のいずれかに記載の画像処理方法。
【００１６】
（９）前記段階（ｄ）は、前記合計数および前記位置関係が、[１]前記合計数が０または７の場合、[２]前記合計数が１で、かつ８つの前記隣接画素にそれぞれ隣接する８つの画素のうち前記内部エッジ画素および前記内部非エッジ画素の数を加算した値が２以下の場合、[３]前記合計数が２で、前記合計数として数が加算された画素が隣接している場合、[４]前記合計数が３で、前記合計数として数が加算された画素が隣接している場合、[５]前記合計数が４で、前記合計数として数が加算された画素が隣接している場合、[６]前記合計数が５で、前記隣接画素のうちの、前記内部エッジ画素および前記内部非エッジ画素のいずれでもない画素が、前記注目画素に対し、上下の両方、左右の両方、または斜め方向の両方に存在している場合、および、[７]前記合計数が６で、前記隣接画素のうちの、前記内部エッジ画素および前記内部非エッジ画素のいずれでもない画素が、前記注目画素に対し、上下の両方、左右の両方、または斜め方向の両方に存在している場合、のいずれかである場合は、前記注目画素の画素値を、前記注目画素の走査の直前に走査された、前記注目画素に隣接する前記外部エッジ画素の画素値に置換しないと判定し、前記合計数および前記位置関係が、前記[１]〜[７]のいずれでもない場合は、前記注目画素の画素値を、前記注目画素の走査の直前に走査された、前記注目画素に隣接する前記外部エッジ画素の画素値に置換すると判定する、上記（８）に記載の画像処理方法。
【００１７】
（１０）細線化処理の強弱の選択を受け付ける段階（ｅ）をさらに有し、前記段階（ｅ）において弱の選択が受け付けられた場合、前記所定の方向を第１方向として前記段階（ａ）〜（ｄ）を行った後、前記所定の方向を前記第１方向と直交する第２方向として前記段階（ａ）〜（ｄ）を行い、前記段階（ｅ）において強の選択が受け付けられた場合、前記所定の方向を前記第１方向として前記段階（ａ）〜（ｄ）を行った後、前記所定の方向を前記第２方向として前記段階（ａ）〜（ｄ）を行い、さらに、前記所定の方向を前記第１方向に対し反対方向の第３方向として前記段階（ａ）〜（ｄ）を行った後、前記所定の方向を前記第２方向に対し反対方向の第４方向として前記段階（ａ）〜（ｄ）を行う、上記（１）〜（９）のいずれかに記載の画像処理方法。
【００１８】
（１１）前記所定の方向を第５方向として前記段階（ａ）〜（ｄ）を行った後、前記所定の方向を前記第５方向に直交する方向として前記段階（ａ）〜（ｄ）を行う、上記（１）〜（９）のいずれかに記載の画像処理方法。
【００１９】
（１２）前記所定の方向を第６方向として前記段階（ａ）〜（ｄ）を行った後、前記所定の方向を前記第６方向に対し反対方向として前記段階（ａ）〜（ｄ）を行う、上記（１）〜（９）のいずれかに記載の画像処理方法。
【００２０】
（１３）前記多値画像データを、前記多値画像データに基づく画像の複数の領域に対応して分割することで複数の分割データを生成する段階（ｆ）をさらに有し、前記段階（ａ）〜（ｄ）を、前記複数の分割データに対し、並列に行う、上記（１）〜（１２）のいずれかに記載の画像処理方法。
【００２１】
（１４）前記段階（ｆ）は、前記多値画像データを、前記多値画像データに基づく画像の複数の領域に対応して分割するとともに、分割後の前記分割データに基づく画像の、分割方向の上下の端部に２画素以上のマージン部分を付加し、前記マージン部分が付加された分割画像にそれぞれ対応する前記複数の分割データを生成する、上記（１３）に記載の画像処理方法。
【００２２】
（１５）前記段階（ｄ）において、前記注目画素の画素値を、前記注目画素に対して前記所定の方向に対し反対方向に隣接する画素の画素値に置換すると判定された場合に、前記注目画素の画素値を、前記注目画素に対して前記所定の方向に対し反対方向に隣接する画素の画素値に置換し、前記注目画素の画素値を、前記注目画素に対して前記所定の方向に対し反対方向に隣接する画素の画素値に置換すると判定されない場合は、前記注目画素の画素値を、前記注目画素に対して前記所定の方向に対し反対方向に隣接する画素の画素値に置換しない段階（ｇ）をさらに有する、上記（１）〜（１４）のいずれかに記載の画像処理方法。
【００２３】
（１６）多値画像データを、色毎に、前記多値画像データに基づく画像における所定の方向に走査して、オブジェクトのエッジを構成するエッジ画素対を検出する手順（ａ）と、前記段階（ａ）において検出された前記エッジ画素対のうち、前記オブジェクトの輪郭を形成する画素に内部エッジの属性を付与して内部エッジ画素とし、前記オブジェクトの外側で前記内部エッジに隣接する画素に外部エッジの属性を付与して外部エッジ画素とする手順（ｂ）と、前記手順（ｂ）において前記内部エッジの属性および前記外部エッジの属性のいずれの属性も付与されなかった画素に対し、前記内部エッジ画素と前記外部エッジ画素との位置関係に基づいて、前記オブジェクトの内部の画素かどうか判断し、前記オブジェクトの内部の画素と判断した画素に内部非エッジの属性を付与して内部非エッジ画素とする手順（ｃ）と、前記内部エッジ画素をそれぞれ注目画素としたときの、前記注目画素から所定の画素数以内に近接する近接画素のうちの、前記内部エッジ画素および前記内部非エッジ画素の合計数、ならびに、前記近接画素のうちの、前記内部エッジ画素と前記内部非エッジ画素との位置関係に基づいて、前記注目画素の画素値を、前記注目画素に対して前記所定の方向に対し反対方向に隣接する画素の画素値に置換するかどうか判定する手順（ｄ）と、を有する処理を、コンピューターに実行させるための画像処理プログラム。
【００２４】
（１７）多値画像データを、色毎に、前記多値画像データに基づく画像における所定の方向に走査して、オブジェクトのエッジを構成するエッジ画素対を検出する検出部と、前記検出部により検出された前記エッジ画素対のうち、前記オブジェクトの輪郭を形成する画素に内部エッジの属性を付与して内部エッジ画素とし、前記オブジェクトの外側で前記内部エッジに隣接する画素に外部エッジの属性を付与して外部エッジ画素とする第１属性付与部と、前記第１属性付与部により前記内部エッジの属性および前記外部エッジの属性のいずれの属性も付与されなかった画素に対し、前記内部エッジ画素と前記外部エッジ画素との位置関係に基づいて、前記オブジェクトの内部の画素かどうか判断し、前記オブジェクトの内部の画素と判断した画素に内部非エッジの属性を付与して内部非エッジ画素とする第２属性付与部と、前記内部エッジ画素をそれぞれ注目画素としたときの、前記注目画素から所定の画素数以内に近接する近接画素のうちの、前記内部エッジ画素および前記内部非エッジ画素の合計数、ならびに、前記近接画素のうちの、前記内部エッジ画素と前記内部非エッジ画素との位置関係に基づいて、前記注目画素の画素値を、前記注目画素に対して前記所定の方向に対し反対方向に隣接する画素の画素値に置換するかどうか判定する判定部と、を有する、画像処理装置。
【発明の効果】
【００２５】
画像に含まれるオブジェクトのエッジをなす画素対にそれぞれオブジェクト内外のエッジの属性を付与し、当該属性が付与された各画素の位置関係に基づいて、当該画素以外で、オブジェクト内部と判断した画素に、オブジェクト内の属性を付与する。そして、オブジェクト内のエッジの属性をもつ注目画素に近接する画素のうち、オブジェクト内の属性をもつ画素の、数および位置関係に基づいて、当該注目画素を当該注目画素の直前に走査された画素の画素値に置換するかどうか判定する。これにより、適切かつ高速な細線化処理ができる。
【図面の簡単な説明】
【００２６】
【図１】画像形成装置の構成を示す概略図である。
【図２】画像形成装置の構成を示すブロック図である。
【図３】画像データの細線化処理のフローチャートである。
【図４】図３のステップＳ１０１のサブルーチンフローチャートである。
【図５】画像データの分割について説明するための説明図である。
【図６】図３のステップＳ１０２のサブルーチンフローチャートである。
【図７】図６のステップＳ３０９のサブルーチンフローチャートである。
【図８】対象画像の各画素の属性の埋込み処理を説明するための説明図である。
【図９】図６のステップＳ３１１のサブルーチンフローチャートである。
【図１０】図３のステップＳ１０３のサブルーチンフローチャートである。
【図１１Ａ】オブジェクトの左側エッジを置換える置換条件を示す図である。
【図１１Ｂ】オブジェクトの左側エッジを置換える置換条件を示す図である。
【図１１Ｃ】オブジェクトの左側エッジを置換える置換条件を示す図である。
【図１１Ｄ】オブジェクトの左側エッジを置換える置換条件を示す図である。
【図１１Ｅ】オブジェクトの左側エッジを置換える置換条件を示す図である。
【図１２】細線化処理の結果を示す図である。
【発明を実施するための形態】
【００２７】
以下、図面を参照して、本発明の実施形態に係る、画像処理方法、画像処理プログラム、および画像処理装置について説明する。なお、図面において、同一の要素には同一の符号を付し、重複する説明を省略する。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
【００２８】
図１は、本発明の実施形態に係る画像処理装置を含む画像形成装置１００の構成を示す概略図である。図２は、画像形成装置１００の構成を示すブロック図である。
【００２９】
画像形成装置１００は、制御部１１０、記憶部１２０、通信部１３０、操作表示部１４０、画像読取部１５０、画像制御部１６０、および画像形成部１７０を有する。これらの構成要素は、バス１８０により互いに通信可能に連結されている。画像形成装置１００は、ＭＦＰ（ＭｕｌｔｉＦｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）により構成され得る。制御部１１０は、検出部、第１属性付与部、第２属性付与部、および判定部を構成する。
【００３０】
制御部１１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）および各種メモリを備えており、プログラムにしたがって上記各部の制御や各種の演算処理を行う。制御部１１０の作用の詳細については後述する。
【００３１】
記憶部１２０は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）、またはＳＤＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等により構成され、各種プログラムおよび各種データを記憶する。
【００３２】
通信部１３０は、画像形成装置１００と外部機器との間で通信を行うためのインターフェースである。通信部１３０として、イーサネット（登録商標）、ＳＡＴＡ、ＩＥＥＥ１３９４などの規格によるネットワークインターフェースが用いられる。また、通信部１３０として、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＩＥＥＥ８０２．１１などの無線通信インターフェースなどの各種ローカル接続インターフェースなどが用いられる。
【００３３】
操作表示部１４０は、タッチパネル、テンキー、スタートボタン、およびストップボタン等を備えており、各種情報を表示するとともに、各種指示の入力を受け付ける。
【００３４】
画像読取部１５０は、蛍光ランプなどの光源およびＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）イメージセンサーなどの撮像素子を有する。画像読取部１５０は、所定の読み取り位置にセットされた原稿に光源から光を当て、その反射光を撮像素子で光電変換して、その電気信号から画像データを生成する。
【００３５】
画像制御部１６０は、通信部１３０により受信された印刷ジョブ等に含まれる印刷データのレイアウト処理およびラスタライズ処理を行い、ビットマップ形式の画像データを生成する。
【００３６】
印刷ジョブとは、画像形成装置１００に対する印刷命令の総称であり、印刷データおよび印刷設定が含まれる。印刷データとは、印刷の対象である文書のデータであり、印刷データには、例えば、イメージデータ、ベクタデータ、テキストデータといった各種データが含まれ得る。具体的には、印刷データは、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）データ、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）データまたはＴＩＦＦ（Ｔａｇｇｅｄ  Ｉｍａｇｅ  Ｆｉｌｅ  Ｆｏｒｍａｔ）データであり得る。印刷設定とは、用紙への画像形成に関する設定であり、たとえば、ページ数、印刷部数、紙種、カラーまたはモノクロの選択、およびページ割付などの各種設定が含まれる。
【００３７】
画像形成部１７０は、作像部４０、定着部５０、給紙部６０、および用紙搬送部７０を有する。
【００３８】
作像部４０は、Ｙ（イエロー）、Ｍ（マゼンタ）、Ｃ（シアン）、およびＫ（ブラック）の各色のトナーに対応した作像ユニット４１Ｙ、４１Ｍ、４１Ｃ、４１Ｋを有する。各作像ユニット４１Ｙ、４１Ｍ、４１Ｃ、４１Ｋにより、画像データに基づいて、帯電、露光、および現像のプロセスを経て感光体ドラム上にトナー画像が形成される。露光は、レーザー光により感光体ドラム上を走査することで行われる。当該レーザー光による感光体ドラム上の走査方向を、以下、主走査方向と称し、主走査方向に直交する方向を副走査方向と称する。感光体ドラム上に形成されたトナー画像は、中間転写ベルト４２上に順次重ねられて、２次転写ローラー４３により用紙９００上に転写される。
【００３９】
定着部５０は、加熱ローラー５１および加圧ローラー５２を有し、両ローラー５１、５２の定着ニップに搬送された用紙９００を加熱および加圧して、用紙９００上のトナー画像をその表面に溶融定着する。
【００４０】
定着部５０によりトナー画像が定着された用紙９００は、印刷物（出力物）として排紙トレイ１９０に排紙される。
【００４１】
給紙部６０は、複数の給紙トレイ６１、６２を有し、給紙トレイ６１、６２に収容された用紙９００を１枚ずつ下流側の搬送経路に送り出す。
【００４２】
用紙搬送部７０は、用紙９００を搬送するための複数の搬送ローラーを有し、作像部４０、定着部５０、および給紙部６０の各部間で用紙９００を搬送する。複数の搬送ローラーには、用紙９００の傾きを矯正するためのレジストローラー７１や、用紙９００に所定量のループを形成するためのループローラー７２が含まれる。用紙搬送部７０は、画像形成された用紙９００を排紙トレイ９０に排紙する。
【００４３】
制御部１１０の作用の詳細について説明する。
【００４４】
図３は、画像データの細線化処理のフローチャートである。本フローチャートは、制御部１１０により、記憶部１２０に記憶されたプログラムに従い実行され得る。画像データは、例えば、各色の画素値が０〜２５５のいずれかの値をもつ多値画像データである。画像には、カラーおよびモノクロの画像データが含まれる。画像データには、画像制御部１６０により生成された画像データ、および画像読取部１５０に生成された画像データが含まれる。以下、細線化処理の対象となる、画像データに基づく画像を「対象画像」とも称する。
【００４５】
制御部１１０は、画像データを複数の分割データに分割する（Ｓ１０１）。すなわち、制御部１１０は、画像データを、当該画像データに基づく画像の複数の領域に対応して分割する。複数の分割データは、それぞれステップＳ１０２〜Ｓ１１０において並列に処理される。以下、説明を簡単にするために、分割データに基づく分割画像も、それぞれ対象画像と称して説明する。
【００４６】
図４は、図３のステップＳ１０１のサブルーチンフローチャートである。図５は、画像データの分割について説明するための説明図である。
【００４７】
制御部１１０は、ユーザーにより設定された分割数に基づいて、分割画像のサイズを算出する（Ｓ２０１）。図５の例においては、分割前の対象画像のサイズが、１５００画素（横）×２０００画素（縦）（以下、画像のサイズを「１５００×２０００」というように記載する）である。分割数が３である場合、例えば、１５００×６６７、１５００×６６７、および１５００×６６６のサイズの３つの分割画像に分割する。分割の方向は、所定の方向に直交する副走査方向（縦）であり得る。
【００４８】
制御部１１０は、画像の分割位置を算出する（Ｓ２０２）。図５の例においては、分割位置は、画像の副走査方向の座標における、６６７画素、１３３４画素の位置としている。
【００４９】
制御部１１０は、対象画像を、算出した分割位置で分割する（Ｓ２０３）。
【００５０】
制御部１１０は、マージン部分を付加した分割画像の画像データ（分割データ）を生成する（Ｓ２０４）。図５の例においては、マージン部分は、副走査方向に２画素分等とされている。従って、マージン部分を付加した各分割画像のサイズは、１５００×６７１、１５００×６７１、１５００×６７０である。分割画像にマージン部分を付加するのは、後述するステップＳ１０３における、３×３のフィルターによる処理を、分割画像の、副走査方向上下端の画素についても、当該画素を注目画素として実行できるようにするためである。なお、分割画像の、主走査方向および主走査方向の端部（左右端）にもマージン部分を付加し得る。
【００５１】
図３に戻り、説明を継続する。ステップＳ１０２およびステップＳ１０３は、対象画像の画素を所定の方向である主走査方向（第１方向）に走査することで、以下に説明するように、オブジェクトの左側のエッジの検出、およびオブジェクトの左側のエッジの置換えを行う。オブジェクトには、文字および図形が含まれる。
【００５２】
制御部１１０は、対象画像について、オブジェクトの左側のエッジを検出する（Ｓ１０２）。具体的には、制御部１１０は、対象画像について、オブジェクトのエッジを構成するエッジ画素対を検出する。エッジ画素対は、オブジェクトの輪郭を形成する内部エッジ画素（以下、「ＩＥ」とも称する）と、当該オブジェクトの外側で当該内部エッジ画素に隣接する外部エッジ画素（以下、「ＯＥ」とも称する）との組である。なお、以下に説明するように、ステップＳ１０２においては、対象画像について、オブジェクトの左側のエッジ画素対を検出するとともに、各画素にオブジェクトのエッジに関する属性を付与する。
【００５３】
図６は、図３のステップＳ１０２のサブルーチンフローチャートである。
【００５４】
制御部１１０は、対象画像の全ての画素に対し、当該画素の属性を外部非エッジの属性に初期化して、外部非エッジ画素（以下、「ＯＮ」とも称する）とする（Ｓ３０１）。ここで、外部非エッジ画素とは、オブジェクトの外部の画素で上記の外部エッジ画素以外の画素であり、内部非エッジ画素（後述）とは、オブジェクトの内部の上記の内部エッジ画素以外の画素である。
【００５５】
制御部１１０は、注目画素と、当該注目画素の前後の２画素とを含む３画素の画素値に関するフィルタリング処理を行うための、３×１のラプラシアンフィルターを、画像データに基づく対象画像における主走査方向に走査することで、画像データに対する畳込み演算を行う。当該３×１のラプラシアンフィルターは、換言すれば、注目画素と、主走査方向、および主走査方向に対し反対方向で当該注目画素にそれぞれ隣接する２画素とを含む３画素の画素値に関するフィルタリング処理を行うためフィルターである。これにより、制御部１１０は、注目画素のエッジ値を算出する（Ｓ３０２）。以下、エッジ値を算出するための、ラプラシアンフィルターにおける注目画素を、「エッジ検出注目画素」と称する。主走査方向に対し反対方向でエッジ検出注目画素に隣接する画素は、上記ラプラシアンフィルターにより当該エッジ検出注目画素の直前に走査されるため、以下、当該画素を「直前画素」と称する。主走査方向でエッジ検出注目画素に隣接する画素は、上記ラプラシアンフィルターにより当該エッジ検出注目画素の直後に走査されるため、以下、当該画素を「直後画素」と称する。
【００５６】
ラプラシアンフィルターによる畳込み演算は、エッジ検出注目画素のエッジ値を、下記式（１）により算出する演算である。
【００５７】
直前画素の画素値＋直後画素の画素値−２×エッジ検出注目画素の画素値    …（１）
制御部１１０は、エッジ検出注目画素のエッジ値の絶対値が閾値以上かどうか判断する（Ｓ３０３）。閾値は、実験等により適当な値に設定でき、例えば８０とし得る。
【００５８】
制御部１１０は、エッジ検出注目画素のエッジ値の絶対値が閾値以上でないと判断した場合は（Ｓ３０３：ＮＯ）、ステップＳ３０２に戻り処理を継続する。
【００５９】
制御部１１０は、エッジ検出注目画素のエッジ値の絶対値が閾値以上と判断した場合は（Ｓ３０３：ＹＥＳ）、エッジ検出注目画素を、対象画像に含まれるオブジェクトのエッジと判定する（Ｓ３０４）。エッジ検出注目画素を、対象画像に含まれるオブジェクトのエッジと判定した場合は、直前画素もエッジかどうか判断する（Ｓ３０５）。
【００６０】
制御部１１０は、直前画素がエッジでない場合は（Ｓ３０５：ＮＯ）、ステップＳ３０２に戻り処理を継続する。
【００６１】
制御部１１０は、直前画素がエッジである場合は（Ｓ３０５：ＹＥＳ）、当該直前画素とエッジ検出注目画素の組をエッジ画素対であると判断する。これにより、エッジ画素対が検出される。
【００６２】
ステップＳ３０１〜Ｓ３０５は、色（Ｙ（イエロー）、Ｍ（マゼンタ）、Ｃ（シアン）、およびＫ（ブラック））毎に実行され得る。ここで、色毎に実行されるとは、対象画像のオブジェクトが単色（例えば、黒色）であって、当該単色について実行される場合を含む。従って、ステップＳ３０２においては、色毎にエッジ値が算出され、ステップＳ３０３においては、色毎にエッジ値の絶対値が閾値以上かどうか判断される。よって、少なくとも１色のエッジ値の絶対値が閾値以上である画素が隣接する画素対がエッジ画素対として検出される。なお、ステップＳ３０１〜Ｓ３０５は、所定の色（例えば、シアン）のみについて実行されてもよい。
【００６３】
制御部１１０は、ステップＳ３０５において直前画素がエッジであると判断した場合、直前画素と、エッジ検出注目画素のＬ＊値を算出する（Ｓ３０６）。Ｌ＊値は、ＣＩＥ規格における明度である。なお、Ｌ＊に代えて、輝度に対応した他の値が算出されてもよい。
【００６４】
制御部１１０は、直前画素のＬ＊値がエッジ検出注目画素より大きいかどうか判断する（Ｓ３０７）。
【００６５】
制御部１１０は、直前画素のＬ＊値がエッジ検出注目画素より大きいと判断した場合は（Ｓ３０７：ＹＥＳ）、直前画素をＯＥ、エッジ検出注目画素をＩＥと判定し（Ｓ３０８）、ステップＳ３０９を実行する。
【００６６】
制御部１１０は、直前画素のＬ＊値がエッジ検出注目画素より大きくないと判断した場合は（Ｓ３０７：ＮＯ）、直前画素をＩＥ、エッジ検出注目画素をＯＥと判定し（Ｓ３１０）、ステップＳ３１１を実行する。
【００６７】
図７は、図６のステップＳ３０９のサブルーチンフローチャートである。図８は、対象画像の各画素の属性の埋込み処理を説明するための説明図である。図７のサブルーチンフローチャートは、上述したように、直前画素がＯＥ、エッジ検出注目画素がＩＥと判定された場合に実行される。
【００６８】
制御部１１０は、エッジ検出注目画素と主走査方向に並んだ画素であって副走査方向の座標を共通にする画素（対象画像上でエッジ検出注目画素と同じ行の画素）に関し、直前画素がエッジと検出される直前にエッジと判断した画素（以下、「画素Ｐ」と称する）が、ＯＥもしくはＩＥか、または画素Ｐがないか、を判断する（Ｓ４０１）。
【００６９】
制御部１１０は、画素ＰがＯＥである場合は、画素Ｐと直前画素との間の全ての画素をＯＮとする（Ｓ４０２）。図８の例においては、対象画像（画像）の画素と、当該画素に付与された属性とが示されている。対象画像の画素のうちオブジェクトを構成する画素は、グレーの色で示されており、同じ色の画素は同じオブジェクトを構成する画素である。ステップＳ４０２において属性の埋込み処理がなされるのは、図８のＢにおいて示す区間ａである。具体的には、区間ａにおいてエッジ検出注目画素（ｉで示す）がＩＥ、直前画素（ｐで示す）がＯＥと判定されており、直前画素がエッジと検出される直前にエッジと判断された画素Ｐ（Ｐで示す）がＯＥである。このため、画素ＰであるＯＥと直前画素であるＯＥとの間の画素をＯＮにする埋込み処理がなされている。なお、ステップＳ３０１で、全ての画素の属性が初期化されて、ＯＮとなっている。このため、ステップＳ４０２の埋込み処理は省略され得る。
【００７０】
制御部１１０は、画素ＰがＩＥである場合は、画素Ｐに主走査方向で隣接する画素のみ内部非エッジ画素（以下、「ＩＮ」とも称する）にする（Ｓ４０３）。図８の例においては、ステップＳ４０３において属性の埋込み処理がなされるのは、図８のＢにおいて示す区間ｂである。具体的には、区間ｂにおいてエッジ検出注目画素（ｉで示す）がＩＥ、直前画素（ｐで示す）がＯＥと判定されており、画素Ｐ（Ｐで示す）がＩＥである。このため、ＩＥである画素Ｐに主走査方向で隣接する画素のみＩＮにする埋込み処理がなされている。このような埋込み処理がなされるのは、対象画像が、一のオブジェクト上に他のオブジェクトが配置される多層構造を有する場合である。なお、ステップＳ４０３においては、画素Ｐと直前画素との間の全ての画素をＩＮにしてもよい。上記画素Ｐを構成する画素ＩＥを含むエッジ画素対は、第３のエッジ画素対を構成する。上記エッジ検出注目画素を構成する画素ＩＥ、および上記直前画素を構成するＯＥは第４のエッジ画素対を構成する。
【００７１】
制御部１１０は、画素Ｐがない場合は、エッジ検出注目画素に対して、主走査方向に対し反対方向の端部と当該エッジ検出注目画素との間の全ての画素をＯＮにする（Ｓ４０４）。図８の例においては、ステップＳ４０４において属性の埋込み処理がなされるのは図８のＡにおいて示す区間ｃである。具体的には、区間ｃにおいてエッジ検出注目画素（ｉで示す）がＩＥ、直前画素（ｐで示す）がＯＥと判定されており、画素Ｐが存在しない。このため、エッジ検出注目画素に対し、主走査方向に対し反対方向の端部と当該エッジ検出注目画素との間の画素をＯＮとする埋込み処理がなされている。
【００７２】
図９は、図６のステップＳ３１１のサブルーチンフローチャートである。図９のサブルーチンフローチャートは、上述したように、直前画素をＩＥ、エッジ検出注目画素をＯＥと判定された場合に実行される。
【００７３】
制御部１１０は、エッジ検出注目画素と主走査方向の座標を共通にする画素に関し、画素Ｐが、ＩＥもしくはＯＥか、または画素Ｐがないか、を判断する（Ｓ５０１）。
【００７４】
制御部１１０は、画素ＰがＩＥである場合は、画素Ｐと直前画素との間の全ての画素をＩＮとする（Ｓ５０２）。図８の例においては、ステップＳ５０２において属性の埋込み処理がなされるのは図８のＡにおいて示す区間ｄである。具体的には、区間ｄにおいてエッジ検出注目画素（ｉで示す）がＯＥ、直前画素（ｐで示す）がＩＥと判定されており、直前画素がエッジと検出される直前にエッジと判断された画素Ｐ（Ｐで示す）がＩＥである。このため、画素ＰであるＩＥと、直前画素であるＩＥとの間の画素をＩＮとする埋込み処理がなされている。
【００７５】
制御部１１０は、画素ＰがＯＥである場合は、主走査方向に対し反対方向で直前画素に隣接する画素のみＩＮにする（Ｓ５０３）。図８の例においては、ステップＳ５０３において属性の埋込み処理がなされるのは図８のＢにおいて示す区間ｅである。具体的には、区間ｅにおいてエッジ検出注目画素（ｉで示す）がＯＥ、直前画素（ｐで示す）がＩＥと判定されており、画素Ｐ（Ｐで示す）がＯＥである。このため、ＯＥである直前画素に、主走査方向に対し反対方向で隣接する画素のみＩＮにする埋込み処理がなされている。このような埋込み処理がなされるのは、対象画像が多層構造を有する場合である。なお、ステップＳ５０３においては、画素Ｐと直前画素との間の全ての画素をＩＮにしてもよい。上記画素Ｐを構成する画素ＯＥを含むエッジ画素対は、第１のエッジ画素対を構成する。上記エッジ検出注目画素を構成する画素ＯＥ、および上記直前画素を構成するＩＥは第２のエッジ画素対を構成する。
【００７６】
制御部１１０は、画素Ｐがない場合は、エッジ検出注目画素に対して、主走査方向に対し反対方向の端部と直前画素との間の全ての画素をＩＮにする（Ｓ５０４）。図８の例においては、ステップＳ５０４において属性の埋込み処理がなされるのは図８のＣにおいて示す区間ｆである。具体的には、区間ｆにおいてエッジ検出注目画素（ｉで示す）がＯＥ、直前画素（ｐで示す）がＩＥと判定されており、画素Ｐが存在しない。このため、エッジ検出注目画素に対し、主走査方向に対し反対方向の端部と直前画素であるＩＥとの間の画素をＩＮとする埋込み処理がなされている。
【００７７】
図６に戻り、説明を継続する。制御部１１０は、対象画像の全ての画素について、左側エッジの検出処理が終了したかどうか判断する（Ｓ３１２）。制御部１１０は、全ての画素について、左側エッジの検出処理が終了したと判断しない場合は（Ｓ３１２：ＮＯ）、ステップＳ３０２に戻り、処理を継続する。制御部１１０は、全ての画素について、左側エッジの検出処理が終了したと判断した場合は（Ｓ３１２：ＹＥＳ）、図３のフローチャートに戻り、ステップＳ１０３の処理を実行する。
【００７８】
図１０は、図３のステップＳ１０３のサブルーチンフローチャートである。
【００７９】
制御部１１０は、各画素を注目画素として、対象画像を、１行目から最終行まで順に各行を、所定の方向である主走査方向に走査して各画素の属性を確認する（Ｓ６０１）。
【００８０】
制御部１１０は、注目画素がＩＥかどうか判断する（Ｓ６０２）。制御部１１０は、注目画素がＩＥでないと判断した場合は（Ｓ６０２：ＮＯ）、ステップＳ６０１に戻り、処理を継続する。
【００８１】
制御部１１０は、注目画素がＩＥであると判断した場合は（Ｓ６０２；ＹＥＳ）、注目画素に近接する、ＩＮおよびＩＥの合計数（オブジェクトの内部の属性をもつ画素であるインナーの合計数）を算出する（Ｓ６０３）。
【００８２】
ステップＳ６０１〜Ｓ６０３は、注目画素を中央として、注目画素に所定の画素数以内に近接する近接画素のうちＩＮおよびＩＥの合計数を算出する、３×３のフィルターを用いて実行され得る。以下、例として、中央の注目画素に１画素数以内に近接（すなわち、注目画素の周りで注目画素に隣接）する８つの近接画素（以下、単に「近接画素」とも称する）のうちの、ＩＮおよびＩＥの合計数を算出する、３×３のフィルターを用いて、ステップＳ６０１〜Ｓ６０３を実行するものとして説明する。
【００８３】
制御部１１０は、近接画素のうちの、ＩＮおよびＩＥの合計数、および当該近接画素のうちの、ＩＮとＩＥとの位置関係に基づいて、オブジェクトの左側エッジを置換える置換条件を判定する（Ｓ６０４）。以下、近接画素のうちの、ＩＮおよびＩＥの画素を「近接インナー画素」と称する。また、近接インナー画素の合計数を、「近接インナー画素数」と称する。オブジェクトの左側エッジを置換えるとは、注目画素の画素値を、当該注目画素に、所定の方向である主走査方向に対し、反対方向（左側）に隣接する画素の画素値で置換えることをいい、以下、単に「置換処理」ともいう。
【００８４】
図１１Ａ〜１１Ｅは、オブジェクトの左側エッジを置換える置換条件を示す図である。図１１Ａ〜１１Ｅにおいては、近接インナー画素数ごとに、注目画素の画素値を、当該注目画素に、所定の方向である主走査方向に対し反対方向に隣接する画素の画素値で置換えるかどうかを、近接インナー画素であるＩＮとＩＥとの位置関係により区分して、３×３のフィルターとともに示している。図１１Ａ〜１１Ｅに示した、３×３のフィルターの中央の画素（「Ｉ」で示した画素）は注目画素であり、近接インナー画素は、黒背景に白抜きの「１」で示されている。なお、周辺画素のうち、近接インナー画素でない画素は、白背景の「０」で示されている。なお、図１１Ａ〜１１Ｅにおいては、注目画素がＩＮとはなり得ない場合の、注目画素と近接インナー画素との組み合わせ（３×３のフィルターの左下に黒い星印が付記されたもの（図１１Ｃ等））も示されている。このような、ＩＮでない注目画素については、左側エッジの置換えの対象とはならない（ステップＳ６０２参照）。
【００８５】
図１１Ａに示すような近接インナー画素数が０の場合は、置換処理せずに、注目画素の画素値を維持する。近接インナー画素数が０の場合は、ＩＥである注目画素が、例えば、孤立点を含む文字（例えば、文字「ｉ」および「ｊ」）の当該孤立点として存在し得る一方、置換処理を行うことで、文字化け（例えば、文字「ｉ」を構成する点が消滅）が生じ得るからである。
【００８６】
近接インナー画素数が１の場合は、当該近接インナー画素に（さらに）隣接するＩＮおよびＩＥの画素（注目画素を含む）の数が３つ以上の場合、オブジェクトの置換処理を行う。一方、それ以外の場合は、置換処理を行わない。これは、近接インナー画素数が１で、当該近接インナー画素に隣接するＩＮおよびＩＥの画素（注目画素を含む）の数が２つ以下の場合、近接インナー画素が孤立線として存在し得る一方、置換処理を行うことで、存在するはずの孤立線が消滅し得るからである。
【００８７】
図１１Ａ〜図１１Ｃに示すように近接インナー画素数が２〜４の場合は、当該近接インナー画素が互いに隣接している場合、置換処理を行う。一方、それ以外の場合は、置換処理を行わない。これは、近接インナー画素が互いに隣接していない場合、近接インナー画素が連続線を構成している場合が多い一方で、置換処理を行うことで、当該連続線が分断され得るからである。
【００８８】
近接インナー画素数が５および６の場合は、近接画素のうちの、近接インナー画素以外の画素の少なくともいずれかが注目画素を中心として点対称となる場合、置換処理を行わない。一方、それ以外の場合は、置換処理を行う。これは、近接画素のうちの、近接インナー画素以外の画素が注目画素を中心として点対称となる場合、近接インナー画素が、ある領域の接続点を構成している場合が多い一方、置換処理を行うことで、当該接続点が分断され得るからである。なお、近接インナー画素であるＩＮとＩＥとの位置関係が、図１１Ｄ、１１Ｅにおいて破線枠内に示すものである場合は、置換処理を実行することで抜き文字が切れるという不具合が発生する可能性がある。従って、このような不具合が発生する場合は、図１１Ｄ、１１Ｅにおいて破線枠内の、近接インナー画素であるＩＮとＩＥとの位置関係となる際に、置換処理を行わなくてもよい。
【００８９】
近接インナー画素数が７の場合は、置換処理を行わず、注目画素の画素値を維持する。近接インナー画素数が７の場合は、置換処理を行うことにより、不適切な細線化処理となることが多いからである。
【００９０】
なお、近接インナー画素数が８になることはない。これは、近接インナー画素数が８になると仮定すると、注目画素がＩＥとなることはあり得ず、近接インナー画素の前提を欠くことになるからである。
【００９１】
制御部１１０は、置換条件を判定した結果、置換処理すると判断しない場合は（Ｓ６０５：ＮＯ）、ステップＳ６０７の処理を実行する。
【００９２】
制御部１１０は、置換処理すると判断した場合は（Ｓ６０５：ＹＥＳ）、注目画素の画素値を直前画素の画素値で置換える（Ｓ６０６）。例えば、対象画像がカラー画像である場合は、注目画素の、Ｙ、Ｍ、Ｃ、およびＫの全ての画素値で、注目画素の、Ｙ、Ｍ、Ｃ、およびＫの全ての画素値を置換える。
【００９３】
制御部１１０は、全ての画素について置換処理を終了したかどうか判断し（Ｓ６０７）、終了していない場合は（Ｓ６０７：ＮＯ）、ステップＳ６０１に戻り、処理を続行する。
【００９４】
制御部１１０は、全ての画素について置換処理を終了したと判断した場合は（Ｓ６０７：ＹＥＳ）、処理を終了する。
【００９５】
このように、近接インナー画素数、および近接インナー画素相互の位置関係に基づいて、オブジェクトの左側エッジを置換えることで、適切かつ高速な細線化処理ができる。
【００９６】
図３に戻り、説明を継続する。制御部１１０は、所定の方向を主走査方向として、左側エッジの検出（Ｓ１０２）、および左側エッジの置換え（Ｓ１０３）を実行した後、所定の方向を主走査方向に直交する副走査方向（第２方向）として、オブジェクトの上側のエッジの検出（Ｓ１０４）、およびオブジェクトの上側のエッジの置換え（Ｓ１０５）を行う。これにより、オブジェクトの上側の細線化処理がさらに実行され、細線化処理による細線化の度合いが増大する。ステップＳ１０４およびＳ１０５における処理は、所定の方向（ラプラシアンフィルターの向きを含む）が異なる以外、それぞれステップＳ１０３およびＳ１０４における処理と同様であるため、説明を省略する。
【００９７】
制御部１１０は、細線化処理の設定が「強」に設定されているかどうか判断する（Ｓ１０６）。細線化処理の強弱の設定は、操作表示部１４０においてユーザーにより入力された細線化処理の強弱の選択に基づいて制御部１１０が設定する。細線化処理の強弱の設定は、画像形成装置１００において予め設定されていてもよく、印刷ジョブにおいて設定されてもよい。
【００９８】
制御部１１０は、細線化処理の設定が「強」に設定されていない場合（すなわち、「弱」に設定されている場合）は（Ｓ１０６：ＮＯ）、処理を終了する。
【００９９】
制御部１１０は、細線化処理の設定が「強」に設定されている場合は（Ｓ１０６：ＹＥＳ）、所定の方向を主走査方向に対し反対方向（第３方向）として、オブジェクトの右側のエッジの検出（Ｓ１０７）、およびオブジェクトの右側のエッジの置換え（Ｓ１０８）を行う。その後、制御部１１０は、所定の方向を副走査方向に対し反対方向（第４方向）として、オブジェクトの下側のエッジの検出（Ｓ１０９）、およびオブジェクトの下側のエッジの置換え（Ｓ１１０）を行う。オブジェクトの右側のエッジの置換え（Ｓ１０８）により、オブジェクトの右側の細線化処理がなされ、オブジェクトの下側のエッジの置換え（Ｓ１０８）により、オブジェクトの下側の細線化処理がなされる。これにより、細線化処理による細線化の度合いをさらに増大させることができる。ステップＳ１０７およびＳ１０８における処理、ならびに、ステップＳ１０９およびＳ１１０における処理は、所定の方向が異なる以外、それぞれステップＳ１０３およびＳ１０４における処理と同様であるため、説明を省略する。
【０１００】
なお、図３のフローチャートは、一部のステップを省略してもよく、他のステップが追加されてもよい。例えば、ステップＳ１０１を省略して、対象画像を分割せずに、ステップＳ１０２〜Ｓ１１０を実行してもよい。また、ステップＳ１０２〜ステップＳ１０５のみが実行されてもよい。また、ステップＳ１０２およびステップＳ１０３、ならびに、ステップＳ１０７およびステップＳ１０８のみが実行されてもよい。また各ステップの一部は同時に実行されてもよく、一つのステップが複数のステップに分割されて実行されてもよい。また、各ステップの順番は変更され得る。
【０１０１】
図１２は、細線化処理の結果を示す図である。図１２のＡは、黒色の文字（テキスト）の対象画像に対する細線化処理の結果を、細線化処理がされていない場合と比較して示す図である。図１２のＢは、白抜きの文字の対象画像に対する細線化処理の結果を、細線化処理がされていない場合と比較して示す図である。図１２においては、細線化未処理の結果と、「弱」設定の細線化処理の結果と、「強」設定の細線化処理の結果とが、原画像と出力画像とが比較されて示されている。原画像とは、画像形成部１７０により形成される前の対象画像であり、出力画像とは、画像形成部１７０により用紙９００上に形成された対象画像である。
【０１０２】
図１２のＡに示すように、原画像では、細線化未処理の画像と比較して、細線化処理された画像は文字の線が細くなっている。一方、原画像と出力画像を比較すると、出力画像の方が文字の線が太くなっている。細線化処理をすることにより、出力画像の文字の線の太さが、細線化未処理の原画像に近づけられていることが判る。
【０１０３】
図１２のＢに示すように、原画像では、細線化未処理の画像と比較して、細線化処理された画像は文字の線が太くなっている。これは、明度が低い画素がオブジェクトの内部（ＩＥ等）と判断されることから、文字以外の黒色の部分に対しエッジの置換えの処理がなされたためである。一方、原画像と出力画像を比較すると、出力画像の方が文字の線が細くなっている。細線化処理をすることにより、出力画像の文字の線の太さが、細線化未処理の原画像に近づけられていることが判る。
【０１０４】
上述した実施形態は、以下の効果を奏する。
【０１０５】
画像に含まれるオブジェクトのエッジをなす画素対にそれぞれオブジェクト内外の属性を付与し、当該属性が付与された各画素の位置関係に基づいて、当該画素以外で、オブジェクト内部と判断した画素に、オブジェクト内の属性を付与する。そして、注目画素に近接する画素のうちオブジェクト内の属性の画素の、数および位置関係に基づいて、当該注目画素を当該注目画素の直前に走査された画素の画素値に置換するかどうか判定する。これにより、画像の各画素の属性が既知でなくても、適切かつ高速な細線化処理ができる。
【０１０６】
さらに、画像データを、カラーの画像データとする。これにより、カラーの画像データに対して、効果的に、適切かつ高速な細線化処理ができる。
【０１０７】
さらに、エッジ検出注目画素と、エッジ検出注目画素の前後の２画素とを含む３画素の画素値に関するフィルタリング処理する、３×１のラプラシアンフィルターを、所定の方向に走査して、エッジ検出注目画素のエッジ値を算出していき、少なくとも１色のエッジ値の絶対値が閾値以上の画素が隣接する画素対を、エッジ画素対として検出する。これにより、高速かつ高精度にエッジ画素対を検出できる。
【０１０８】
さらに、検出されたエッジ画素対についてそれぞれ明度を算出し、明度の低い方の画素に内部エッジの属性を付与し、明度の低い方の画素に外部エッジの属性を付与する。これにより、高速かつ高精度に、エッジ画素対にオブジェクト内外の属性を付与できる。
【０１０９】
さらに、エッジ画素対が検出されるごとに、エッジ画素対のそれぞれの画素に対し属性を付与し、内部エッジの属性を付与された後に最初に付与された属性が内部エッジの属性だった場合、当該内部エッジの属性を付与された２つの内部エッジ画素の間に存在する全ての画素に内部非エッジの属性を付与して内部非エッジ画素とする。これにより、高速かつ高精度に、オブジェクト内部の画素に属性を付与できる。
【０１１０】
さらに、対象画像の端部と内部エッジ画素との間に、エッジ画素対のいずれの画素も存在しない場合、当該端部と当該内部エッジ画素との間の画素に内部非エッジの属性を付与して内部非エッジ画素とする。これにより、高速かつ高精度に、対象画像の端に配置されたオブジェクトの内部の画素に属性を付与できる。
【０１１１】
さらに、第１のエッジ画素対の外部エッジ画素が出現した後、所定の方向に、エッジ画素対を構成する画素として最初に出現した画素が、第１のエッジ画素対と異なる第２のエッジ画素対の内部エッジ画素であった場合、第２のエッジ画素対の内部エッジ画素の所定の方向に対し反対方向に隣接する画素に内部非エッジの属性を付与して内部非エッジ画素とする。そして、第３のエッジ画素対の内部エッジ画素が出現した後、所定の方向に、エッジ画素対を構成する画素として最初に出現した画素が、第３のエッジ画素対と異なる第４のエッジ画素対の外部エッジ画素であった場合、第３のエッジ画素対の内部エッジ画素の所定の方向に隣接する画素に内部非エッジの属性を付与して内部非エッジ画素とする。これにより、複数のオブジェクトが重なることで多層構造をなす対象画像に対しても、適切かつ高速な細線化処理ができる。
【０１１２】
さらに、注目画素に隣接する８つの隣接画素のうちの、内部エッジ画素および内部非エッジ画素の合計数、ならびに、８つの隣接画素のうちの、内部エッジ画素と内部非エッジ画素との位置関係に基づいて、注目画素の画素値を、注目画素の走査の直前に走査された、注目画素に隣接する外部エッジ画素の画素値に置換するかどうか判定する。これにより、オブジェクトの特徴に対応して、より適切に細線化処理ができる。
【０１１３】
さらに、（１）上記合計数が０または７の場合、（２）上記合計数が１で、かつ８つの隣接画素にそれぞれ隣接する８つの画素のうち内部エッジ画素および内部非エッジ画素の数を加算した値が２以下の場合、（３）上記合計数が２で、上記合計数として数が加算された画素が隣接している場合、（４）上記合計数が３で、上記合計数として数が加算された画素が隣接している場合、（５）上記合計数が４で、上記合計数として数が加算された画素が隣接している場合、（６）上記合計数が５で、上記隣接画素のうちの、内部エッジ画素および内部非エッジ画素のいずれでもない画素が、注目画素に対し、上下の両方、左右の両方、または斜め方向の両方に存在している場合、および、（７）上記合計数が６で、上記隣接画素のうちの、内部エッジ画素および内部非エッジ画素のいずれでもない画素が、注目画素に対し、上下の両方、左右の両方、または斜め方向の両方に存在している場合、のいずれかである場合は、注目画素の画素値を、注目画素の走査の直前に走査された、注目画素に隣接する外部エッジ画素の画素値に置換しないと判定する。それ以外の場合は、注目画素の画素値を、注目画素の走査の直前に走査された、注目画素に隣接する外部エッジ画素の画素値に置換すると判定する。これにより、オブジェクトの特徴に対応して、さらに適切かつ高精度に細線化処理ができる。
【０１１４】
さらに、細線化処理の強弱の選択を受け付け、弱の選択が受け付けられた場合、所定の方向を第１方向として上記細線化処理を行った後、所定の方向を第１方向と直交する第２方向として上記細線化処理を行う。そして、強の選択が受け付けられた場合、所定の方向を第１方向として上記細線化処理を行った後、所定の方向を第２方向として上記細線化処理を行い、さらに、所定の方向を第１方向に対し反対方向の第３方向として上記細線化処理を行った後、所定の方向を第２方向に対し反対方向の第４方向として上記細線化処理を行う。これにより、ユーザーの希望に応じた、適切な細線化処理ができる。
【０１１５】
さらに、所定の方向を第５方向として上記細線化処理を行った後、所定の方向を第５方向に直交する方向として上記細線化処理を行う。これにより、細線化処理の設定に関するユーザーへの負担を低減できるとともに、適切な細線化処理を実現できる。
【０１１６】
さらに、所定の方向を第６方向として上記細線化処理を行った後、所定の方向を第６方向に対し反対方向として上記細線化処理を行う。これにより、細線化処理の設定に関するユーザーへの負担を低減できるとともに、適切な細線化処理を実現できる。
【０１１７】
さらに、多値画像データを、当該多値画像データに基づく画像の複数の領域に対応して分割することで複数の分割データを生成し、当該複数の分割データに対し、並列に上記細線化処理を行う。これにより、細線化処理のさらなる高速化を実現できる。
【０１１８】
さらに、多値画像データを、当該多値画像データに基づく画像の複数の領域に対応して分割するとともに、分割データに基づく画像の、分割方向の上下の端部に２画素以上のマージン部分を付加し、マージン部分が付加された分割画像にそれぞれ対応する複数の分割データに対し、並列に上記細線化処理を行う。これにより、細線化処理のさらなる高速化と高精度化を実現できる。
【０１１９】
本発明は、上述した実施形態に限定されない。
【０１２０】
例えば、実施形態においては、ＩＥを注目画素としたときの８つの隣接画素を近接画素とし、近接画素のうちの、ＩＥおよびＩＮの合計数、ならびに当該ＩＥとＩＮとの位置関係に基づいて、注目画素の画素値を、当該注目画素の走査の直前に走査された、当該注目画素に隣接するＯＥの画素値に置換するかどうか判定している。しかし、近接画素は、注目画素との距離が近い順に選択された９つ以上の画素であってもよい。
【０１２１】
また、細線化処理の設定は強弱の２段階でなくてもよく、例えば、強弱中の３段階であってもよい。この場合、中の設定がされたときは、例えば、ステップＳ１０１〜Ｓ１０８による細線化処理を実行し得る。
【０１２２】
また、実施形態においては、記憶媒体として用紙を例に説明したが、記録媒体は用紙に限定されず、樹脂フィルム等であってもよい。
【０１２３】
また、本発明は、インクジェット方式の画像形成装置にも適用可能である。
【０１２４】
また、実施形態においてプログラムにより実行される処理の一部または全部を回路などのハードウェアに置き換えて実行され得る。
【符号の説明】
【０１２５】
４０  作像部、
５０  定着部、
６０  給紙部、
７０  用紙搬送部、
１００  画像形成装置、
１１０  制御部、
１２０  記憶部、
１３０  通信部、
１４０  操作表示部、
１５０  画像読取部、
１６０  画像制御部、
１７０  画像形成部、
９００  用紙。
【図１】
2020098497.tif 000003
【図２】
2020098497.tif 000004
【図３】
2020098497.tif 000005
【図４】
2020098497.tif 000006
【図５】
2020098497.tif 000007
【図６】
2020098497.tif 000008
【図７】
2020098497.tif 000009
【図８】
2020098497.tif 000010
【図９】
2020098497.tif 000011
【図１０】
2020098497.tif 000012
【図１１Ａ】
2020098497.tif 000013
【図１１Ｂ】
2020098497.tif 000014
【図１１Ｃ】
2020098497.tif 000015
【図１１Ｄ】
2020098497.tif 000016
【図１１Ｅ】
2020098497.tif 000017
【図１２】
2020098497.tif 000018