(57)【要約】 【課題】  複数種類の解析処理を実行する場合に、画像内のオブジェクトに関する判定を行う画像処理の処理時間を低減する。【解決手段】  画像処理装置は、画像内のオブジェクトに対して実行されるべき複数の解析処理のうち、第１の解析処理の処理時間と、第２の解析処理の処理時間と、を判断する処理時間判断部と、第１の解析処理の処理時間が、第２の解析処理の処理時間未満であると判断される第１の場合に、第２の解析処理に先行して第１の解析処理を実行し、第１の解析処理の処理時間が、第２の解析処理の処理時間以上であると判断される第２の場合に、第１の解析処理に先行して、第２の解析処理を実行する解析処理部と、実行された処理の処理結果に基づいて、オブジェクトの属性を判断する属性判断部と、を備える。【選択図】  図５
2014194659.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
画像データによって表される画像内のオブジェクトを特定する特定部と、
前記オブジェクトに対して実行されるべき複数の解析処理のうち、第１の解析処理の処理時間と、第２の解析処理の処理時間と、を判断する処理時間判断部と、
前記第１の解析処理の処理時間が、前記第２の解析処理の処理時間未満であると判断される第１の場合に、前記第２の解析処理に先行して前記第１の解析処理を実行し、前記第１の解析処理の処理時間が、前記第２の解析処理の処理時間以上であると判断される第２の場合に、前記第１の解析処理に先行して、前記第２の解析処理を実行する解析処理部であって、
前記第１の場合であって、前記第１の解析処理の処理結果が第１の結果である場合には、前記第２の解析処理を実行し、前記第１の解析処理の処理結果が第１の結果と異なる場合には、前記第２の解析処理を実行せず、
前記第２の場合であって、前記第２の解析処理の処理結果が第２の結果である場合には、前記第１の解析処理を実行し、前記第２の解析処理の処理結果が第２の結果と異なる場合には、前記第１の解析処理を実行しない、
前記解析処理部と、
前記複数の解析処理のうち、実行された処理の処理結果に基づいて、前記オブジェクトの属性を判断する属性判断部と、
を備える、画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記処理時間判断部は、前記第１の解析処理の処理対象である画素の個数に応じた第１の値を用いて、前記第１の解析処理の処理時間を判断し、前記第２の解析処理の処理対象である画素の個数に応じた第２の値を用いて、前記第２の解析処理の処理時間を判断する、画像処理装置。
【請求項３】
請求項２に記載の画像処理装置であって、
前記第１の解析処理は、前記オブジェクトを含む特定領域内の複数個の画素に対する処理を含み、
前記第１の値は、前記特定領域内の画素の個数に応じた値であり、
前記第２の解析処理は、前記オブジェクトを構成する複数個の画素に対する処理を含み、
前記第２の値は、前記オブジェクトを構成する画素の個数に応じた値である、画像処理装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の画像処理装置であって、
前記第１の解析処理は、処理対象の１個以上の画素毎に繰り返される第１の単位処理を含み、
前記第２の解析処理は、処理対象の１個以上の画素毎に繰り返される第２の単位処理を含み、
前記処理時間判断部は、前記第１の単位処理の処理負荷に応じた値を用いて、前記第１の解析処理の処理時間を判断し、前記第２の単位処理の処理負荷に応じた値を用いて、前記第２の解析処理の処理時間を判断する、画像処理装置。
【請求項５】
請求項１ないし請求項４のいずれかに記載の画像処理装置であって、
前記属性判断部は、前記複数の解析処理のうち、実行された処理の処理結果に基づいて、前記オブジェクトが、画像内の一部の領域を囲む囲み線であるか否かを判断する、画像処理装置。
【請求項６】
請求項５に記載の画像処理装置であって、
前記第１の解析処理は、前記オブジェクトが線であるか否かを解析する処理であり、
前記第１の解析処理の前記第１の結果は、前記オブジェクトが線であることを示す第１の条件を満たすことであり、
前記属性判断部は、前記第１の解析処理の結果が前記第１の条件を満たさない場合には、前記第２の解析処理とは無関係に、前記オブジェクトが前記囲み線ではないと判断する、画像処理装置。
【請求項７】
請求項６に記載の画像処理装置であって、
前記第１の解析処理は、前記特定領域内の第１の方向に延びる複数の直線上において、前記オブジェクトを構成する画素の分布を解析する処理を含み、
前記第１の条件は、前記オブジェクトを構成する画素が前記第１の方向に連続する個数が基準以下であることを含む、画像処理装置。
【請求項８】
請求項７に記載の画像処理装置であって、
前記第１の解析処理は、さらに、前記特定領域内の前記第１の方向と交差する第２の方向に延びる複数の直線上において、前記オブジェクトを構成する画素の分布を解析する処理とを含み、
前記第１の条件は、前記オブジェクトを構成する画素が前記第１の方向に連続する個数が基準以下であり、かつ、前記オブジェクトを構成する画素が前記第２の方向に連続する個数が基準以下であることを含む、画像処理装置。
【請求項９】
請求項５ないし請求項７のいずれかに記載の画像処理装置であって、
前記第２の解析処理は、前記オブジェクトが画像内の一部の領域を囲む形状を成すか否かを解析する処理であり、
前記第２の解析処理の前記第２の結果は、前記オブジェクトが画像内の一部の領域を囲む形状を成すことを示す第２の条件を満たすことであり、
前記属性判断部は、前記第２の解析処理の結果が前記第２の条件を満たさない場合には、前記第１の解析処理とは無関係に、前記オブジェクトが前記囲み線ではないと判断する、画像処理装置。
【請求項１０】
請求項９に記載の画像処理装置であって、
前記第２の解析処理は、
前記オブジェクトを構成する複数個の特定画素のそれぞれに対応する複数個の枠領域を設定する設定処理であって、前記枠領域は、対応する特定画素が、前記枠領域と、前記枠領域の内側とのいずれかの位置に含まれる枠状の領域である、前記設定処理と、
前記複数個の枠領域のそれぞれについて、前記枠領域に含まれるオブジェクト部分領域の個数を判断する第１の判断処理であって、前記オブジェクト部分領域は、前記オブジェクトを構成する１個以上の前記特定画素が連続して並ぶ領域である、前記第１の判断処理と、
前記オブジェクトを構成する複数個の前記特定画素に対する第１の特定画素の割合が基準以上であるか否かを判断する第２の判断処理であって、第１の特定画素は、前記オブジェクトを構成する複数個の前記特定画素のうち、対応する前記枠領域に含まれる前記前記オブジェクト部分領域の個数が２個である前記特定画素である、前記第２の判断処理と、
を含み、
前記第２の条件は、前記第１の特定画素の割合が基準以上であることを含む、画像処理装置。
【請求項１１】
請求項９に記載の画像処理装置であって、
前記第２の解析処理は、さらに、
第２の特定画素に基づく条件が満たされるか否かを判断する第３の判断処理であって、前記第２の特定画素は、前記オブジェクトを構成する複数個の前記特定画素のうち、対応する前記枠領域に含まれる前記オブジェクト部分領域の個数がＭ個（Ｍは、１、３、４、５のうちのいずれかの整数）である前記特定画素である、前記第３の判断処理を含み、
前記第２の条件は、前記第２の特定画素に基づく条件を含む、画像処理装置。
【請求項１２】
画像処理を実行するためのコンピュータプログラムであって、
画像データによって表される画像内のオブジェクトを特定する特定機能と、
前記オブジェクトに対して実行されるべき複数の解析処理のうち、第１の解析処理の処理時間と、第２の解析処理の処理時間と、を判断する処理時間判断機能と、
前記第１の解析処理の処理時間が、前記第２の解析処理の処理時間未満であると判断される第１の場合に、前記第２の解析処理に先行して前記第１の解析処理を実行し、前記第１の解析処理の処理時間が、前記第２の解析処理の処理時間以上であると判断される第２の場合に、前記第１の解析処理に先行して、前記第２の解析処理を実行する解析処理機能であって、
前記第１の場合であって、前記第１の解析処理の処理結果が第１の結果である場合には、前記第２の解析処理を実行し、前記第１の解析処理の処理結果が第１の結果と異なる場合には、前記第２の解析処理を実行せず、
前記第２の場合であって、前記第２の解析処理の処理結果が第２の結果である場合には、前記第１の解析処理を実行し、前記第２の解析処理の処理結果が第２の結果と異なる場合には、前記第１の解析処理を実行しない、
前記解析処理機能と、
前記複数の解析処理のうち、実行された処理の処理結果に基づいて、前記オブジェクトの属性を判断する属性判断機能と、
をコンピュータに実現させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理技術に関し、特に、処理対象の画像内のオブジェクトに関する判断を実行する画像処理技術に関する。
【背景技術】
【０００２】
特許文献１は、複数種類のアルゴリズムを利用した複数種類の解析処理を画像データに対して実行して、画像内の輪郭線を抽出する技術が開示されている。この技術では、画像処理装置は、複数種類の解析処理の処理結果を用いて、最終的に抽出される輪郭線を決定している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−９２６５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術のように、複数種類の解析処理を用いる場合には、輪郭線を抽出するための処理時間が過大になる可能性があった。このような課題は、輪郭線の抽出に限らず、画像データに対する解析処理によって、画像内のオブジェクトに関する判定を行う際に共通する課題であった。
【０００５】
本発明の目的は、複数種類の解析処理を実行する場合に、画像内のオブジェクトに関する判定を行う画像処理の処理時間を低減することである。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
【０００７】
［適用例１］画像処理装置であって、画像データによって表される画像内のオブジェクトを特定する特定部と、前記オブジェクトに対して実行されるべき複数の解析処理のうち、第１の解析処理の処理時間と、第２の解析処理の処理時間と、を判断する処理時間判断部と、前記第１の解析処理の処理時間が、前記第２の解析処理の処理時間未満であると判断される第１の場合に、前記第２の解析処理に先行して前記第１の解析処理を実行し、前記第１の解析処理の処理時間が、前記第２の解析処理の処理時間以上であると判断される第２の場合に、前記第１の解析処理に先行して、前記第２の解析処理を実行する解析処理部であって、前記第１の場合であって、前記第１の解析処理の処理結果が第１の結果である場合には、前記第２の解析処理を実行し、前記第１の解析処理の処理結果が第１の結果と異なる場合には、前記第２の解析処理を実行せず、前記第２の場合であって、前記第２の解析処理の処理結果が第２の結果である場合には、前記第１の解析処理を実行し、前記第２の解析処理の処理結果が第２の結果と異なる場合には、前記第１の解析処理を実行しない、前記解析処理部と、前記複数の解析処理のうち、実行された処理の処理結果に基づいて、前記オブジェクトの属性を判断する属性判断部と、を備える、画像処理装置。
【０００８】
上記構成によれば、第１の解析処理と第２の解析処理のうち、処理時間が短いと判断される処理が先行して実行される。そして、第１の解析処理が先行して実行される場合であって、第１の解析処理の処理結果が第１の結果と異なる場合には、第２の解析処理が実行されない。また、第２の解析処理が先行して実行される場合であって、第２の解析処理の処理結果が第２の結果と異なる場合には、第１の解析処理が実行されない。この結果、第１の解析処理と第２の解析処理のうち、処理時間が長い処理が実行されることなく、オブジェクトの属性を判断できる可能性が高くなる。したがって、オブジェクトの属性を判断するための解析処理の処理時間を低減することができる。
【０００９】
［適用例２］適用例１に記載の画像処理装置であって、前記処理時間判断部は、前記第１の解析処理の処理対象である画素の個数に応じた第１の値を用いて、前記第１の解析処理の処理時間を判断し、前記第２の解析処理の処理対象である画素の個数に応じた第２の値を用いて、前記第２の解析処理の処理時間を判断する、画像処理装置。
【００１０】
この構成によれば、処理対象である画素の個数に応じて、第１の解析処理の処理時間と、第２の解析処理の処理時間と、を適切に判断することができる。
【００１１】
［適用例３］適用例２に記載の画像処理装置であって、前記第１の解析処理は、前記オブジェクトを含む特定領域内の複数個の画素に対する処理を含み、前記第１の値は、前記特定領域内の画素の個数に応じた値であり、前記第２の解析処理は、前記オブジェクトを構成する複数個の画素に対する処理を含み、前記第２の値は、前記オブジェクトを構成する画素の個数に応じた値である、画像処理装置。
【００１２】
この構成によれば、第１の解析処理と第２の解析処理の処理内容に応じて、第１の解析処理の処理時間と、第２の解析処理の処理時間を適切に判断できる。
【００１３】
［適用例４］適用例１ないし適用例３のいずれかに記載の画像処理装置であって、前記第１の解析処理は、処理対象の１個以上の画素毎に繰り返される第１の単位処理を含み、前記第２の解析処理は、処理対象の１個以上の画素毎に繰り返される第２の単位処理を含み、前記処理時間判断部は、前記第１の単位処理の処理負荷に応じた値を用いて、前記第１の解析処理の処理時間を判断し、前記第２の単位処理の処理負荷に応じた値を用いて、前記第２の解析処理の処理時間を判断する、画像処理装置。
【００１４】
この構成によれば、単位処理の処理負荷に応じて、第１の解析処理の処理時間と、第２の解析処理の処理時間と、を適切に判断することができる。
【００１５】
［適用例５］適用例１ないし適用例４のいずれかに記載の画像処理装置であって、前記属性判断部は、前記複数の解析処理のうち、実行された処理の処理結果に基づいて、前記オブジェクトが、画像内の一部の領域を囲む囲み線であるか否かを判断する、画像処理装置。
【００１６】
この構成によれば、オブジェクトが、画像内の一部の領域を囲む囲み線であるか否かを判断するための解析処理の処理時間を低減することができる。
【００１７】
［適用例６］適用例５に記載の画像処理装置であって、前記第１の解析処理は、前記オブジェクトが線であるか否かを解析する処理であり、前記第１の解析処理の前記第１の結果は、前記オブジェクトが線であることを示す第１の条件を満たすことであり、前記属性判断部は、前記第１の解析処理の結果が前記第１の条件を満たさない場合には、前記第２の解析処理とは無関係に、前記オブジェクトが前記囲み線ではないと判断する、画像処理装置。
【００１８】
この構成によれば、第１の解析処理が第２の解析処理に先行して実行された場合であって、第１の解析処理の結果が第１の条件を満たさない場合には、第２の解析処理を行うことなく、オブジェクトが囲み線ではないと判断できる。この結果、オブジェクトが囲み線であるか否かを判断するための解析処理の処理時間を低減することができる。
【００１９】
［適用例７］適用例６に記載の画像処理装置であって、前記第１の解析処理は、前記特定領域内の第１の方向に延びる複数の直線上において、前記オブジェクトを構成する画素の分布を解析する処理を含み、前記第１の条件は、前記オブジェクトを構成する画素が前記第１の方向に連続する個数が基準以下であることを含む、画像処理装置。
【００２０】
この構成によれば、第１の方向に延びる複数の直線上におけるオブジェクトを構成する画素の分布に基づいて、オブジェクトが線であるか否かを解析する。この結果、オブジェクトが線であるか否かを適切に判断することができる。
【００２１】
［適用例８］適用例７に記載の画像処理装置であって、前記第１の解析処理は、さらに、前記特定領域内の前記第１の方向と交差する第２の方向に延びる複数の直線上において、前記オブジェクトを構成する画素の分布を解析する処理とを含み、前記第１の条件は、前記オブジェクトを構成する画素が前記第１の方向に連続する個数が基準以下であり、かつ、前記オブジェクトを構成する画素が前記第２の方向に連続する個数が基準以下であることを含む、画像処理装置。
【００２２】
この構成によれば、第１の方向に延びる複数の直線上と、第２の方向に延びる複数の直線上と、におけるオブジェクトを構成する画素の分布に基づいて、オブジェクトが線であるか否かを解析する。この結果、オブジェクトが線であるか否かを適切に判断することができる。
【００２３】
［適用例９］適用例５ないし適用例７のいずれかに記載の画像処理装置であって、前記第２の解析処理は、前記オブジェクトが画像内の一部の領域を囲む形状を成すか否かを解析する処理であり、前記第２の解析処理の前記第２の結果は、前記オブジェクトが画像内の一部の領域を囲む形状を成すことを示す第２の条件を満たすことであり、前記属性判断部は、前記第２の解析処理の結果が前記第２の条件を満たさない場合には、前記第１の解析処理とは無関係に、前記オブジェクトが前記囲み線ではないと判断する、画像処理装置。
【００２４】
この構成によれば、第２の解析処理が第１の解析処理に先行して実行された場合であって、第２の解析処理の結果が第２の条件を満たさない場合には、第２の解析処理を行うことなく、オブジェクトが囲み線ではないと判断できる。この結果、オブジェクトが囲み線であるか否かを判断するための解析処理の処理時間を低減することができる。
【００２５】
［適用例１０］適用例９に記載の画像処理装置であって、前記第２の解析処理は、前記オブジェクトを構成する複数個の特定画素のそれぞれに対応する複数個の枠領域を設定する設定処理であって、前記枠領域は、対応する特定画素が、前記枠領域と、前記枠領域の内側とのいずれかの位置に含まれる枠状の領域である、前記設定処理と、前記複数個の枠領域のそれぞれについて、前記枠領域に含まれるオブジェクト部分領域の個数を判断する第１の判断処理であって、前記オブジェクト部分領域は、前記オブジェクトを構成する１個以上の前記特定画素が連続して並ぶ領域である、前記第１の判断処理と、前記オブジェクトを構成する複数個の前記特定画素に対する第１の特定画素の割合が基準以上であるか否かを判断する第２の判断処理であって、第１の特定画素は、前記オブジェクトを構成する複数個の前記特定画素のうち、対応する前記枠領域に含まれる前記前記オブジェクト部分領域の個数が２個である前記特定画素である、前記第２の判断処理と、を含み、前記第２の条件は、前記第１の特定画素の割合が基準以上であることを含む、画像処理装置。
【００２６】
この構成によれば、オブジェクトを構成する複数個の特定画素のそれぞれに設定される枠領域を用いて、オブジェクトが画像内の一部の領域を囲むか否かを解析する。この結果、オブジェクトが画像内の一部の領域を囲むか否かを適切に判断することができる。
【００２７】
［適用例１１］適用例９に記載の画像処理装置であって、前記第２の解析処理は、さらに、第２の特定画素に基づく条件が満たされるか否かを判断する第３の判断処理であって、前記第２の特定画素は、前記オブジェクトを構成する複数個の前記特定画素のうち、対応する前記枠領域に含まれる前記オブジェクト部分領域の個数がＭ個（Ｍは、１、３、４、５のうちのいずれかの整数）である前記特定画素である、前記第３の判断処理を含み、前記第２の条件は、前記第２の特定画素に基づく条件を含む、画像処理装置。
【００２８】
上記構成によれば、第２の特定画素に基づく条件を用いて、オブジェクトが画像内の一部の領域を囲むか否か解析する。この結果、オブジェクトが画像内の一部の領域を囲むか否かを適切に判断することができる。
【００２９】
なお、本発明は、種々の形態で実現することが可能であり、例えば、画像処理方法、これらの装置の機能または方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、等の形態で実現することができる。
【図面の簡単な説明】
【００３０】
【図１】第１実施例における画像処理システムの構成を示すブロック図である。
【図２】画像処理システム１０００の動作を示すフローチャートである。
【図３】原稿および画像の一例を示す図である。
【図４】収縮処理と膨張処理を説明する図である。
【図５】オブジェクト判定処理のフローチャートである。
【図６】線判定処理の説明図である。
【図７】形状判定処理のフローチャートである。
【図８】形状判定処理の第１の説明図である。
【図９】形状判定処理の第２の説明図である。
【図１０】特定領域ＥＳを用いる判定について説明する図である。
【図１１】処理順序決定処理のフローチャートである。
【図１２】部分画像ＰＳＩの一例と部分二値画像ＰＢＩの一例を示す図である。
【図１３】内包関係判定処理のフローチャートである。
【発明を実施するための形態】
【００３１】
Ａ．第１実施例：
Ａ−１：画像処理システム１０００の構成
図１は、第１実施例における画像処理システムの構成を示すブロック図である。画像処理システム１０００は、画像処理装置としてのサーバ４００と、複合機２００と、を備えている。サーバ４００は、インターネット７０に接続されており、複合機２００は、ＬＡＮ（Local Area Network）５０を介して、インターネット７０に接続されている。この結果、サーバ４００と複合機２００は、ＬＡＮ５０とインターネット７０とを介して、通信可能である。また、ＬＡＮ５０には、複合機２００の利用者のパーソナルコンピュータ５００が接続されていても良い。
【００３２】
サーバ４００は、ＣＰＵ４１０と、ＤＲＡＭなどの揮発性記憶装置４２０と、ハードディスクドライブやフラッシュメモリなどの不揮発性記憶装置４３０と、インターネット７０などのネットワークに接続するためのインタフェースを含む通信部４８０と、を備えている。揮発性記憶装置４２０には、ＣＰＵ４１０が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域４２１が設けられている。不揮発性記憶装置４３０には、後述する画像処理をＣＰＵ４１０に実現させるコンピュータプログラム４３１が格納されている。コンピュータプログラム４３１は、ＤＶＤ−ＲＯＭなどに記録された形態で提供され得る。
【００３３】
ＣＰＵ４１０は、コンピュータプログラム４３１を実行することにより、画像処理部３００として機能する。画像処理部３００は、処理対象の画像データ（対象画像データとも呼ぶ）を取得する画像データ取得部３１０と、対象画像データによって表される対象画像内のオブジェクトを特定するオブジェクト特定部３２０と、処理時間判断部３３０と、解析処理部３５０と、属性判断部３６０と、囲み線に囲まれたオブジェクトを除去する処理を実行する除去処理部３７０と、を備えている。解析処理部３５０は、オブジェクトに対して複数の解析処理を実行可能である。具体的には、解析処理部３５０は、オブジェクトが単色であるか否かを判定する色判定部３５１と、オブジェクトが線であるか否かを判定する線判定部３５２と、オブジェクトが、領域を囲む形状を有しているか否かを判定する形状判定部３５３と、を備えている。処理時間判断部３３０は、オブジェクトに対して実行されるべき複数の解析処理のうちの特定の処理の処理時間を判断する。属性判断部３６０は、複数の解析処理のうち、実行された処理の処理結果に基づいて、オブジェクトの属性、具体的には、オブジェクトが囲み線であるか否かを判断する。ここで、囲み線は、後述するように、対象画像内の一部の領域、例えば、他のオブジェクトを示す領域や、オブジェクトが含まれない背景領域を囲む線である。例えば、囲み線は、赤色のペンなどにより原稿上に形成され、この原稿を読み取ることによって得られる画像データ（スキャンデータ）によって表される画像上に現れる。これらの各機能部が行う具体的な画像処理については、後述する。
【００３４】
複合機２００は、ＣＰＵ２１０と、ＤＲＡＭなどの揮発性記憶装置２２０と、フラッシュメモリやハードディスクドライブなどの不揮発性記憶装置２３０と、プリンタ部２４０と、スキャナ部２５０と、タッチパネルやボタンなどの操作部２６０と、液晶ディスプレイなどの表示部２７０と、ＬＡＮ５０などのネットワークに接続するためのインタフェースを含む通信部２８０と、を備えている。
【００３５】
揮発性記憶装置２２０には、ＣＰＵ２１０が処理を行う際に生成される種々のデータを一時的に格納するバッファ領域２２１が設けられている。不揮発性記憶装置２３０には、制御プログラム２３１が格納されている。
【００３６】
プリンタ部２４０は、インクジェット方式やレーザー方式などの印刷方式を用いて印刷を実行する。スキャナ部２５０は、光電変換素子（例えば、ＣＣＤ、ＣＭＯＳ）を用いて原稿を読み取ることによってスキャンデータを生成する取得する。スキャンデータは、ＲＧＢ画素データによって構成されたビットマップデータ（ＲＧＢ画像データ）である。ＲＧＢ画素データは、レッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）の３つの色成分の色成分値（本実施例の各色成分値は、２５６階調の階調値）を含む画素データである。以下では、色成分のうち、レッド成分をＲ成分とも呼び、グリーン成分をＧ成分とも呼び、ブルー成分をＢ成分とも呼ぶ。
【００３７】
ＣＰＵ２１０は、制御プログラム２３１を実行することにより、通信制御部１１０と、装置制御部１２０と、として機能する。装置制御部１２０は、例えば、プリンタ部２４０やスキャナ部２５０を制御して、コピー処理、印刷処理、スキャン処理などを実行する。通信制御部１１０は、外部機器との通信を制御する機能部であり、具体的には、後述する画像処理において、サーバ４００との間で、画像データの送受信を行う画像データ送受信部１１５を備えている。
【００３８】
Ａ−１：画像処理システム１０００の動作
サーバ４００の画像処理部３００は、処理対象の画像データ（対象画像データとも呼ぶ）に対して画像処理を実行して、処理済みの画像データを生成する。この画像処理を含む画像処理システム１０００の動作について説明する。
【００３９】
図２は、画像処理システム１０００の動作を示すフローチャートである。このフローチャートの処理は、複合機２００が、特定の動作モードの指定と、原稿ＳＣの読取指示を、利用者から受け付けた場合に実行される。この特定の動作モードは、原稿ＳＣから、囲み線に囲まれた特定のオブジェクトを除いた画像を表す画像データを生成するモードであり、特定オブジェクト除去モードとも呼ぶ。
【００４０】
処理が開始されると、ステップＳ１０５では、複合機２００の装置制御部１２０（図１）は、スキャナ部２５０を用いて原稿ＳＣを読み取ることによって、スキャンデータを生成する。
【００４１】
図３は、原稿および画像の一例を示す図である。図３（Ａ）には、スキャンデータによって表されるスキャン画像６０の一例が示されている。スキャン画像６０は、原稿ＳＣを表す画像であるから、図３（Ａ）は、原稿ＳＣの一例を示す図と言うこともできる。
【００４２】
スキャン画像６０（原稿ＳＣ）は、オブジェクトとして、４個の文字６１〜６４と、２個の描画６５、６７と、１個の写真６８と、囲み線６６と、を含んでいる。描画は、例えば、イラスト、表、グラフ、線図、ベクトルグラフィックス、模様などを表すオブジェクトである。囲み線６６は、オブジェクト除去モードで使用すべき囲み線の色として予め指定された色（本実施例では、赤）のペンを用いて、利用者によって原稿ＳＣに手書きされたオブジェクトである。利用者は、除去対象のオブジェクトを囲む囲み線を原稿ＳＣに手書きする。図３（Ａ）の例では、囲み線６６は、描画６５を囲んでいる。なお、３個の文字６１〜６３は、赤色の文字であり、１個の文字６４は、赤色ではない文字である。描画６５は、赤色の部分を含んでおらず、描画６７と写真６８は、赤色の部分を含んでいる。
【００４３】
続いて、ステップＳ１１０では、サーバ４００の画像データ送受信部１１５は、スキャンデータを、サーバ４００に対して送信する。例えば、スキャンデータは、ＪＰＥＧ圧縮されて、サーバ４００に送信される。この結果、サーバ４００の画像処理部３００の画像データ取得部３１０は、対象画像データとして、複合機２００からスキャンデータを取得する。
【００４４】
スキャンデータが取得されると、画像処理部３００は、スキャン画像６０内の囲み線を特定するための一連の処理を実行する（ステップＳ１２０〜Ｓ１４５）。
【００４５】
先ず、ステップＳ１２０では、オブジェクト特定部３２０は、囲み線の候補となるオブジェクトを特定するために、スキャンデータに対して二値化処理を実行して、二値画像データを生成する。具体的には、スキャンデータは、スキャン囲み線の色である赤色を表す色値を有する画素（赤色オブジェクト画素）と、赤色以外の色を表す色値を有する画素（非赤色画素）と、に二値化される。例えば、Ｒ成分値が基準値Ｒｔｈ以上、かつ、Ｇ成分値が基準値Ｇｔｈ以下、かつ、Ｂ成分値が基準値Ｂｔｈ以下である画素は、赤色オブジェクト画素に分類される。そして、Ｒ成分値が基準値Ｒｔｈより大きい、または、Ｇ成分値が基準値Ｇｔｈ未満、または、Ｂ成分値が基準値Ｂｔｈ未満である画素は、非赤色画素に分類される。なお、本実施例では、囲み線の色として赤色が想定されているので、本ステップにおいて、赤色オブジェクトが特定されているが、他の色が想定されている場合には、本ステップにおいて、当該他の色を含む範囲の色を有するオブジェクトが特定される。
【００４６】
図３（Ｂ）は、二値画像データによって表される二値画像６０Ａの一例を示す図である。二値画像６０Ａには、赤色オブジェクト画素によって構成される赤色オブジェクトとして、３個の文字６１Ａ〜６３Ａと、囲み線６６Ａと、描画６７および写真６８（図３（Ａ））の一部分である部分オブジェクト６７Ａ、６８Ａと、が含まれている。なお、文字６４および描画６５（図３（Ａ））は、赤色ではないので、二値画像６０Ａにおいて、赤色オブジェクトとして現れていない。
【００４７】
ステップＳ１２５では、オブジェクト特定部３２０は、赤色オブジェクトを収縮させる収縮処理と、赤色オブジェクトを膨張させる膨張処理とを、二値画像データに対してそれぞれ実行する。本実施例では、収縮処理が先に実行され、収縮処理済みの二値画像データ（収縮二値画像データ）に対して膨張処理が実行される。
【００４８】
図４は、収縮処理と膨張処理を説明する図である。図４（Ａ）には、二値画像６０Ａ（図３（Ｂ））の部分画像ＰＩ１が示されている。部分画像ＰＩ１は、収縮処理前の赤色オブジェクトの例としての囲み線６６Ａの一部と、ノイズ画素ＤＴを含んでいる。ノイズ画素ＤＴは、孤立した画素である。この孤立したノイズ画素ＤＴは、スキャン画像６０内のノイズによって二値画像６０Ａに現れた赤色オブジェクト画素であり、特定すべき赤色オブジェクトを構成していない。また、囲み線６６Ａは、断線した部分（断線部）ＮＴを含む場合がある。例えば、スキャン画像６０内の囲み線６６に、比較的色が薄い部分がある場合や、比較的線の幅が狭い部分がある場合などに、二値画像６０Ａ内の囲み線６６Ａに、断線部ＮＴが表れる場合がある。
【００４９】
収縮処理は、例えば、所定サイズのフィルタ、図４（Ａ）の例では、縦３画素×横３画素のサイズのフィルタＦＩ１を用いて実行される。具体的には、オブジェクト特定部３２０は、フィルタＦＩ１を、二値画像６０Ａを表す二値画像データに対して適用して、収縮二値画像データを生成する。すなわち、オブジェクト特定部３２０は、注目画素に、フィルタＦＩ１の中心位置ＣＣ１（図４（Ａ）参照）が重なるように、フィルタＦＩ１を二値画像６０Ａ上に配置する。オブジェクト特定部３２０は、フィルタＦＩ１の範囲内に、非赤色画素が１個でも存在する場合には、注目画素に対応する収縮二値画像内の画素を非赤色画素に設定する。そして、オブジェクト特定部３２０は、フィルタＦＩ１の範囲内に、非赤色画素がない場合、すなわち、フィルタＦＩ１の範囲内の９個の画素が、全て赤色オブジェクト画素であるには、注目画素に対応する収縮二値画内の画素を赤色オブジェクト画素に設定する。オブジェクト特定部３２０は、二値画像６０Ａの全ての画素を注目画素として、収縮二値画像内の対応する画素を、非赤色画素および赤色オブジェクト画素のいずれかに設定することによって、収縮二値画像を表す収縮二値画像データを生成する。この説明から解るように、赤色オブジェクトを収縮させる収縮処理は、非赤色オブジェクトによって構成される領域（主として背景領域）を膨張させる処理と言うこともできる。
【００５０】
図４（Ｂ）には、収縮二値画像のうちの、図４（Ａ）の部分画像ＰＩ１に対応する収縮部分画像ＰＩ２が示されている。収縮部分画像ＰＩ２には、ノイズ画素ＤＴが現れていないことから解るように、収縮処理によって、ノイズ画素ＤＴのような孤立した赤色オブジェクト画素を消去することができる。また、収縮部分画像ＰＩ２では、赤色オブジェクト、例えば、囲み線６６Ａが、部分画像ＰＩ１の囲み線６６Ａと比較して、細くなっている（収縮している）。また、収縮部分画像ＰＩ２では、囲み線６６Ａの断線部ＮＴが、部分画像ＰＩ１の囲み線６６Ａの断線部ＮＴと比較して、大きくなっている。
【００５１】
続く膨張処理は、例えば、所定サイズのフィルタ、図４（Ｂ）の例では、縦５画素×横５画素のサイズのフィルタＦＩ２を用いて実行される。具体的には、オブジェクト特定部３２０は、フィルタＦＩ２を、収縮二値画像を表す収縮二値画像データに対して適用して、膨張二値画像データを生成する。すなわち、オブジェクト特定部３２０は、注目画素に、フィルタＦＩ２の中心位置ＣＣ２（図４（Ｂ）参照）が重なるように、フィルタＦＩ２を収縮二値画像上に配置する。オブジェクト特定部３２０は、フィルタＦＩ２の範囲内に、赤色オブジェクト画素が１個でも存在する場合には、注目画素に対応する膨張二値画像内の画素を赤色オブジェクト画素に設定する。そして、オブジェクト特定部３２０は、フィルタＦＩ２の範囲内に、赤色オブジェクト画素がない場合、すなわち、フィルタＦＩ２の範囲内の２５個の画素が、全て非赤色画素であるには、注目画素に対応する膨張二値画内の画素を非赤色画素に設定する。オブジェクト特定部３２０は、収縮二値画像の全ての画素を注目画素として、膨張二値画像内の対応する画素を、非赤色画素および赤色オブジェクト画素のいずれかに設定することによって、膨張二値画像を表す膨張二値画像データを生成する。
【００５２】
図４（Ｃ）には、膨張二値画像のうちの、図４（Ａ）、（Ｂ）の部分画像ＰＩ１、ＰＩ２に対応する膨張部分画像ＰＩ３が示されている。膨張部分画像ＰＩ３の囲み線６６Ａには、断線部ＮＴが現れていないことから解るように、膨張処理によって、囲み線６６Ａに現れ得る断線部ＮＴを接続することができる。膨張部分画像ＰＩ３では、赤色オブジェクト、例えば、囲み線６６Ａが、部分画像ＰＩ１の囲み線６６Ａと比較して、太くなっている（膨張している）。
【００５３】
なお、上述したフィルタＦＩ１、ＦＩ２のサイズ、すなわち、収縮処理による収縮の程度、および、膨張処理による膨張の程度は、一例である。ただし、収縮処理を先に実行し、膨張処理を後に実行する場合には、膨張処理による膨張の程度（フィルタＦＩ２のサイズに対応する）は、収縮処理による収縮の程度（フィルタＦＩ１のサイズに対応する）より大きいことが好ましい。こうすれば、断線部ＮＴの接続を適切に実現することができる。仮に、収縮処理を先に実行し、膨張処理を後に実行する場合に、膨張処理による膨張の程度が、収縮処理による収縮の程度以下であると、収縮処理によって拡大した断線部ＮＴが膨張処理によって接続されない可能性がある。
【００５４】
また、上記実施例とは逆に、膨張処理を先に実行し、収縮処理を後に実行する場合には、膨張処理による膨張の程度は、収縮処理による収縮の程度より小さいことが好ましい。こうすれば、ノイズ画素ＤＴを適切に消去することができる。仮に、膨張処理を先に実行し、収縮処理を後に実行する場合に、膨張処理による膨張の程度が、収縮処理による収縮の程度以上であると、膨張処理によって拡大したノイズ画素ＤＴが収縮処理によって消去されない可能性がある。
【００５５】
以上説明した収縮・膨張処理（図２のステップＳ１２５）によって、ノイズ画素ＤＴの消去や、断線部ＮＴの接続を実現できるので、後に実行するオブジェクト判定処理において、囲み線の判定の精度を向上できる。また、無駄な処理（例えば、ノイズ画素ＤＴを判定対象のオブジェクトとする処理）を低減することにより、処理負荷を低減することができる。
【００５６】
続くステップＳ１３０（図２）では、オブジェクト特定部３２０は、収縮・膨張処理後の二値画像データを利用して、赤色オブジェクトを特定して、特定された赤色オブジェクトに識別子を付すラベリングを実行する。ラベリングの結果、例えば、赤色オブジェクトと、識別子とを、対応付けたラベルデータが生成される。
【００５７】
具体的には、オブジェクト特定部３２０は、連続する（互いに隣接する）１個以上の赤色オブジェクト画素で構成される１個の領域を、１個の赤色オブジェクトとして特定する。図３（Ｂ）の例では、３個の文字６１Ａ〜６３Ａと、囲み線６６Ａと、描画６７および写真６８（図３（Ａ））の一部分である部分オブジェクト６７Ａ、６８Ａと、が特定され、これらの赤色オブジェクトのそれぞれに、互いに異なる識別子が付される。
【００５８】
赤色オブジェクトが特定されると、ステップＳ１４５では、画像処理部３００は、オブジェクト判定処理を実行する。図５は、オブジェクト判定処理のフローチャートである。オブジェクト判定処理は、特定された複数個の赤色オブジェクト６１Ａ〜６３Ａ、６６Ａ〜６８Ａのそれぞれが、囲み線であるか否かを、赤色オブジェクトごとに判定する処理である。１個の赤色オブジェクトの判定は、縦方向線判定処理（ステップＳ２３５）と、横方向線判定処理（ステップＳ２４０）と、形状判定処理（ステップＳ２４５）と、のうち、少なくとも１個の処理の処理結果に基づいて、実行される。
【００５９】
ステップＳ２０５では、解析処理部３５０は、処理対象の赤色オブジェクトを選択する。図３（Ｂ）の例では、３個の文字６１Ａ〜６３Ａと、囲み線６６Ａと、描画６７および写真６８の一部分である部分オブジェクト６７Ａ、６８Ａの中から、１個の赤色オブジェクトが処理対象として選択される。
【００６０】
ステップＳ２１０では、解析処理部３５０の色判定部３５１は、処理対象の赤色オブジェクトが単色であるか否かを判定する単色判定処理を実行する。具体的には、色判定部３５１は、赤色オブジェクトの平均成分値（Ｒave1、Ｇave1、Ｂave1）を算出する。平均成分値（Ｒave1、Ｇave1、Ｂave1）は、処理対象の赤色オブジェクトを構成する全ての赤色オブジェクト画素の値の平均値を、色成分ごとに算出することによって得られる。次に、色判定部３５１は、平均成分値に近い成分値を有する赤色オブジェクト画素の割合（ＲＴ_R、ＲＴ_G、ＲＴ_B）を、以下の式（１）〜（３）を用いて、色成分ごとに算出する。
【００６１】
ＲＴ_R＝（ＰＮ_Rave1／ＰＮtotal）    ...（１）
ＲＴ_G＝（ＰＮ_Gave1／ＰＮtotal）    ...（２）
ＲＴ_B＝（ＰＮ_Bave1／ＰＮtotal）    ...（３）
【００６２】
ここで、ＰＮtotalは、処理対象の赤色オブジェクトを構成する赤色オブジェクト画素の全体の個数である。ＰＮ_Rave1、ＰＮ_Gave1、ＰＮ_Bave1は、平均成分値（Ｒave1、Ｇave1、Ｂave1）に近い成分値を有する赤色オブジェクト画素の個数であり、色成分ごとに算出される。なお、本実施例では、Ｒ成分値が、（Ｒave1−ΔＶ１）≦Ｒ≦（Ｒave1＋ΔＶ１）の範囲内である場合に、当該画素は、平均成分値に近いＲ成分値を有する画素であると判断される。同様に、Ｇ成分値が、（Ｇave1−ΔＶ１）≦Ｇ≦（Ｇave1＋ΔＶ１）の範囲内である場合に、当該画素は、平均成分値に近いＧ成分値を有する画素であると判断される。Ｂ成分値が、（Ｂave1−ΔＶ１）≦Ｂ≦（Ｂave1＋ΔＶ１）の範囲内である場合に、当該画素は、平均成分値に近いＧ成分値を有する画素であると判断される。なお、例えば、ΔＶ１は、２５６階調の成分値に対して、例えば、７０に設定される。
【００６３】
そして、色判定部３５１は、成分ごとに算出された割合（ＲＴ_R、ＲＴ_G、ＲＴ_B）がそれぞれ基準値ＴＨ１以上である場合、すなわち、ＲＴ_R≧ＴＨ１、かつ、ＲＴ_G≧ＴＨ１、かつ、ＲＴ_B≧ＴＨ１である場合に、処理対象の赤色オブジェクトは単色であると判断する。また、色判定部３５１は、割合（ＲＴ_R、ＲＴ_G、ＲＴ_B）の少なくとも１つが基準値ＴＨ１未満である場合、すなわち、ＲＴ_R＜ＴＨ１、または、ＲＴ_G＜ＴＨ１、または、ＲＴ_B＜ＴＨ１である場合に、処理対象の赤色オブジェクトは単色でないと判断する。基準値ＴＨ１は、実験的に設定される設計値であり、例えば、０．６に設定される。囲み線は、薄い赤色のペンで記入される場合もあれば、濃い赤色のペンで記入される場合もあるので、ステップＳ１２０（図２）では、薄い赤、濃い赤などを含む比較的広い範囲内の色を有する画素を赤色オブジェクト画素として抽出している。このために、本ステップでは、赤色オブジェクトが単色であるか否かを比較的厳密に判定している。
【００６４】
単色判定処理によって、処理対象の赤色オブジェクトが単色でないと判定された場合には（ステップＳ２１５：ＮＯ）、属性判断部３６０は、処理対象の赤色オブジェクトは囲み線ではないと判断する（ステップＳ２６５）。１個の囲み線は、記入の途中でペンを代えることなく、一筆書きで記入されるのが一般的であるので、囲み線は単色であると考えられる。例えば、濃い赤色のペンを用いて、記入された囲み線は、濃い赤色の単色であり、薄い赤色のペンを用いて、記入された囲み線は、薄い赤色の単色であると考えられる。このために、本実施例では、単色であることを、赤色オブジェクトが囲み線であると判定するための必要条件として採用している。この結果、赤色オブジェクトが囲み線であるか否かを適切に判定することができる。例えば、図３（Ｂ）の囲み線６６Ａは、単色であると判定される。また、例えば、Ｂ３（Ｂ）の部分オブジェクト６７Ａが、薄い赤色や濃い赤色などを含む多数の色を含んでいる場合には、部分オブジェクト６７Ａは、単色ではないと判定される。
【００６５】
処理対象の赤色オブジェクトが単色であると判定された場合には（ステップＳ２１５：ＹＥＳ）、処理時間判断部３３０は、処理順序決定処理を実行する（ステップＳ２２０）。処理順序決定処理は、第１の解析処理としての線判定処理（後述するステップＳ２３５、Ｓ２４０）と、第２の解析処理としての形状判定処理（後述するステップＳ２４５）と、の処理時間を判断し、判断結果に基づいて線判定処理と形状判定処理との処理順序を決定する処理である。具体的には、処理時間判断部３３０は、線判定処理の処理時間が、形状判定処理の処理時間未満であると判断される場合には、形状判定処理に先行して、線判定処理を実行するように処理順序を決定する。また、処理時間判断部３３０は、線判定処理の処理時間が、形状判定処理の処理時間以上であると判断される場合には、線判定処理に先行して、形状判定処理を実行するように処理順序を決定する。処理順序決定処理の詳細は、線判定処理と形状判定処理を含むオブジェクト判定処理（図５）の全体を説明した後に説明する。
【００６６】
ステップＳ２３０では、解析処理部３５０は、上述した処理順序決定処理で決定された処理順序に従って、実行すべき判定処理を決定する。例えば、処理順序決定処理において、形状判定処理に先行して、線判定処理を実行するように決定された場合には、縦方向線判定処理（ステップＳ２３５）、横方向線判定処理（ステップＳ２４０）、形状判定処理（ステップＳ２４５）の順序で、実行すべき判定処理が決定される。逆に、処理順序決定処理において、線判定処理に先行して、形状判定処理を実行するように決定された場合には、形状判定処理（ステップＳ２４５）、縦方向線判定処理（ステップＳ２３５）、横方向線判定処理（ステップＳ２４０）の順序で、実行すべき判定処理が決定される。なお、いずれの場合でも、本実施例では、縦方向線判定処理が、横方向線判定処理より先に実行されるように、予め定められている。これに代えて、横方向線判定処理が、縦方向線判定処理より先に実行されても良い。
【００６７】
先ず、線判定処理について説明する。図６は、線判定処理の説明図である。線判定処理は、処理対象の赤色オブジェクトが線であるか否かを判定する処理である。線判定処理は、線判定部３５２によって実行され、縦方向線判定処理（ステップＳ２３５）と、横方向線判定処理（ステップＳ２４０）とを含んでいる。
【００６８】
縦方向線判定処理は、赤色オブジェクトを含む処理領域内の縦方向（Ｙ方向）に延びる複数の直線上において、赤色オブジェクト画素の分布を解析する処理を用いて実行される。具体的には、図６（Ａ）に示すように、二値画像６０Ａ内の囲み線６６Ａ（図３（Ｂ））が処理対象の赤色オブジェクトである場合を例に説明する。線判定部３５２は、囲み線６６Ａに外接する矩形領域ＳＩ１を処理領域として特定する。線判定部３５２は、矩形領域ＳＩ１内のＹ方向（図６の縦方向）に沿った線Ｌ１（ｐ）に沿って、連続する赤色オブジェクト画素の個数（連続画素数）を算出する。ｐは、Ｘ方向の線の位置を示す値であり、例えば、１≦ｐ≦Ｗの範囲内の値である（Ｗは、矩形領域ＳＩ１のＸ方向の長さ（画素数））。図６（Ａ）の例では、２つの連続画素数Ｌｈ１、Ｌｈ２が算出される。この場合には、線Ｌ１（ｐ）に対応する連続画素数ＬＮ１（ｐ）として、２つの連続画素数Ｌｈ１、Ｌｈ２の平均値（（Ｌｈ１＋Ｌｈ２）／２）を算出する。オブジェクト特定部３２０は、１≦ｐ≦Ｗの範囲内のＷ本の線Ｌ１（ｐ）の全てについて、それぞれ連続画素数ＬＮ１（ｐ）を算出する。
【００６９】
線判定部３５２は、Ｗ本の線Ｌ１（ｐ）について算出されたＷ個の連続画素数ＬＮ１（ｐ）の平均値ＬＮ１aveを算出する。線判定部３５２は、平均連続画素数ＬＮ１aveが基準値ＴＨ２以下である場合に、赤色オブジェクトは、線であると判定し、平均連続画素数ＬＮaveが基準値ＴＨ２未満である場合に、赤色オブジェクトは、線でないと判定する。すなわち、平均連続画素数ＬＮ１aveが基準値ＴＨ２以下であることが、縦方向線判定処理の判定条件である。
【００７０】
横方向線判定処理は、縦方向線判定処理と同様の処理を横方向（Ｘ方向）について実行する処理である。具体的には、線判定部３５２は、矩形領域ＳＩ１内のＸ方向（図６の横方向）に沿った線Ｌ２（ｑ）に沿って、赤色オブジェクト画素の連続画素数を算出する。ｑは、線のＹ方向の線の位置（Ｙ座標）を示す値であり、例えば、１≦ｑ≦Ｈの範囲内の値である（Ｈは、矩形領域ＳＩ１のＹ方向の長さ（画素数））。図６（Ａ）の例では、２つの連続画素数Ｌｗ１、Ｌｗ２が算出される。この場合には、線Ｌ２（ｑ）に対応する連続画素数ＬＮ２（ｑ）として、２つの連続画素数ＬＷ１、ＬＷ２の平均値を算出する。オブジェクト特定部３２０は、１≦ｑ≦Ｈの範囲内のＨ本の線Ｌ２（ｑ）の全てについて、それぞれ連続画素数ＬＮ２（ｑ）を算出する。
【００７１】
線判定部３５２は、Ｈ本の線Ｌ１（ｑ）について算出されたＨ個の連続画素数ＬＮ１（ｑ）の平均値ＬＮ１aveを算出する。線判定部３５２は、平均連続画素数ＬＮ２aveが基準値ＴＨ２以下である場合に、赤色オブジェクトは、線であると判定し、平均連続画素数ＬＮaveが基準値ＴＨ２未満である場合に、赤色オブジェクトは、線でないと判定する。すなわち、平均連続画素数ＬＮ２aveが基準値ＴＨ２以下であることが、縦方向線判定処理の判定条件である。
【００７２】
このように、Ｘ方向とＹ方向に延びる複数の直線上のそれぞれにおいて、赤色オブジェクト画素が連続する個数を算出することによって、オブジェクトの幅（線幅ＬＷ）を特定するので、オブジェクトの幅を適切に特定することができる。１個の囲み線は、赤色のペンで一筆書きされた一本の線であることが想定されるので、線であることを、赤色オブジェクトが囲み線であると判定するための必要条件として採用している。この結果、赤色オブジェクトが囲み線であるか否かを適切に判定することができる。例えば、図３（Ｂ）の囲み線６６Ａは、線であると判定される。
【００７３】
図６（Ｂ）には、二値画像６０Ａ内の部分オブジェクト６８Ａ（図３（Ｂ））が処理対象の赤色オブジェクトである場合を例に説明する。このような赤色オブジェクトが線でない場合には、図６（Ｂ）に示すように、Ｙ方向の線Ｌ１（ｐ）についての連続画素数Ｌｈ３や、Ｘ方向の線Ｌ２（ｑ）についての連続画素数Ｌｗ３は、比較的大きくなる。この結果、部分オブジェクト６８Ａは、線判定処理において、線ではないと判定される。
【００７４】
次に、形状判定処理について説明する。形状判定処理は、形状判定部３５３によって実行され、処理対象の赤色オブジェクトが、スキャン画像６０内の一部の領域を囲む囲み形状を有しているか否かを判定する処理である。
【００７５】
図７は、形状判定処理のフローチャートである。図８は、形状判定処理の第１の説明図である。図９は、形状判定処理の第２の説明図である。ステップＳ３０５では、形状判定部３５３は、赤色オブジェクトを構成する１個の赤色オブジェクト画素を注目画素として選択する。具体的には、形状判定部３５３は、矩形領域ＳＩ１（図８（Ａ））内を、Ｘ方向の複数本の線Ｌｘを、Ｙ方向の負方向側から（図８の上方から）順次に走査して、検出される順番に１個ずつ赤色オブジェクト画素を選択する。
【００７６】
ステップＳ３１０では、形状判定部３５３は、選択された注目画素に対応する枠領域ＦＬを設定する。図８（Ｂ）には、注目画素ＮＰに対して設定される枠領域ＦＬの一例が示されている。図８（Ｂ）に示すように、枠領域ＦＬは、正方形の枠状の領域であり、枠の太さは、１画素分である。枠領域ＦＬのＸ方向およびＹ方向の幅（画素数）ＦＷは、図８（Ｃ）に示す式で表される。この式から解るように、枠領域ＦＬの幅ＦＷは、スキャン画像６０の読み取り解像度ＲＳ（単位はｄｐｉ(dot per inch)）と、赤色オブジェクトの線幅ＬＷ（単位は、画素）と、赤色オブジェクトのサイズＯＢＳ（単位は、画素）と、に応じて決定される。線幅ＬＷには、例えば、線判定処理（図５のステップＳ２２０）にて算出された平均連続画素数ＬＮaveが用いられる。オブジェクトサイズＯＢＳには、例えば、矩形領域ＳＩ１の横幅Ｗと縦幅Ｈの平均値（（Ｈ＋Ｗ）／２）が用いられる。枠領域ＦＬは、本実施例では、注目画素ＮＰが中心に位置するように、設定される。以上の説明から解るように、枠領域ＦＬ内に含まれる画素数Ｍは、｛（ＦＷ×４）−４｝と表すことができる。
【００７７】
続くステップＳ３１５では、形状判定部３５３は、枠領域ＦＬ内のＭ個の画素を１個ずつ調べることによって、枠領域内のオブジェクト部分領域の個数Ｍｖを算出する。オブジェクト部分領域は、枠領域ＦＬ内に、赤色オブジェクト画素が連続して並ぶ領域である。図８（Ｂ）の例では、２個のオブジェクト部分領域ＯＡ１、ＯＡ２が存在するので、個数Ｍｖの値は「２」である。ここで、個数Ｍｖを算出するのは、赤色オブジェクトと、枠領域ＦＬとが、交差する数を認識するためである。図８（Ｂ）に示すように、個数Ｍｖは、処理対象の赤色オブジェクトが枠領域ＦＬと交差する数を示していることが解る。このために個数Ｍｖを交差数Ｍｖとも呼ぶ。交差数Ｍｖが２である場合には、赤色オブジェクトは、枠領域ＦＬが配置された矩形（枠配置矩形）内において、注目画素ＮＰの位置（本実施例では、枠配置矩形の中心）を通り、枠配置矩形を横断する一本の線を成していると推定することができる。なお、枠領域ＦＬ内に位置すると言う場合には、１画素の太さの枠の内部に位置することを意味する。すなわち、枠領域ＦＬ内に位置する画素は、枠領域ＦＬを構成する画素と言い換えることができる。例えば、図８（Ｂ）において、オブジェクト部分領域ＯＡ１、ＯＢ２は、枠領域ＦＬ内に位置しているが、注目画素ＮＰや、オブジェクト部分領域ＯＡ１とオブジェクト部分領域ＯＡ２との間の複数個の赤色オブジェクト画素は、枠領域ＦＬ内には位置していない。また、枠配置矩形内に位置すると言う場合には、枠領域ＦＬ内または枠領域ＦＬの内側の領域に位置していることを意味する。例えば、図８（Ｂ）において、オブジェクト部分領域ＯＡ１、ＯＡ２、注目画素ＮＰ、オブジェクト部分領域ＯＡ１とオブジェクト部分領域ＯＡ２との間の複数個の赤色オブジェクト画素は、全て枠配置矩形内に位置している。
【００７８】
例えば、図８（Ａ）に示す枠領域ＦＬ２は、交差数Ｍｖが２である例を示しているが、赤色オブジェクトは、枠配置矩形内において、枠配置矩形の中心を通り、枠配置矩形を横断する一本の線を成していることが解る。一方、図８（Ａ）に示す枠領域ＦＬ１は、交差数Ｍｖが１である例を示しているが、赤色オブジェクトは、枠配置矩形内で終端を形成しているので、中心を通る一本の線ではあるが、枠配置矩形を横断してはいない。
【００７９】
図７のステップＳ３２０では、形状判定部３５３は、全ての赤色オブジェクト画素が注目画素として選択されたか否かを判断する。未選択の赤色オブジェクト画素がある場合には（ステップＳ３２０：ＮＯ）、形状判定部３５３は、ステップＳ３０５に戻って、未選択の赤色オブジェクト画素を選択して、上述したステップＳ３０５〜Ｓ３２０までの処理を繰り返す。全ての赤色オブジェクト画素が選択された場合には（ステップＳ３２０：ＹＥＳ）、形状判定部３５３は、ステップＳ３２５に処理を進める。ステップＳ３２５に移行して時点で、処理対象の赤色オブジェクトを構成する全ての赤色オブジェクト画素に対応する枠領域ＦＬについて、交差数Ｍｖが算出されている。以下では、交差数Ｍｖが「Ａ（Ａは自然数）」である枠領域ＦＬに対応する赤色オブジェクト画素を、単に、交差数Ｍｖが「Ａ」の赤色オブジェクト画素と言う。また、赤色オブジェクト画素に対応する枠領域ＦＬと赤色オブジェクトとの交差数Ｍｖが「Ａ」であることを、単に、赤色オブジェクト画素の交差数Ｍｖが「Ａ」である、と言う。
【００８０】
ステップＳ３２５では、全ての赤色オブジェクト画素に対する、交差数Ｍｖが２である赤色オブジェクト画素の割合ＲＴ２を算出する。交差数Ｍｖが２である赤色オブジェクト画素を、第１の特定画素とも呼ぶ。ステップＳ３３０では、形状判定部３５３は、割合ＲＴ２が、基準値ＴＨａ以上であるか否かを判断する。形状判定部３５３は、割合ＲＴ２が、基準値ＴＨａ以上である場合には（ステップＳ３３０：ＹＥＳ）、赤色オブジェクトは、囲み形状であると判定する（ステップＳ３７０）。赤色オブジェクトが囲み形状である場合は、図８（Ａ）に示す枠領域ＦＬ２のように、大部分の赤色オブジェクト画素（注目画素）の交差数Ｍｖが２個になると考えられる。例外的に、図８（Ａ）に示す枠領域ＦＬ１のように、一筆書きされた囲み線の端部近傍の赤色オブジェクト画素の交差数Ｍｖは、２個にならない場合がある。また、ノイズなどによって、一部の赤色オブジェクト画素の交差数Ｍｖが２にならない可能性がある。このような事情を考慮して、基準値ＴＨａを適切に規定することによって、赤色オブジェクトが囲み形状であるか否かを適切に判定することができる。本実施例では、ＴＨａは、０．８５に設定されている。
【００８１】
図９を参照してさらに説明する。図９（Ａ）には、赤色オブジェクトが、文字６３Ａ（図３（Ｂ））である例を示している。図９（Ａ）に示す枠領域ＦＬ４は、交差数Ｍｖが３である例を示しているが、赤色オブジェクトは、枠配置矩形内において、３つに分岐した形状を有していることが解る。また、図９（Ａ）に示す枠領域ＦＬ５のように、文字の端部近傍の赤色オブジェクト画素は、交差数Ｍｖが１になる可能性が高い。このように、赤色オブジェクトが文字である場合には、３つ以上に分岐した部分や、３個以上の端部を有する場合が多いので、交差数Ｍｖが２ではない赤色オブジェクト画素の割合が、赤色オブジェクトが囲み形状である場合と比較して高くなる。赤色の文字は、単色判定処理（図５：ステップＳ２１０）において、単色であると判定され、縦方向判定処理（図５：ステップＳ２３５）や横方向判定処理（図５：ステップＳ２４０）において、線であると判定される可能性が比較的高い。しかしながら、形状判定処理では、赤色の文字は、囲み形状ではないと判断される。したがって、形状判定処理では、割合ＲＴ２を用いて判断することによって、囲み線でない赤色オブジェクト（例えば、文字）は囲み形状ではないと判断し、囲み線である赤色オブジェクトは囲み形状であると、適切に判断することができる。
【００８２】
ここで、図８（Ｃ）の式に示すように、枠領域ＦＬの幅ＦＷは、解像度ＲＳが大きいほど大きく、赤色オブジェクトの線幅ＬＷが大きいほど大きく、オブジェクトサイズＯＢＳが大きいほど大きく、設定されている。この理由を説明する。枠領域ＦＬの幅ＦＷが、線幅ＬＷに対して過度に小さい場合には、例えば、極端な例では、枠領域ＦＬの枠配置矩形内の全体が、赤色オブジェクト画素で埋まり、分岐の数を示す交差数Ｍｖを適切に算出できない可能性がある。また、枠領域ＦＬの幅ＦＷが、オブジェクトサイズＯＢＳや線幅ＬＷに対して過度に大きい場合には、枠領域ＦＬの枠配置矩形内に、１個の赤色オブジェクトの互いに離れた複数の部分が配置される可能性が高くなる。例えば、枠領域ＦＬの枠配置矩形内に、複数の線が配置される可能性が比較的高くなる。この結果、注目画素ＮＰを通る１個の部分の分岐の数を示す交差数Ｍｖを適切に算出できない可能性がある。なお、解像度ＲＳが高いほど、１画素に対応する原稿上の寸法（例えば、３００ｄｐｉである場合には、（１／３００）インチ）が小さくなるので、画素数で示される枠領域ＦＬの幅ＦＷの値は、解像度ＲＳが高いほど大きくされる。この結果、原稿上において想定される囲み線のサイズに応じた適切な枠領域ＦＬの幅ＦＷ（画素数）を決定することができる。
【００８３】
形状判定部３５３は、交差数Ｍｖが２である赤色オブジェクト画素の割合ＲＴ２が、基準値ＴＨａ未満である場合には（ステップＳ３３０：ＮＯ）、ステップＳ３４０に処理を進める。ここで、交差数Ｍｖが２である赤色オブジェクト画素の割合ＲＴ２が、基準値ＴＨａ未満である場合に、直ちに、赤色オブジェクトは、囲み形状でないと判定しない。これは、交差数Ｍｖが２である赤色オブジェクト画素の割合ＲＴ２が、比較的少ない場合であっても、所定の条件を満たす場合には、赤色オブジェクトが囲み線である可能性があるからである。
【００８４】
例えば、図８（Ａ）に示す囲み線６６Ａでは、上述したように、交差数Ｍｖが１である赤色オブジェクト画素が、一筆書きの囲み線６６Ａの開始端と、終了端の近傍に存在している。具体的には、一筆書きの囲み線の両端（開始端と終了端）が、完全に一致していない場合、例えば、両端が離れている場合（図８（Ａ））、両端の一方の端部が、囲み線の他方の端部とは異なる位置に接している場合（図９（Ｂ））、両端の近傍で、囲み線が交差している場合（図９（Ｃ））には、交差数Ｍｖが１である赤色オブジェクト画素が存在し得る。
【００８５】
また、図９（Ｂ）に示すように、両端の一方の端部が、囲み線の他方の端部とは異なる位置に接している囲み線６６Ｂでは、交差数Ｍｖが３である赤色オブジェクト画素（図９（Ｂ）の枠領域ＦＬ７参照）が存在し得る。さらに、図９（Ｃ）に示すように、両端の近傍で交差している囲み線６６Ｃでは、交差数Ｍｖが４である赤色オブジェクト画素（図９（Ｂ）の枠領域ＦＬ９参照）が存在し得る。さらに、ノイズの影響がある場合を除いて、赤色オブジェクトが、一筆書きの囲み線である場合には、交差数Ｍｖが５以上である赤色オブジェクト画素は、存在しない。ここで、交差数Ｍｖが、「１、３、４」のうちのいずれかである赤色オブジェクト画素を、第２の特定画素とも呼ぶ。また、交差数Ｍｖが、「５」以上である赤色オブジェクト画素を、第３の特定画素とも呼ぶ。以上の説明から解るように、第１の特定画素の割合ＲＴ２が基準値ＴＨａ未満であっても、第２の特定画素や第３の特定画素の分布状況が、上記の囲み線の特徴を備えていれば、赤色オブジェクトが囲み線である可能性は比較的高いと言うことができる。このことを考慮して、ステップＳ３４０以降の処理が実行される。
【００８６】
ステップＳ３４０では、形状判定部３５３は、全ての赤色オブジェクト画素に対する、交差数Ｍｖが５以上である赤色オブジェクト画素（第３の特定画素）の割合ＲＴ５を算出する。ステップＳ３５０では、形状判定部３５３は、第３の特定画素の割合ＲＴ５が、基準値ＴＨｂ以下であるか否かを判断する。形状判定部３５３は、第３の特定画素の割合ＲＴ５が、基準値ＴＨｂより大きい場合には（ステップＳ３５０：ＮＯ）、赤色オブジェクトは、囲み形状でないと判定する（ステップＳ３７５）。上述したように、赤色オブジェクトが、一筆書きの囲み線である場合には、第３の特定画素は、ノイズなどの例外的な要因で第３の特定画素であると判断される場合を除いて、基本的に存在しないからである。基準値ＴＨｂは、例えば、赤色オブジェクトが囲み線である場合に、ノイズによって発生し得る第３の特定画素の個数の上限値より僅かに大きな値に設定される。具体的には、本実施例では、基準値ＴＨｂは、０．１に設定されている。形状判定処理では、割合ＲＴ５を用いて判断することによって、囲み線でない赤色オブジェクトを、判定対象から適切に除外することができる。
【００８７】
第３の特定画素の割合ＲＴ５が、基準値ＴＨｂ以下である場合には（ステップＳ３５０：ＹＥＳ）、形状判定部３５３は、後述する判定に用いる特定領域ＥＳを設定する（ステップＳ３５５）。図１０は、特定領域ＥＳを用いる判定について説明する図である。形状判定部３５３は、交差数Ｍｖが、「１、３、４」のうちのいずれかである複数個の赤色オブジェクト画素（第２の特定画素）の位置（座標）に基づいて、複数個の第２の特定画素の重心ＧＣを算出する。上述したように、赤色オブジェクトが囲み線である場合には、第２の特定画素は、一筆書きの囲み線の両端の近傍に集中して存在する（図８（Ａ）、図９（Ｂ）（Ｃ））。したがって、図１０（Ａ）に示すように、赤色オブジェクトが囲み線である場合には、重心ＧＣは、一筆書きの囲み線の両端の近傍に位置する。
【００８８】
形状判定部３５３は、重心ＧＣを中心として、正方形の特定領域ＥＳを設定する。特定領域ＥＳのＸ方向およびＹ方向の幅（画素数）ＥＷは、図１０（Ｂ）に示す式で表される。この式から解るように、特定領域ＥＳの幅ＥＷは、枠領域ＦＬの幅ＦＷ（図８（Ｃ））と同様に、スキャン画像６０の読み取り解像度ＲＳと、赤色オブジェクトの線幅ＬＷと、画素）と、赤色オブジェクトのサイズＯＢＳと、に応じて決定される。
【００８９】
続くステップＳ３６０では、形状判定部３５３は、全ての第２の特定画素に対する、特定領域ＥＳ内に位置する第２の特定画素の割合ＲＴＣを算出する。ステップＳ３６５では、形状判定部３５３は、第２の特定画素の割合ＲＴＣが、基準値ＴＨｃ以上であるか否かを判断する。形状判定部３５３は、第２の特定画素の割合ＲＴＣが、基準値ＴＨｃより小さい場合には（ステップＳ３６５：ＮＯ）、赤色オブジェクトは、囲み形状でないと判定する（ステップＳ３７５）。上述したように、赤色オブジェクトが、一筆書きの囲み線である場合には、第２の特定画素は、赤色オブジェクトの一部分に集中する、すなわち、一筆書きの囲み線の両端近傍（すなわち、特定領域ＥＳ内）に集中する。一方、文字を構成する線の端部は、文字内の複数の箇所に分散して存在する。例えば、文字「Ｙ」（図９（Ａ）参照）の端部は、文字「Ｙ」の下側の中央部分に１箇所、文字の右上部分と左上部分にそれぞれ１箇所ずつ存在する。また、文字を構成する線は、文字内で様々な数に分岐し得る。例えば、文字「Ｙ」（図９（Ａ）参照）は、中央部分で３つに分岐している。したがって、赤色オブジェクトが文字である場合には、第２の特定画素は、赤色オブジェクトの一部分に集中することなく、分散する可能性が高い。形状判定処理では、割合ＲＴＣを用いて判断することによって、囲み線でない赤色オブジェクト（例えば、文字）は囲み形状ではないと判断し、囲み線を示す赤色オブジェクトは囲み形状であると、適切に判断することができる。基準値ＴＨｃは、例えば、実験的に設定される設計値であり、本実施例では、０.５に設定されている。
【００９０】
第２の特定画素の割合ＲＴｃが、基準値ＴＨｃ以上である場合には（ステップＳ３６５：ＹＥＳ）、形状判定部３５３は、赤色オブジェクトは、囲み形状であると判定する（ステップＳ３７０）。
【００９１】
ここで、図１０（Ｂ）の式に示すように、特定領域ＥＳの幅ＥＷは、枠領域ＦＬの幅ＦＷ（図８（Ｃ））と同様に、解像度ＲＳが大きいほど大きく、赤色オブジェクトの線幅ＬＷが大きいほど大きく、オブジェクトサイズＯＢＳが大きいほど大きく、設定されている。特定領域ＥＳの幅ＥＷが、オブジェクトサイズＯＢＳに対して過度に大きい場合には、第２の特定画素が比較的広い範囲に広がって分布している場合であっても、割合ＲＴＣが基準値ＴＨｃ以上になる可能性がある。また、特定領域ＥＳの幅ＥＷが、オブジェクトサイズＯＢＳに対して過度に小さい場合には、第２の特定画素が比較的狭い範囲に集中している場合であっても、割合ＲＴＣが基準値ＴＨｃ未満になる可能性がある。このため、特定領域ＥＳは、オブジェクトサイズＯＢＳに対して適切なサイズに設定されることが好ましい。赤色オブジェクトの線幅ＬＷは、オブジェクトのサイズと相関があり、赤色オブジェクトが囲み線である場合に、オブジェクトのサイズが大きいほど、線幅ＬＷが太くなる可能性が高いと考えられる。また、解像度ＲＳが高いほど、１画素に対応する原稿上の寸法（例えば、３００ｄｐｉである場合には、（１／３００）インチ）が小さくなるので、画素数で示される特定領域ＥＳの幅ＥＷの値は、解像度ＲＳが高いほど大きくされる。この結果、原稿上において想定される囲み線のサイズに応じた適切な特定領域ＥＳの幅ＦＷ（画素数）を決定することができる。
【００９２】
ステップＳ３７０またはステップＳ３７５において、処理対象の赤色オブジェクトが囲み形状であるか否かが判定されると、形状判定処理は終了される。以上説明した形状判定処理において、処理対象の赤色オブジェクトが囲み形状であると判定するための条件は、以下の３つである。
（１）第１の特定画素の割合ＲＴ２が基準値ＴＨａ以上であること（ステップＳ３３０）
（２）第３の特定画素の割合ＲＴ５が基準値ＴＨｂ未満であること（ステップＳ３５０）
（３）第２の特定画素の割合ＲＴＣが基準値ＴＨｃ以上であること（ステップＳ３６５）
【００９３】
上記実施例では、条件（１）が満たされる場合には、他の条件とは無関係に、赤色オブジェクトは囲み形状である、と判定される。また、条件（２）と条件（３）は、両方が満たされる場合に限り、条件（１）が満たされない場合であっても、赤色オブジェクトは囲み形状であると、判定される。このような条件（１）〜（３）の使い方は一例であり、これに限られない。例えば、基準値ＴＨａ、ＴＨｂ、ＴＨｃを大きめに設定するか小さめに設定するかなどに応じて、これらの条件（１）〜（３）の使い方は、変化し得る。例えば、条件（１）と条件（２）が満たされる場合と、条件（１）と条件（３）が満たされる場合と、の２つの場合には、赤色オブジェクトは囲み形状である、と判定され、それ以外の場合には、赤色オブジェクトは囲み形状でない、と判定されても良い。また、条件（１）〜（３）の全部が満たされる場合のみに、赤色オブジェクトは囲み形状である、と判定されても良い。また、条件（２）および（３）の一方または両方は、判定されなくても良い。例えば、条件（１）が満たされたと、条件（２）および条件（３）の少なくとも一方が満たされた場合に、赤色オブジェクトは囲み形状であると判定され、これ以外の場合に、赤色オブジェクトは囲み形状でないと判定されても良い。
【００９４】
図５に戻って説明を続ける。ステップＳ２５０では、属性判断部３６０は、直前に実行された判定処理の判定条件が満たされたか否かを判断する。すなわち、直前に実行された判定処理が縦方向線判定処理（ステップＳ２３５）または横方向線判定処理（ステップＳ２４０）である場合には、当該判定処理において線であると判定されたか否かが判断される。また、直前に実行された判定処理が形状判定処理（ステップＳ２４５）である場合には、当該判定処理において囲み形状であると判定されたか否かが判断される。
【００９５】
直前に実行された判定処理の判定条件が満たされた場合には（ステップＳ２５０：ＹＥＳ）、属性判断部３６０は、全ての判定処理が実行されたか否か、すなわち、縦方向線判定処理（ステップＳ２３５）と横方向線判定処理（ステップＳ２４０）と形状判定処理（ステップＳ２４５）とが全て実行されたか否か、を判断する（ステップＳ２５５）。実行されていない判定処理がある場合には（ステップＳ２５５：ＮＯ）、属性判断部３６０は、ステップＳ２３０に戻る。この結果、実行されていない判定処理のうち、実行順序が次の判定処理が実行される。なお、次にどの判定処理が実行されるかは、後述する処理順序決定処理にて決定される。全ての判定処理が実行された場合には（ステップＳ２５５：ＹＥＳ）、属性判断部３６０は、処理対象の赤色オブジェクトは、囲み線であると判断する（ステップＳ２６０）。
【００９６】
一方、直前に実行された判定処理の判定条件が満たされない場合には（ステップＳ２５０：ＮＯ）、属性判断部３６０は、処理対象の赤色オブジェクトは、囲み線でないと判断する（ステップＳ２６５）。
【００９７】
ステップＳ２７０では、画像処理部３００は、全ての赤色オブジェクトが選択済みであるか否かを判断する。未選択の赤色オブジェクトがある場合には（ステップＳ２７０：ＮＯ）、画像処理部３００は、ステップＳ２０５に戻って、未選択の赤色オブジェクトを選択して、上述したステップＳ２０５〜Ｓ２６５までの処理を繰り返す。全ての赤色オブジェクトが選択された場合には（ステップＳ２７０：ＹＥＳ）、画像処理部３００は、オブジェクト判定処理を終了する。
【００９８】
以上の説明から解るように、処理対象の赤色オブジェクトが単色であると判定された場合（ステップＳ２１５：ＮＯ）には、以下の３つの判定条件（Ａ）〜（Ｃ）がそれぞれ判断される。当該３つの判定条件が全て満たされた場合には、赤色オブジェクトは、囲み線であると判断される。以下の３つの条件（Ａ）〜（Ｃ）のうち、少なくとも１つの判定条件が満たされない場合には、赤色オブジェクトは、囲み線でないと判断される。
【００９９】
（Ａ）縦方向線判定処理（ステップＳ２３５）で線であると判定されること
（Ｂ）横方向線判定処理（ステップＳ２４０）で線であると判定されること
（Ｃ）形状判定処理（ステップＳ２４５）で囲み線であると判定されること
【０１００】
この説明から解るように、本実施例では、赤色オブジェクトが囲み線であると判定される場合には、３つの判定処理（解析処理）が実行されるが、赤色オブジェクトが囲み線でないと判定される場合には、３つの判定処理の全てが実行されない場合がある。すなわち、３つの判定処理のうち、先行して実行される判定処理（例えば、第１の解析処理としての線判定処理）において判定条件が満たされない場合には、解析処理部３５０は、残りの判定処理（例えば、第２の解析処理としての形状判定処理）を実行せず、属性判断部３６０は、先行して実行された判定処理の処理結果に基づいて、赤色オブジェクトは囲み線でないと判断する。
【０１０１】
ここで、本実施例では、ステップＳ２２０の処理順序決定処理において、３つの判定処理の処理順序を適切に決定することによって、オブジェクト判定処理の処理時間の低減を図っている。以下、処理順序決定処理の詳細を説明する。
【０１０２】
図１１は、処理順序決定処理のフローチャートである。図６（Ａ）、図８（Ａ）に示すように、二値画像６０Ａ内の囲み線６６Ａ（図３（Ｂ））が処理対象の赤色オブジェクトである場合を例に説明する。ステップＳ２２１では、処理時間判断部３３０は、処理対象の赤色オブジェクトに外接する矩形領域ＳＩ１の内部に含まれる画素数（Ｈ×Ｗ）を算出する。Ｈは、矩形領域ＳＩ１の縦方向（Ｙ方向）の画素数を表している。Ｗは、矩形領域ＳＩ１の横方向（Ｘ方向）の画素数を表している。
【０１０３】
ステップＳ２２２では、処理時間判断部３３０は、処理対象の赤色オブジェクトを構成する赤色オブジェクト画素の個数Ｓを算出する。図６（Ａ）、図８（Ａ）の例では、囲み線６６Ａを構成する画素（黒色の部分の画素）の個数が、赤色オブジェクト画素の個数Ｓとして算出される。
【０１０４】
ステップＳ２２３では、処理時間判断部３３０は、形状判定処理で用いられる枠領域ＦＬ（図８（Ｂ））の画素数Ｍを算出する。図８（Ｂ）を参照して説明したように、枠領域ＦＬ内に含まれる画素数Ｍは、枠領域ＦＬのＸ方向およびＹ方向の幅（画素数）ＦＷに基づいて、Ｍ＝｛（ＦＷ×４）−４｝の式によって算出される。
【０１０５】
図１１において破線で示すステップＳ２２４は、実施例では実行されない。ステップＳＳ２２４については、変形例として後述する。
【０１０６】
ステップＳ２２５では、処理時間判断部３３０は、線判定処理の処理時間は、形状判定処理の処理時間未満であるか否かを判断する。本ステップの判断において、線判定処理の処理時間を評価する評価値には、ステップＳ２２１にて算出された矩形領域ＳＩ１内の画素数（Ｈ×Ｗ）が用いられる。上述したように、線判定処理（横方向線判定処理と縦方向線判定処理）は、矩形領域ＳＩ１内の全ての画素を処理対象として実行される処理である。したがって、線判定処理の処理時間は、矩形領域ＳＩ１内の画素数（Ｈ×Ｗ）に概ね比例すると考えられる。また、形状判定処理の処理時間を評価する評価値には、ステップＳ２２２にて算出された赤色オブジェクト画素の個数Ｓと、ステップＳ２２３にて算出された枠領域ＦＬの画素数Ｍと、の積（Ｓ×Ｍ）が用いられる。上述したように、形状判定処理は、Ｓ個の赤色オブジェクト画素のそれぞれに枠領域ＦＬを設定し、Ｓ個の枠領域ＦＬのそれぞれのＭ個の画素を処理対象とする処理である。したがって、形状判定処理の処理時間は、赤色オブジェクト画素の個数Ｓと、枠領域ＦＬの画素数Ｍと、の積（Ｓ×Ｍ）に概ね比例すると考えられる。
【０１０７】
処理時間判断部３３０は、（Ｈ×Ｗ）の値が、（Ｓ×Ｍ）の値未満である場合には、線判定処理の処理時間は、形状判定処理の処理時間未満であると判断する。処理時間判断部３３０は、（Ｈ×Ｗ）の値が、（Ｓ×Ｍ）の値以上である場合には、線判定処理の処理時間は、形状判定処理の処理時間以上であると判断する。
【０１０８】
線判定処理の処理時間が、形状判定処理の処理時間未満であると判断される場合には（ステップＳ２２５：ＹＥＳ）、処理時間判断部３３０は、線判定処理を先行処理に決定する（ステップＳ２２６）。すなわち、形状判定処理に先行して、線判定処理を実行するように処理順序が決定される。また、処理時間判断部３３０は、線判定処理の処理時間が、形状判定処理の処理時間以上であると判断される場合には（ステップＳ２２５：ＮＯ）、処理時間判断部３３０は、形状処理を先行処理に決定する（ステップＳ２２７）。すなわち、線判定処理に先行して、形状判定処理を実行するように処理順序が決定される。
【０１０９】
以上説明した処理順序決定処理によれば、判定処理（解析処理）の処理時間に応じて、線判定処理と、形状判定処理、のうち、処理時間が短いと判断される処理が先行して実行される。したがって、先行して実行された判定処理が判定条件を満たさない場合には、処理時間が長い判定処理を実行することなく、赤色オブジェクトは囲み線でないと判断される。例えば、線判定処理が先行して実行された結果、赤色オブジェクトが線でないと判定された場合には、赤色オブジェクトは、形状判定処理とは無関係に囲み線でないと判断される。逆に、形状判定処理が先行して実行された結果、赤色オブジェクトが囲み形状でないと判定された場合には、赤色オブジェクトは、線判定処理とは無関係に囲み線でないと判断される。この結果、線判定処理と形状判定処理のうち、処理時間が長い処理が実行されることなく、赤色オブジェクトが囲み線であるか否かを判断できる可能性が高くなる。したがって、赤色オブジェクトが囲み線であるか否かを判断するための解析処理の処理時間を低減することができる。
【０１１０】
さらに、処理時間判断部３３０は、線判定処理の処理対象である画素の個数に応じた第１の値を用いて、線判定処理の処理時間を判断し、形状判定処理の処理対象である画素の個数に応じた第２の値を用いて、形状判定処理の処理時間を判断する。この結果、線判定処理の処理時間と、形状判定処理の処理時間と、を適切に判断することができる。
【０１１１】
より具体的には、線判定処理は、赤色オブジェクトを含む矩形領域内の複数個の画素に対する処理を含むので、第１の値には、矩形領域内の画素の個数に応じた値（Ｈ×Ｗ）が用いられる。また、形状判定処理は、赤色オブジェクトを構成する複数個の画素に対する処理を含むので、第２の値には、オブジェクトを構成する画素の個数に応じた値（Ｓ×Ｍ）が用いられる。この結果、線判定処理と、形状判定処理との、それぞれの処理内容に応じて、第１の解析処理と第２の処理時間を適切に判断できる。
【０１１２】
例えば、図６（Ａ）に示す囲み線６６Ａのような線状のオブジェクトが赤色オブジェクトである場合と、図６（Ｂ）に示す描画の部分オブジェクト６８Ａのような線状でないオブジェクトが赤色オブジェクトである場合と、を比較する。線状のオブジェクトは、図６（Ａ）の例のように、外接する矩形領域の画素数（Ｈ×Ｗ）と比較して、オブジェクト領域の画素数Ｓが大幅に少ない場合がある（（Ｈ×Ｗ）＞＞Ｓ）。この場合には、（Ｈ×Ｗ）＞（Ｓ×Ｍ）が成立するので、形状判定処理の処理時間が、線判定処理の処理時間より短くなると判断される。一方、図６（Ｂ）に示す描画の部分オブジェクト６８Ａのような線状でないオブジェクトは、外接する矩形領域の画素数（Ｈ×Ｗ）と、オブジェクト領域の画素数Ｓと、の差が、比較的小さい場合がある。図６（Ｂ）の例では、外接する矩形領域ＳＩ１のほとんどがオブジェクト画素で占められているので、矩形領域の画素数（Ｈ×Ｗ）と、オブジェクト領域の画素数Ｓと、の差が、比較的小さいことが解る。この場合には、（Ｈ×Ｗ）＜（Ｓ×Ｍ）が成立するので、形状判定処理の処理時間が、線判定処理の処理時間より短くなると判断される。
【０１１３】
図２に戻って説明を続ける。オブジェクト判定処理が終了すると、続くステップＳ１５０（図２）では、特定された囲み線（囲み線であると判定された赤色オブジェクト）の中から、１個の囲み線を処理対象として選択する。図３の例では、１個の囲み線６６Ａ（図３（Ｂ））のみが特定されているので、当該囲み線６６Ａが選択される。
【０１１４】
ステップＳ１５５では、画像処理部３００の除去処理部３７０は、除去対象のオブジェクトを含む部分画像データを生成する。具体的には、除去処理部３７０は、二値画像６０Ａにおいて、処理対象の囲み線６６に外接する外接矩形ＯＳ１（図３（Ｂ））を特定する。除去処理部３７０は、当該外接矩形ＯＳ１に対応する部分画像ＰＳＩ（図３（Ａ））を、スキャン画像６０から切り出すことによって、部分画像ＰＳＩを表す部分画像データを生成する。
【０１１５】
図１２は、部分画像ＰＳＩの一例（図１２（Ａ））と、部分二値画像ＰＢＩの一例（図１２（Ｂ））を示す図である。図１２に示すように、部分画像ＰＳＩは、囲み線６６と、描画６５を、オブジェクトとして含んでいる。
【０１１６】
ステップＳ１６０では、除去処理部３７０は、部分画像ＰＳＩ内のオブジェクトを特定するために、部分画像データに対して二値化処理を実行して、部分二値画像データを生成する。具体的には、部分画像データは、背景を構成する背景画素と、オブジェクトを構成するオブジェクト画素と、に二値化される。例えば、除去処理部３７０は、例えば、囲み線６６Ａ（図３（Ｂ））の近傍に位置する複数個の画素、例えば、囲み線６６Ａの外側に位置する複数個の画素であって、囲み線６６Ａに沿って配置された複数個の画素の値の平均値（Ｒave2、Ｇave2、Ｂave2）を、二値化のための基準の色として算出する。あるいは、除去処理部３７０は、スキャン画像６０において、部分画像ＰＳＩの外側に位置する画素であって、部分画像ＰＳＩの外縁に沿って配置された複数個の画素の値の平均値（Ｒave2、Ｇave2、Ｂave2）を、二値化のための基準の色として算出する。そして、除去処理部３７０は、（Ｒave2−ΔＶ２）≦Ｒ≦（Ｒave2＋ΔＶ２）、かつ、（Ｇave2−ΔＶ２）≦Ｇ≦（Ｇave2＋ΔＶ２）、かつ、（Ｂave2−ΔＶ２）≦Ｂ≦（Ｂave2＋ΔＶ２）を満たす画素値（ＲＧＢ値）を有する画素を背景画素に分類し、背景画素と決定すべき画素以外の画素をオブジェクト画素に分類する。除去処理部３７０は、部分画像ＰＳＩに含まれる全ての画素を、背景画素とオブジェクト画素とのいずれかに分類することによって、部分二値画像データを生成する。
【０１１７】
ステップＳ１６５では、除去処理部３７０は、生成された部分二値画像データを用いて、オブジェクトを特定して、特定されたオブジェクトに識別子を付すラベリングを実行する。ラベリングの結果、例えば、オブジェクトと、識別子とを、対応付けたラベルデータが生成される。
【０１１８】
具体的には、除去処理部３７０は、連続する（互いに隣接する）１個以上のオブジェクト画素で構成される１個の領域を、１個のオブジェクトとして特定する。図１２（Ｂ）の例では、部分二値画像ＰＢＩにおいて、オブジェクト画素によって構成されるオブジェクトとして、囲み線６６Ｄと、描画６５Ｄと、が特定され、これらのオブジェクトのそれぞれに、互いに異なる識別子が付される。なお、部分二値画像ＰＢＩ内に特定されるオブジェクトには、ステップＳ１５０で選択された処理対象の囲み線が含まれる。囲み線を表すオブジェクトには、例えば、囲み線であることが認識できるように、他のオブジェクトとは異なる特別な識別子が付される。
【０１１９】
オブジェクトが特定されると、続くステップＳ１７０では、除去処理部３７０は、部分二値画像ＰＢＩに含まれる囲み線以外のオブジェクトが、囲み線に内包されているか否かを判定する内包関係判定処理を実行する。
【０１２０】
図１３は、内包関係判定処理のフローチャートである。ステップＳ４０５では、除去処理部３７０は、部分二値画像ＰＢＩ内に特定されたオブジェクトの中から囲み線以外のオブジェクトを処理対象として選択する。図１２（Ｂ）の例では、描画６５Ｄが、処理対象のオブジェクトとして選択される。
【０１２１】
ステップＳ４１０では、除去処理部３７０は、図１２（Ｂ）に示すように、４本の判定線Ａ１〜Ａ４を設定する。４本の判定線Ａ１〜Ａ４は、処理対象のオブジェクト（具体的には、描画６５Ｄ）の重心ＣＣを基点として、上方向（−Ｙ方向）、下方向（＋Ｙ方向）、左方向（−Ｘ方向）、右方向（＋Ｘ方向）にそれぞれ延びる半直線である。
【０１２２】
ステップＳ４１５では、除去処理部３７０は、４本の判定線Ａ１〜Ａ４のそれぞれと、囲み線６６Ｄと、の交点の個数（交点数Ｍｘ）を、判定線ごとに特定する。具体的には、除去処理部３７０は、部分二値画像ＰＢＩにおいて、処理対象の判定線上の画素を、基点（重心ＣＣ）から外側に向かって順次に走査する。そして、除去処理部３７０は、判定線上に検出された交点の数をカウントする。例えば、図１２（Ｂ）の例では、４本の判定線Ａ１〜Ａ４のそれぞれと、囲み線６６Ｄとは、１個ずつ交点ＣＰ１〜ＣＰ４を有することが解る。
【０１２３】
ステップＳ４２０では、除去処理部３７０は、交点数Ｍｘが奇数であるか否かを判定線ごとに判断し、４本の判定線Ａ１〜Ａ４のうち、交点数Ｍｘが奇数である判定線（以下、奇数判定線と呼ぶ）の数ＬＩｎを特定する。図１２（Ｂ）の例では、４本の判定線Ａ１〜Ａ４の交点数Ｍｘは、全て「１」であるので、奇数判定線ＬＩｎの数は「４」である。
【０１２４】
ステップＳ４２５では、除去処理部３７０は、奇数判定線の数ＬＩｎが３以上であるか否かを判断する。奇数判定線の数ＬＩｎが３以上である場合には（ステップＳ４２５：ＹＥＳ）、除去処理部３７０は、処理対象のオブジェクトは、囲み線６６Ｄに内包されていると判定する（ステップＳ４３０）。奇数判定線の数ＬＩｎが３未満である場合には（ステップＳ４２５：ＮＯ）、除去処理部３７０は、処理対象のオブジェクトは、囲み線６６Ｄに内包されていないと判定する（ステップＳ４３５）。
【０１２５】
囲み線６６Ｄが閉曲線であり、判定線の終点（部分二値画像ＰＢＩの画像の端）は、閉曲線の外側にあると仮定する。判定線の基点から終点に向かって走査する場合に、囲み線６６Ｄとの交点を通過する度に、判定線上の注目点（走査位置）の内外関係が変化する。内外関係が変化するとは、注目点の位置が、囲み線の内側から外側に変化する、あるいは、囲み線の外側から内側に変化することを意味する。したがって、判定線の基点が囲み線の内側に位置する場合には、判定線の基点から終点までの間の交点数Ｍｘは、終点が必ず囲み線の外側に位置することを考慮すると、奇数になることが解る。
【０１２６】
逆に、判定線の基点が囲み線の外側に位置する場合には、判定線の基点から終点までの間の交点数Ｍｘは、偶数になることが解る。例えば、仮に、囲み線６６Ｄの外側に位置するサンプル点ＳＰ１（図１２（Ｂ））から上下左右方向にそれぞれ延びる４本の判定線Ａ５〜Ａ８を考える。２本の判定線Ａ５、Ａ７は、それぞれ囲み線６６Ｄとの間に、２個の交点を有する（図１２（Ｂ）のＣＰ５〜ＣＰ８）。一方、他の２本の判定線Ａ６、Ａ８は、いずれも囲み線６６Ｄとの間に交点を有さない（０個の交点を有する）。このように、囲み線６６Ｄの外側に位置するサンプル点ＳＰ１を基点とする判定線の基点から終点までの間の交点数Ｍｘは、偶数（この例では、０または２）である。
【０１２７】
このように、処理対象のオブジェクト上を基点とする判定線を設定すれば、判定線と囲み線との交点数Ｍｘに基づいて、処理対象のオブジェクトが、囲み線に内包されている（囲み線の内側にある）か否かを、判定することができる。ここで、４本の判定線Ａ１〜Ａ４を設定し、交点数Ｍｘが奇数である判定線が３以上である場合に、処理対象のオブジェクトが囲み線に内包されていると判断している理由を説明する。これは、例外的に、処理対象のオブジェクトが囲み線に内包されている場合でも、交点数Ｍｘが偶数になる場合があり得るからである。例えば、囲み線６６Ｄは、手書きで記入されることを想定しているので、図１２（Ｂ）に示すように、一筆書きの両端部の近傍に隙間ＢＴが生じる場合がある。仮に、図１２（Ｂ）の下方向の判定線Ａ２が、隙間ＢＴを通ると、判定線Ａ２の交点数Ｍｘは、０（偶数）になってしまうことが解る。このような場合に、例えば、１本の判定線に基づいて判定を行うとすれば、誤った判定結果となり得ることは明らかである。本実施例では、４本の判定線のうちの奇数判定線の数ＬＩｎが、３個以上であるか否かに基づいているので、例外的に、１個の判定線の交点数Ｍｘが偶数になった場合であっても適切に内包関係を判定することができる。
【０１２８】
ステップＳ４４０では、除去処理部３７０は、囲み線以外の全てのオブジェクトが処理対象として選択済みであるか否かを判断する。未選択のオブジェクトがある場合には（ステップＳ４４０：ＮＯ）、除去処理部３７０は、ステップＳ４０５に戻って、未選択のオブジェクトを選択して、上述したステップＳ４０５〜Ｓ４４０までの処理を繰り返す。全てのオブジェクトが選択された場合には（ステップＳ４４０：ＹＥＳ）、除去処理部３７０は、内包関係判定処理を終了する。
【０１２９】
内包関係判定処理が終了すると、続くステップＳ１７５（図２）では、除去処理部３７０は、囲み線６６と、囲み線６６に内包されていると判定されたオブジェクトとを、スキャン画像６０（図３（Ａ））から除去するオブジェクト除去処理を実行する。除去処理部３７０は、部分二値画像ＰＢＩ（図１２（Ｂ））に基づいて、スキャン画像６０上において、囲み線６６と、囲み線６６に内包されているオブジェクト（描画６５）と、を構成する複数個の画素を特定する。除去処理部３７０は、特定された複数個の画素の画素値を、スキャン画像６０の背景の色を表す画素値に変更する。背景の色を表す画素値は、例えば、原稿の用紙の色（白）を表す画素値であり、ステップＳ１６０（図２）にて算出された二値化のための基準の色を表す画素値（Ｒave2、Ｇave2、Ｂave2）が用いられる。これによって、スキャン画像６０から、囲み線６６と描画６５とが除去された処理済み画像６０Ｃ（図３（Ｃ））を表す処理済みの画像データが生成される。
【０１３０】
ステップＳ１８０では、画像処理部３００は、全ての囲み線が選択済みであるか否かを判断する。未選択の囲み線がある場合には（ステップＳ１８０：ＮＯ）、画像処理部３００は、ステップＳ１５０に戻って、未選択の囲み線を選択して、上述したステップＳ１５０〜Ｓ１８０までの処理を繰り返す。全ての囲み線が選択された場合には（ステップＳ１８０：ＹＥＳ）、画像処理部３００は、処理済みの画像データを、スキャンデータ（対象画像データ）の送信元である複合機２００に対して送信して（ステップＳ１８５）、処理を終了する。
【０１３１】
複合機２００の画像データ送受信部１１５は、サーバ４００から処理済みの画像データを受信すると、例えば、当該画像データを、不揮発性記憶装置２３０に格納して処理を終了する。この処理済みの画像データは、例えば、プリンタ部２４０を用いて、処理済みの画像データによって表される画像を用紙に印刷するために用いられる。
【０１３２】
以上説明した本実施例の画像処理によれば、利用者は、所望のオブジェクトを赤色のペンで記入した囲み線で囲んだ原稿を、複合機２００のスキャナ部２５０に読み取らせることによって、原稿から所望のオブジェクトが除去された画像を表す画像データを取得することができる。なお、囲み線は、除去すべきオブジェクトの指定以外にも用いられ得る。例えば、画像処理部３００は、オブジェクト除去処理（ステップＳ１７５）に代えて、囲み線で囲まれたオブジェクトを表す画像だけを含み、囲み線で囲まれていないオブジェクトを除去した画像を表す画像データを生成する処理を実行しても良い。一般的に言えば、囲み線によって囲まれたオブジェクトを特定し、特定されたオブジェクトを含む部分画像を表す部分画像データを用いて、所定の画像処理を実行するために、囲み線は用いられ得る。
【０１３３】
さらに、本実施例のオブジェクト判定処理によれば、オブジェクトを構成する複数個の特定画素（具体的には赤色オブジェクト画素）のそれぞれに設定される枠領域ＦＬ（図８）に基づいて、赤色オブジェクトが囲み線であるか否かを判定する。この結果、オブジェクトの分岐の状態を枠領域ＦＬとの交差数Ｍｖに基づいて、赤色オブジェクトの形状を適切に解析して、赤色オブジェクトが囲み線であるか否かを適切に判定することができる。
【０１３４】
より具体的には、複数個の特定画素のうち、交差数Ｍｖが２個である枠領域ＦＬ（２個のオブジェクト部分領域を含む枠領域ＦＬ）に対応する第１の特定画素の割合ＲＴ２を用いて、赤色オブジェクトが囲み線であるか否かを判定する（図７：ステップＳ３２５）。この結果、赤色オブジェクトが囲み線であるか否かを適切に判定することができる。
【０１３５】
さらに、形状判定部３５３は、交差数ＭｖがＭ個（Ｍは、１、３、４のうちのいずれかの整数）である枠領域ＦＬに対応する複数個の第２の特定画素のうち、特定領域ＥＳ（図１０）に含まれる第２の特定画素の割合ＲＴＣを用いて、赤色オブジェクトが囲み線であるか否かを判定する（図７：ステップＳ３６５）。この結果、赤色オブジェクトが囲み線であるか否かを、さらに、精度良く判定することができる。
【０１３６】
さらに、形状判定部３５３は、交差数Ｍｖが５個以上である枠領域ＦＬに対応する第３の特定画素の割合ＲＴ５を用いて、赤色オブジェクトが囲み線であるか否かを判定する（図７：ステップＳ３４０）。この結果、赤色オブジェクトが囲み線であるか否かを、さらに、精度良く判定することができる。
【０１３７】
また、線判定部３５２は、赤色オブジェクトに外接する矩形領域の２つの方向（Ｘ方向とＹ方向）に延びる複数の直線上において、赤色オブジェクト画素の分布を解析する処理を含む線判定処理（図５のステップＳ２３５、ステップＳ２４０）を実行する。この結果、複数方向における赤色オブジェクト画素の分布に基づいて、オブジェクトが線であるか否かを適切に判断することができる。
【０１３８】
なお、線判定処理は、１つの方向における赤色オブジェクト画素の分布を解析する処理のみを含んでも良い。すなわち、縦方向線判定処理と横方向線判定処理とのうちの一方の処理だけが実行されても良い。この場合には、比較的短時間でオブジェクトが線であるか否かを判断することができる。
【０１３９】
Ｂ．変形例
（１）上記実施例の処理順序決定処理では、処理対象の画素数を単純に比較することによって、処理時間の比較を行っているが、これに加えて、処理対象の画素毎に繰り返される単位処理の処理負荷を考慮しても良い。具体的には、図１１のフローチャートにて破線で示すステップＳ２２４において、処理時間判断部３３０は、線判定処理の単位処理の処理負荷に応じた係数Ｃ１と、形状判定処理の単位処理の処理負荷に応じた係数Ｃ２と、を取得する。係数Ｃ１、Ｃ２は、処理負荷を相対的に示す値であれば良い。例えば、係数Ｃ１、Ｃ２は、特定の試験用画像データを用いて測定された処理時間の実測値を、処理対象とする画素数で除した値に基づいて予め決定された値を用いても良い。あるいは、係数Ｃ１、Ｃ２は、オブジェクト判定処理を行うコンピュータとして想定される特定種のコンピュータにおいて、単位処理を実行した場合に要するクロックのカウント値に基づいて決定されても良い。係数Ｃ１、Ｃ２は、特定種のコンピュータ用にコンパイルして得られる機械語における単位処理の処理ステップ数に基づいて決定されても良い。
【０１４０】
この場合には、線判定処理の処理時間を評価する評価値には、第１実施例における評価値（Ｈ×Ｗ）と、係数Ｃ１と、の積が用いられる。また、形状判定処理の処理時間を評価する評価値には、第１実施例における評価値（Ｓ×Ｍ）と、係数Ｃ２と、の積が用いられる。すなわち、ステップＳ２２５（図１１）において、処理時間判断部３３０は、｛Ｃ１×（Ｈ×Ｗ）｝の値が、｛Ｃ２×（Ｓ×Ｍ）｝の値未満である場合には、線判定処理の処理時間は、形状判定処理の処理時間未満であると判断する。処理時間判断部３３０は、｛Ｃ１×（Ｈ×Ｗ）｝の値が、Ｃ２×（Ｓ×Ｍ）｝の値以上である場合には、線判定処理の処理時間は、形状判定処理の処理時間以上であると判断する。本変形例によれば、単位処理の処理負荷に応じて、線判定処理の処理時間と、形状判定処理の第２の解析処理の処理時間と、を精度良く判断することができる。この結果、線判定処理と、形状判定処理と、のいずれの処理を先行して実行すべきであるかを適切に判断することができる。
【０１４１】
（２）上記実施例では、第１の解析処理の例として線判定処理を挙げ、第２の解析処理の例として形状判定処理を挙げているが、これに限られない。第１の解析処理と第２の解析処理には、互いに異なる処理であって、画像データを解析して解析結果を得るための任意の処理が用いられ得る。例えば、第１の解析処理は、例えば、画像内の特定のオブジェクトが文字であるか否かを判定する処理であり、第２の解析処理は、画像内の特定のオブジェクトが写真であるか否かを判定する処理であっても良い。この場合には、例えば、第１の解析処理によって、文字であると判定された場合には、第２の解析処理とは無関係に、特定のオブジェクトは文字であると判定される。第２の解析処理によって、写真であると判定された場合には、第１の解析処理とは無関係に、特定のオブジェクトは写真であると判定される。そして、第１の解析処理の処理時間が第２の解析処理の処理時間未満であると判断される場合には、第１の解析処理が第２の解析処理に先行して実行される。この結果、第１の解析処理によって、特定のオブジェクトが文字であると判定された場合には、第２の解析処理は、実行されない。また、第１の解析処理の処理時間が第２の解析処理の処理時間以上であると判断される場合には、第２の解析処理が第１の解析処理に先行して実行される。この結果、第２の解析処理によって、特定のオブジェクトが写真であると判定された場合には、第１の解析処理は、実行されない。この結果、第１の解析処理と第２の解析処理のうち、処理時間が長い解析処理の実行を抑制して、解析処理全体の処理時間を低減することができる。
【０１４２】
（３）上記実施例では、線判定処理と、形状判定処理と、の２つの処理の処理時間を比較しているが、３以上の処理の処理時間を比較しても良い。例えば、変形例（２）で例示した特定のオブジェクトが文字であるか否かを判定する処理と、特定のオブジェクトが写真であるか否かを判定する処理と、に加えて、特定のオブジェクトが描画であるか否かを判定する処理と、を実行する場合を例に説明する。この場合には、これらの３つの判定処理の処理時間を互いに比較して、３つの判定処理の処理順序を決定することが好ましい。すなわち、処理時間判断部３３０は、これらの３つの判定処理の処理時間の評価値をそれぞれ算出し、評価値が小さい順に、すなわち、処理時間が短い順に、３つの判定処理の処理順序を決定することが好ましい。こうすることで、これらの３つの判定処理のうちの１個の処理で、特定のオブジェクトの属性（写真、描画、文字のいずれか）を決定できた場合には、その時点で実行されていない判定処理の有無に拘わらずに、特定のオブジェクトの属性が決定される。
【０１４３】
（４）上記実施例の形状判定処理では、判定対象の赤色オブジェクトを構成する全ての赤色オブジェクト画素に対して、枠領域ＦＬが設定されているが、一部の赤色オブジェクト画素に対してのみ、枠領域ＦＬを設定しても良い。具体的には、１個の赤色オブジェクト画素に対して、枠領域ＦＬを設定した場合には、当該１個の赤色オブジェクト画素から所定距離内（例えば、２画素分の距離内）に位置する他の赤色オブジェクト画素は、枠領域ＦＬの設定対象から除去しても良い。あるいは、判定対象の赤色オブジェクトを構成する全ての赤色オブジェクト画素のうち、Ｘ座標とＹ座標の両方が奇数である画素に対して、枠領域ＦＬを設定し、Ｘ座標とＹ座標のうちの少なくとも一方が奇数である画素に対して、枠領域ＦＬを設定しないこととしても良い。この場合には、割合ＲＴ２、ＲＴＣ、ＲＴ５には、それぞれ、枠領域ＦＬが設定された赤色オブジェクト画素の個数に対する、第１、第２、第３の特定画素の割合が用いられる。
【０１４４】
同様に、上記実施例の線判定処理では、赤色オブジェクトに外接する矩形領域内の全ての画素を処理対象にして平均連続画素数ＬＮ１ave、ＬＮ２aveを算出している。これに代えて、例えば、矩形領域内の一部の画素のみを処理対象にして、平均連続画素数ＬＮ１ave、ＬＮ２aveを算出しても良い。例えば、縦方向線判定処理では、矩形領域内の全てのＹ方向（縦方向）に沿った線のうち、Ｘ座標が奇数である線上の画素のみを処理対象としても良い。
【０１４５】
このような場合には、処理時間判断部３３０は、例えば、係数を乗じることによって、処理時間の評価値を調整しても良い。例えば、処理時間判断部３３０は、形状判定処理の処理時間の評価値（Ｓ×Ｍ）に、全ての赤色オブジェクト画素の個数に対する、枠領域ＦＬが設定される赤色オブジェクト画素の比率を、係数として乗じても良い。また、処理時間判断部３３０は、線判定処理の処理時間の評価値（Ｈ×Ｗ）に、矩形領域内の全ての縦方向の線の数に対する、連続画素数の算出対象となる線の数を、係数として乗じても良い。また、形状判定処理の処理時間の評価値（Ｓ×Ｍ）に乗じるべき係数と、線判定処理の処理時間の評価値（Ｈ×Ｗ）に乗じるべき係数と、が同程度である場合には、係数を乗じなくても良い。
【０１４６】
（５）なお、上記実施例のオブジェクト判定処理（図５）は、縦方向判定処理（ステップＳ２３５）と、横方向判定処理（ステップＳ２４０）と、の両方を含んでいる。そして、方向判定処理で、線であると判定されることと、横方向判定処理で、線であると判定されること、の両方が、赤色オブジェクトが囲み線であると判断されるための必要条件とされている。これに代えて、オブジェクト判定処理は、縦方向判定処理と、横方向判定処理との、いずれか一方の処理だけを含み、当該一方の処理で、線であると判定されることが、赤色オブジェクトが囲み線であると判断されるための必要条件とされても良い。
【０１４７】
（６）上記実施例のオブジェクト判定処理における線判定処理の処理時間の評価値（Ｈ×Ｗ）は、縦方向判定処理と、横方向判定処理と、のそれぞれの処理時間の評価値である。これに代えて、線判定処理の処理時間の評価値として、縦方向判定処理と、横方向判定処理と、との処理時間の合計の評価値、すなわち、（Ｈ×Ｗ）×２が採用されても良い。
【０１４８】
（７）上記実施例における枠領域ＦＬのサイズ（幅ＦＷ）や、特定領域ＥＳのサイズ（幅ＥＷ）は、図８（Ｃ）や図１０（Ｂ）の式を用いて算出されているが、これに代えて、固定値が用いられても良い。また、枠領域ＦＬの形状や特定領域ＥＳの形状は、正方形に限らず、長方形であっても良いし、円形であっても良いし、三角形や五角形などの各種の多角形であっても良い。
【０１４９】
（８）なお、本実施例の対象画像データは、スキャナによって読み取られたスキャンデータが採用されているが、例えば、デジタルカメラなどで撮影された撮影画像データであっても良いし、文書や描画などを作成するためのアプリケーションプログラムを用いて生成された画像データであっても良い。また、囲み線は、例えば、ペンを用いて記入された囲み線に限られず、上記アプリケーションプログラムを用いて、画像内に描画された囲み線であっても良い。この場合には、例えば、マウスなどのポインティングデバイスを用いて、フリーハンドで描画された囲み線であっても、当該囲み線を適切に特定することができる。
【０１５０】
（９）上記実施例においてサーバ４００の画像処理部３００によって実行される画像処理は、サーバ４００とは異なる装置、例えば、複合機２００と接続されたパーソナルコンピュータ５００（図１）によって実行されても良い。この場合には、この画像処理は、例えば、複合機２００のスキャナ部２５０や、単体のスキャナ（図示せず）を、制御するためにパーソナルコンピュータ５００にインストールされたスキャナドライバキャナによって実行されても良い。また、この画像処理は、複合機２００のＣＰＵ２１０や、単体のスキャナのＣＰＵによって実行されても良い。また、サーバ４００は、１つの筐体の装置に限らず、複数の計算機を含む計算システム（例えば、いわゆるクラウドコンピューティングを実現する分散型の計算システム）によって構成されていても良い。
【０１５１】
（１０）上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【符号の説明】
【０１５２】
１１０...通信制御部、１１５...画像データ送受信部、１２０...装置制御部、２００...複合機、２１０...ＣＰＵ、２２０...揮発性記憶装置、２２１...バッファ領域、２３０...不揮発性記憶装置、２３１...制御プログラム、２４０...プリンタ部、２５０...スキャナ部、２６０...操作部、２７０...表示部、２８０...通信部、３００...画像処理部、３１０...画像データ取得部、３２０...オブジェクト特定部、３３０...処理時間判断部、３５０...解析処理部、３５１...色判定部、３５２...線判定部、３５３...形状判定部、３６０...属性判断部、３７０...除去処理部、４００...サーバ、４１０...ＣＰＵ、４２０...揮発性記憶装置、４２１...バッファ領域、４３０...不揮発性記憶装置、４３１...コンピュータプログラム、４８０...通信部、５００...パーソナルコンピュータ、７０...インターネット、１０００...画像処理システム
【図１】
2014194659.tif 000003
【図２】
2014194659.tif 000004
【図３】
2014194659.tif 000005
【図４】
2014194659.tif 000006
【図５】
2014194659.tif 000007
【図６】
2014194659.tif 000008
【図７】
2014194659.tif 000009
【図８】
2014194659.tif 000010
【図９】
2014194659.tif 000011
【図１０】
2014194659.tif 000012
【図１１】
2014194659.tif 000013
【図１２】
2014194659.tif 000014
【図１３】
2014194659.tif 000015