(57)【特許請求の範囲】
【請求項１】
２値化された画像データにおいて注目画素を主走査方向及び前記主走査方向と直交する副走査方向に走査させて、前記注目画素が２値のうちの一方の値の画素である場合に、前記注目画素に一時的に仮ラベル番号を付与する仮ラベル付処理を実行する仮ラベル付手段と、
前記仮ラベル付手段による前記注目画素の主走査方向の走査を１ライン終える度に、１ライン全ての画素が２値のうちの他方の値であるか否かを判断する判断手段と、
前記判断手段により１ライン全ての画素が前記他方の値であると判断されたとき、前記仮ラベル付手段による前記仮ラベル付処理と並行して、前記一方の値の画素が連結してなる連結領域の各画素であって１ライン全ての画素が前記他方の値であると判断されたとき以前に付与された仮ラベル番号を、連結領域毎に異なる本ラベル番号に置き換える本ラベル付処理を実行する本ラベル付手段と、を備えたことを特徴とするラベリング処理装置。
【請求項２】
前記判断手段により１ライン全ての画素が前記他方の値であると判断された前記画像データにおける前記副走査方向の座標情報を上書き記憶する座標記憶手段を備え、
前記本ラベル付手段は、前記座標記憶手段に記憶された前記座標情報の示す位置まで前記本ラベル付処理を実行することを特徴とする請求項１に記載のラベリング処理装置。
【請求項３】
２値化された画像データにおいて注目画素を主走査方向及び前記主走査方向と直交する副走査方向に走査させて、前記注目画素が２値のうちの一方の値の画素である場合に、前記注目画素に一時的に仮ラベル番号を付与する仮ラベル付処理を実行する仮ラベル付工程と、
前記仮ラベル付工程にて前記注目画素の主走査方向の走査を１ライン終える度に、１ライン全ての画素が２値のうちの他方の値であるか否かを判断する判断工程と、
前記判断工程にて１ライン全ての画素が前記他方の値であると判断されたとき、前記仮ラベル付工程における前記仮ラベル付処理と並行して、前記一方の値の画素が連結してなる連結領域の各画素であって１ライン全ての画素が前記他方の値であると判断されたとき以前に付与された仮ラベル番号を、連結領域毎に異なる本ラベル番号に置き換える本ラベル付処理を実行する本ラベル付工程と、を備えたことを特徴とするラベリング処理方法。
【請求項４】
前記判断工程にて１ライン全ての画素が前記他方の値であると判断された前記画像データにおける前記副走査方向の座標情報を座標記憶手段に上書き記憶させる座標記憶工程を備え、
前記本ラベル付工程では、前記座標記憶手段に記憶された前記座標情報の示す位置まで前記本ラベル付処理を実行することを特徴とする請求項３に記載のラベリング処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２値化された画像データにおいて２値のうちの一方の値の画素に仮ラベル番号を付与し、一方の値の画素が連結してなる連結領域の各画素に付与された仮ラベル番号を本ラベル番号に変換するラベリング処理装置及びラベリング処理方法に関する。
【背景技術】
【０００２】
画像処理では、Ｈ値（１の値）、Ｌ値（０の値）の２値画像に対して、連続する同一画素値の画素で形成される連結領域（画素集合体）を検出し、各連結領域に各ラベル番号を付与していくラベリング処理が行われている（非特許文献１参照）。この２値画像に対してラベリング処理を行う方法は、まず連結領域の各画素に仮ラベル番号付けを行う。そして、仮ラベル番号から本ラベル番号に番号を割り当て直すことでラベリング処理が終了する。以下、このラベリング処理について詳細に説明する。
【０００３】
図１０は、従来のラベリング処理を説明するための図であり、Ｌ値の背景画素の中に、Ｈ値を持った連結領域が３つ存在する場合を示している。図１０（ａ）に示すように、仮ラベル付けでは、注目画素Ａに対し上の周辺画素Ｂと左の周辺画素Ｃの３画素を抽出する。そして、注目画素Ａの画素値がＬ値であれば、そのまま仮ラベル番号は付与しない。注目画素ＡがＨ値であり、且つ周辺画素Ｂ、ＣがＬ値であれば、注目画素Ａに新しい仮ラベル番号を付与する。注目画素ＡがＨ値であり、且つ周辺画素Ｂ、Ｃのどちらかに仮ラベル番号が振られていれば、注目画素Ａにその割り振られている仮ラベル番号を付与する。注目画素ＡがＨ値であり、且つ周辺画素Ｂ、Ｃに異なる仮ラベル番号が付与されていれば、注目画素Ａに小さな番号の仮ラベル番号を付与し、周辺画素Ｂ、Ｃが同じ領域であることを記憶しておく。画像全体に対して注目画素Ａを走査し、上記処理を行うことにより、図１０（ｂ）に示す仮ラベル画像ができる。
【０００４】
次に、同一の連結領域に付けられた異なる仮ラベル番号を同一のラベル番号に整理し、本ラベル付けを行う。本ラベル付けでは、仮ラベル画像から注目画素を抽出し、仮ラベル番号から本ラベル番号にラベル番号を割り当て直して行く。以上の処理により、図１０（ｃ）に示すような本ラベル画像ができる。本ラベル画像では、同一の連結領域の各画素に同じラベル番号が付与されており、ラベリング処理後の正常な状態を示している。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】八木伸行監修、映像メディア学会編、「ディジタル画像処理」、オーム社出版（平成１２年４月２５日）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の従来のラベリング処理では、画像全体の仮ラベル付処理が終了した後に本ラベル付処理を行っていたため、処理に時間を要しており、ラベリング処理の高速化が望まれていた。
【０００７】
そこで、本発明は、ラベリング処理を高速化することのできるラベリング処理装置及びラベリング処理方法を提供することを目的とするものである。
【課題を解決するための手段】
【０００８】
本発明のラベリング処理装置は、２値化された画像データにおいて注目画素を主走査方向及び前記主走査方向と直交する副走査方向に走査させて、前記注目画素が２値のうちの一方の値の画素である場合に、前記注目画素に一時的に仮ラベル番号を付与する仮ラベル付処理を実行する仮ラベル付手段と、前記仮ラベル付手段による前記注目画素の主走査方向の走査を１ライン終える度に、１ライン全ての画素が２値のうちの他方の値であるか否かを判断する判断手段と、前記判断手段により１ライン全ての画素が前記他方の値であると判断されたとき、前記仮ラベル付手段による前記仮ラベル付処理と並行して、前記一方の値の画素が連結してなる連結領域の各画素であって１ライン全ての画素が前記他方の値であると判断されたとき以前に付与された仮ラベル番号を、連結領域毎に異なる本ラベル番号に置き換える本ラベル付処理を実行する本ラベル付手段と、を備えたことを特徴とする。
【０００９】
また、本発明のラベリング処理方法は、２値化された画像データにおいて注目画素を主走査方向及び前記主走査方向と直交する副走査方向に走査させて、前記注目画素が２値のうちの一方の値の画素である場合に、前記注目画素に一時的に仮ラベル番号を付与する仮ラベル付処理を実行する仮ラベル付工程と、前記仮ラベル付工程にて前記注目画素の主走査方向の走査を１ライン終える度に、１ライン全ての画素が２値のうちの他方の値であるか否かを判断する判断工程と、前記判断工程にて１ライン全ての画素が前記他方の値であると判断されたとき、前記仮ラベル付工程における前記仮ラベル付処理と並行して、前記一方の値の画素が連結してなる連結領域の各画素であって１ライン全ての画素が前記他方の値であると判断されたとき以前に付与された仮ラベル番号を、連結領域毎に異なる本ラベル番号に置き換える本ラベル付処理を実行する本ラベル付工程と、を備えたことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、２値化された画像データにおいて１ライン全ての画素が２値のうちの他方の値であるか否かを判断することにより、一方の値の画素が連結してなる連結領域の外周端を見極めている。そして、１ライン全ての画素が他方の値であると判断したときには、既に仮ラベル番号が付与された連結領域に対して本ラベル番号を付与する本ラベル付処理を実行する。この本ラベル付処理は、画像データの未走査領域における残りの連結領域に仮ラベル番号を付与する仮ラベル付処理と並行して行われる。このように、画像全体の仮ラベル付処理が終了するのを待たずに、本ラベル付処理を行うことができるので、従来の方法に比べてラベリング処理が高速化する。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１実施形態に係るラベリング処理装置の概略構成を示す説明図であり、（ａ）はラベリング処理装置全体を示す図、（ｂ）はラベリング処理装置の画像処理部を示す図である。
【図２】画像データを示す図であり、（ａ）はカメラから取り込んだ入力画像データを示す図、（ｂ）は入力画像データに２値化処理を施して得られた２値化画像データを示す図である。
【図３】本発明の第１実施形態のラベリング処理を説明するための図であり、（ａ）は２値化画像データに対して注目画素を走査し、仮ラベル付処理を行っている図、（ｂ）は作成された仮ラベル画像データを示す図である。（ｃ）は作成された接続関連テーブル及び本ラベル変換テーブルを示す図、（ｄ）は作成された本ラベル画像データを示す図である。
【図４】本発明の第１実施形態のＣＰＵの処理を示すフローチャートであり、（ａ）は第１のプロセッサの処理を示すフローチャート、（ｂ）は第１のプロセッサの仮ラベル付処理を示すフローチャート、（ｃ）は第２のプロセッサの処理を示すフローチャートである。
【図５】本発明の第１実施形態のラベリング処理の別の例を説明するための図であり、（ａ）は座標ｙ１＝ａ１まで仮ラベル付処理を行った図、（ｂ）は座標ｙ１＝ａ２まで仮ラベル付処理を行い、座標ｙ１＝ａ１まで本ラベル付処理を行った図である。（ｃ）は、最後まで仮ラベル付処理を行い、座標ｙ１＝ａ２まで本ラベル付処理を行った図である。（ｄ）は最後まで本ラベル付処理を行った図である。
【図６】本発明の第２実施形態のラベリング処理を説明するための図であり、（ａ）は２値化画像データに対して注目画素を走査し、仮ラベル付処理を行っている図、（ｂ）は作成された仮ラベル画像データを示す図である。（ｃ）は作成された接続関連テーブル及び本ラベル変換テーブルを示す図、（ｄ）は作成された本ラベル画像データを示す図である。
【図７】本発明の第２実施形態のＣＰＵの処理を示すフローチャートであり、（ａ）は第１のプロセッサの処理を示すフローチャート、（ｂ）は第１のプロセッサの仮ラベル付処理を示すフローチャート、（ｃ）は第２のプロセッサの処理を示すフローチャートである。
【図８】本発明の第３実施形態のラベリング処理を説明するための図であり、（ａ）は２値化画像データに対して注目画素を走査し、仮ラベル付処理を行っている図、（ｂ）は作成された仮ラベル画像データを示す図である。（ｃ）は作成された接続関連テーブル及び本ラベル変換テーブルを示す図、（ｄ）は作成された本ラベル画像データを示す図である。（ｅ）は注目画素の主走査方向がＹ軸方向である場合の周辺画素を示す図である。
【図９】本発明の第３実施形態の第１のプロセッサの仮ラベル付処理を示すフローチャートである。
【図１０】従来のラベリング処理を説明するための図であり、（ａ）は２値化画像データに対して注目画素を走査し、仮ラベル付処理を行っている図、（ｂ）は作成された仮ラベル画像データを示す図、（ｃ）は作成された本ラベル画像データを示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
【００１３】
［第１実施形態］
図１は、本発明の第１実施形態に係るラベリング処理装置の概略構成を示す説明図である。図１（ａ）に示すように、ラベリング処理装置１００は、カメラ１１と、カメラ１１により撮像されて得られた画像データを入力して画像処理を行う画像処理部１２とを備えている。カメラ１１は、不図示のレンズ及びレンズにより形成された光像を撮像信号に変換して画像データとして出力する撮像素子を有しており、底盤１４上に載置された撮像対象であるプリント基板１３を撮像する。
【００１４】
画像処理部１２は、図１（ｂ）に示すように、ＣＰＵ３、メモリ４、バス５、不図示のＨＤＤからなるコンピューターシステムにより構成される。ＣＰＵ３は、２つの演算プロセッサである第１のプロセッサ６及び第２のプロセッサ７を有し、それぞれのプロセッサ６，７が独立してメモリアクセスや演算処理を行うことができる。つまり、ＣＰＵ３は、２つのプロセッサ６，７を有しているので、並列処理が可能である。
【００１５】
メモリ４は、各種画像データを記憶する画像記憶手段としての画像記憶部８と、特定の座標情報を記憶する座標記憶手段としての座標記憶部９と、接続関連テーブル及び本ラベル変換テーブルを記憶するテーブル記憶部１０とを有する。画像記憶部８、座標記憶部９及びテーブル記憶部１０は、メモリ４において割り振られた記憶領域を示している。ＣＰＵ３はバス５を介してメモリ４のデータにアクセスすることができる。
【００１６】
なお、メモリ４にはＣＰＵ３にラベリング処理を実行させるためのプログラムが格納され、ＣＰＵ３がプログラムを実行することによりラベリング処理を実行するように構成されている。
【００１７】
次に、ラベリング処理装置１００の動作の概略について説明する。第１のプロセッサ６は、カメラ１１に撮像動作させて、図２（ａ）に示すようなプリント基板１３を含む入力画像データＰ０を取り込み、画像記憶部８に記憶させる撮像処理を実行する。そして第１のプロセッサ６は、入力画像データＰ０を画像記憶部８から取り出し、各画素値が所定の閾値より小さければ０の値、大きければ１の値として、入力画像データＰ０を、図２（ｂ）に示すような２値化した画像データＰ１に書き換える２値化処理を実行する。これにより、画像データＰ１における、プリント基板１３上の抽出対象物１５に対応する画素が「０，１」の２値のうち「１」の値（一方の値）となり、それ以外の画素が、「０，１」の２値のうち「０」の値（他方の値）となる。なお、抽出対象物１５に対応する画素が「０，１」の２値のうち「０」の値（一方の値）となり、それ以外の画素が、「０，１」の２値のうち「１」の値（他方の値）となるように、入力画像データを２値化してもよい。ここでは、一方の値が「１」、他方の値が「０」の場合について説明する。
【００１８】
図３は、第１実施形態のラベリング処理を説明するための図である。なお、図３（ａ）において、２値化された画像データＰ１における一方の値「１」の画素以外の画素が、他方の値「０」の画素である。
【００１９】
第１のプロセッサ６は、図３（ａ）に示すように、２値化された画像データＰ１において注目画素Ａを主走査方向（Ｘ軸方向）及び主走査方向と直交する副走査方向（Ｙ軸方向）に、座標（０，０）から座標（ｍ，ｎ）まで走査（所謂、ラスタ走査）させる。なお、本第１実施形態では、主走査方向を画像データの横軸であるＸ軸方向とし、副走査方向を画像データの縦軸であるＹ軸方向とした。
【００２０】
第１のプロセッサ６は、画像データＰ１において注目画素Ａを走査することにより、一方の値「１」である画素に対して仮ラベル番号を付与する仮ラベル付処理を１画素ずつ順次実行し、図３（ｂ）に示す仮ラベル画像データＰ２を作成する。また、第１のプロセッサ６は、この仮ラベル画像データＰ２を作成する際に、異なる仮ラベル番号が付与された互いに隣接する画素が同一のラベル番号であることを示す図３（ｃ）に示す接続関連テーブル１を作成する。なお、図３（ｂ）では、仮ラベル画像データＰ２が作成完了した状態を図示している。また、図３（ｃ）に示す接続関連テーブル１も、作成完了した状態を示している。この接続関連テーブル１において、一方の（左列）データは、割り当てた仮ラベル番号を示し、これに対応付けた他方の（右列）データは、左列データの仮ラベル番号と同じ連結領域（画素集合体）に属している仮ラベル番号を示している。
【００２１】
ここで、第１のプロセッサ６は、仮ラベル画像データＰ２の作成中に１ライン（１行）全ての画素が他方の値「０」であるのを検出したら、その行の副走査方向（Ｙ軸方向）の座標情報である座標ｙ１を座標記憶部９に上書き記憶させる。なお、座標ｙ１の初期値は０であり、その値が更新されることとなる。
【００２２】
第２のプロセッサ７は、座標記憶部９に記憶された座標ｙ１が更新されたら、第１のプロセッサ６の仮ラベル付処理と並行して、仮ラベル番号と本ラベル番号とを対応付けた図３（ｃ）に示す本ラベル変換テーブル２を作成する。
【００２３】
そして、第２のプロセッサ７は、仮ラベル画像データＰ２において仮ラベル付用の注目画素（不図示）を走査する。そして、第２のプロセッサ７は、本ラベル変換テーブル２を参照して、仮ラベル番号を本ラベル番号に変換し、図３（ｄ）に示す本ラベル画像データＰ３を、座標ｙ１の画素まで作成する。これらの動作は、座標記憶部９に記憶された座標情報である座標ｙ１がｎとなるまで行われる。
【００２４】
なお、これら画像データＰ２、Ｐ３は、画像データＰ１とは別に作成してもよいし、画像データＰ１の各画素に、画像データＰ２，Ｐ３の各画素の情報（仮ラベル番号、本ラベル番号）を付加するようにしてもよい。
【００２５】
以上、２つのプロセッサ６，７によるラベリング処理についての概略を説明したが、以下、各プロセッサ６，７によるラベリング処理の動作について具体的に説明する。図４は、ＣＰＵ３の処理を示すフローチャートであり、図４（ａ）及び図４（ｂ）は第１のプロセッサ６の処理を示すフローチャートである。図４（ｃ）は第２のプロセッサ７の処理を示すフローチャートである。まず、第１のプロセッサ６の処理について説明する。
【００２６】
図４（ａ）において、まず、第１のプロセッサ６は、上述した撮像処理を実行する（Ｓ１：撮像工程）。次に、第１のプロセッサ６は、上述した２値化処理を実行する（Ｓ２：２値化処理工程）。なお、これらステップＳ１，Ｓ２の処理は、第２のプロセッサ７が行ってもよいし、第１のプロセッサ６及び第２のプロセッサ７が処理を分担して行ってもよい。また、ＣＰＵ３で２値化処理する場合に限らず、外部から２値化処理済みの画像データを入力する場合であってもよい。
【００２７】
第１のプロセッサ６は、このようにして得られた画像データＰ１（図３（ａ））に対して、注目画素Ａを走査させる。そして、第１のプロセッサ６は、注目画素Ａが一方の値「１」である場合に、注目画素Ａに一時的に仮ラベル番号を付与する仮ラベル付処理を実行する（Ｓ３：仮ラベル付手段、仮ラベル付工程）。
【００２８】
以下、仮ラベル付処理動作について図４（ｂ）を参照しながら、具体的に説明する。まず、第１のプロセッサ６は、注目画素Ａを、座標（０，０）、（１，０）、…、（ｍ，０）、（０，１）…と、順次走査させていく。その走査中に、第１のプロセッサ６は、注目画素Ａが他方の値「０」であるか否かを判断する（Ｓ３−１）。
【００２９】
第１のプロセッサ６は、注目画素Ａが他方の値「０」である場合（Ｓ３−１：Ｙｅｓ）には、仮ラベル番号は付与せずにそのままとする（Ｓ３−２）。第１のプロセッサ６は、注目画素Ａが他方の値ではない（つまり一方の値「１」である）場合（Ｓ３−１：Ｎｏ）には、注目画素Ａに隣接し、かつ既に走査済みである周辺画素Ｂ，Ｃが他方の値「０」であるか否かを判断する（Ｓ３−３）。なお、本第１実施形態では、注目画素Ａに隣接する４方向の４つの画素のうち、既に走査済みである２つの画素Ｂ，Ｃを用いて判断するようにしている。
【００３０】
そして、第１のプロセッサ６は、周辺画素Ｂ，Ｃが他方の値「０」であると判断した場合（Ｓ３−３：Ｙｅｓ）、注目画素Ａに新しい仮ラベル番号を付与する（Ｓ３−４）。例えば、図３（ｂ）において、仮ラベル画像データＰ２の画素ｐ１〜ｐ３には、昇べきの順に新しい仮ラベル番号「１」、「２」、「３」がそれぞれ付与されている。第１のプロセッサ６は、周辺画素Ｂ，Ｃの少なくとも１つの画素が一方の値「１」であると判断した場合（Ｓ３−３：Ｎｏ）、周辺画素Ｂ，Ｃのうちの仮ラベル番号が付与された周辺画素に、１種類のみの仮ラベル番号が付与されているか否かを判断する（Ｓ３−５）。
【００３１】
そして、第１のプロセッサ６は、１種類のみの仮ラベル番号が付与されていると判断した場合（Ｓ３−５：Ｙｅｓ）、注目画素Ａにその周辺画素Ｂ又はＣに割り振られている仮ラベル番号を付与する（Ｓ３−６）。例えば、図３（ｂ）において、仮ラベル画像データＰ２の画素ｐ４には仮ラベル番号「１」、画素ｐ５〜ｐ７には仮ラベル番号「２」、画素ｐ８、ｐ９には、仮ラベル番号「３」が付与される。また、画素ｐ１０、ｐ１１には、仮ラベル番号「２」が付与される。
【００３２】
また、第１のプロセッサ６は、複数種類の（つまり、異なる）仮ラベル番号が付与されていると判断した場合（Ｓ３−５：Ｎｏ）、注目画素Ａに小さい方の仮ラベル番号を付与する。そして、第１のプロセッサ６は、複数の仮ラベル番号が同一の連結領域（画素集合体）に含まれることを示す接続関連テーブル１を作成し、接続関連テーブル１をテーブル記憶部１０に記憶させる（Ｓ３−７）。例えば、図３（ｂ）において、画素ｐ１２には、周辺画素の仮ラベル番号が「１」、「２」であるので、仮ラベル番号「１」が付与される。次いで、図３（ｃ）に示す接続関連テーブル１において、仮ラベル番号「２」が、仮ラベル番号「１」と同一の連結領域であることを示す対応関係を追加し、テーブル記憶部１０に記憶させる。画素ｐ１３，ｐ１４についても同様である。
【００３３】
次に、第１のプロセッサ６は、ステップＳ３にて画像データＰ１における注目画素Ａの主走査方向（Ｘ軸方向）の走査を１ライン終える度に、１ライン全ての画素が２値のうちの他方の値「０」であるか否かを判断する（Ｓ４：判断手段、判断工程）。つまり第１のプロセッサ６は、注目画素Ａが１行連続で他方の値「０」であるか否かを判断する。
【００３４】
次に、第１のプロセッサ６は、注目画素Ａが１行連続で「０」の値であると判断した場合（Ｓ４：Ｙｅｓ）、その行の座標情報である座標ｙ１を座標記憶部９に上書き記憶させる（Ｓ５：座標記憶工程）。つまり、第１のプロセッサ６は、１ライン全ての画素が他方の値「０」であると判断された画像データＰ１における副走査方向の座標ｙ１を、座標記憶部９に上書き記憶させる。なお、座標ｙ１の初期値は０であり、この値が上書き変更されることで、座標情報が更新されたこととなる。
【００３５】
第１のプロセッサ６は、注目画素Ａが１行連続で「０」の値ではないと判断した場合（Ｓ４：Ｎｏ）、又は座標記憶部９の座標情報が更新された場合（Ｓ５）、画像データＰ１の全画素に注目画素Ａを走査させたか否かを判断する（Ｓ６）。つまり、画像データにおける注目画素Ａの走査が完了（仮ラベル付処理が完了）したか否かを判断する。第１のプロセッサ６は、注目画素Ａの走査が完了していれば（Ｓ６：Ｙｅｓ）、処理を終了し、注目画素Ａの走査が完了していなければ（Ｓ６：Ｎｏ）、ステップＳ３の処理に移行し、次の画素に注目画素Ａを走査させ、仮ラベル付処理を続行する。
【００３６】
次に、第２のプロセッサ７の動作について説明する。まず、第２のプロセッサ７は、座標記憶部９に記憶された座標情報である座標ｙ１の更新があったか否かを判断する（Ｓ１１）。第２のプロセッサ７は、座標記憶部９に記憶された座標情報の更新がないと判断した場合（Ｓ１１：Ｎｏ）は、更新があるまで待ち受ける待機状態となる。
【００３７】
第２のプロセッサ７は、更新があったと判断した場合（Ｓ１１：Ｙｅｓ）、つまり、第１のプロセッサ６のステップＳ４の判断処理にて１ライン全ての画素が他方の値「０」であると判断された場合、以下の処理を実行する。この第２のプロセッサ７における以下の処理は、第１のプロセッサ６による仮ラベル付処理と並行して実行される。
【００３８】
まず、第２のプロセッサ７は、接続関連テーブル１を参照して、一方の値「１」の画素が連結してなる連結領域の各画素に付与された仮ラベル番号を、連結領域毎に異なる本ラベル番号に置き換える本ラベル変換テーブル２（図４（ｃ））を作成する（Ｓ１２）。つまり、第２のプロセッサ７は、接続関連テーブル１を参照し、仮ラベル番号と本ラベル番号とを対応付けた本ラベル変換テーブル２を作成する。この本ラベル変換テーブル２は、テーブル記憶部１０に記憶される。例えば、図３（ｃ）の接続関連テーブル１の一方（左列）のデータである仮ラベル番号に対応する他方（右列）のデータを参照し、その番号が「０」であれば、当該仮ラベル番号に、新しい本ラベル番号を昇べきの順に割り当て、本ラベル変換テーブル２を作成する。接続関連テーブル１の仮ラベル番号に対応付けられた番号が「０」よりも大きい番号であれば、その番号の仮ラベル番号に対応付けた本ラベル番号と同一の番号を対応付け、本ラベル変換テーブル２に追加する。具体的には、接続関連テーブル１を参照すると、仮ラベル番号「１」、「２」、「３」が同一の連結領域であることが関連付けられている。したがって、仮ラベル番号「１」、「２」、「３」に本ラベル番号「１」が対応付けられ、本ラベル変換テーブル２が作成される。
【００３９】
次に、第２のプロセッサ７は、仮ラベル画像データＰ２に注目画素（不図示）を走査させて仮ラベル番号が付与された画素を抽出し、本ラベル変換テーブル２を参照して、仮ラベル番号に対応付けされた本ラベル番号に変換する（Ｓ１３）。具体的には、注目画素が０であればそのまま、仮ラベル番号が付与されていれば本ラベル変換テーブル２を基に、本ラベル番号に付与し直す。これにより、本ラベル画像データＰ３を作成する。つまり、第２のプロセッサ７は、一方の値「１」の画素が連結してなる連結領域の各画素に付与された仮ラベル番号を、連結領域毎に異なる本ラベル番号に置き換える本ラベル付処理を実行する（本ラベル付手段、本ラベル付工程）。
【００４０】
第２のプロセッサ７は、仮ラベル画像データＰ２において注目画素を左上の座標（０，０）からＸ軸方向を主走査方向、Ｙ軸方向を副走査方向として走査していくが、座標ｙ１の行まで走査が完了したか否かを判断する（Ｓ１４）。第２のプロセッサ７は、完了していなければ（Ｓ１４：Ｎｏ）、ステップＳ１３の本ラベル付処理を続行する。第２のプロセッサ７は、完了していれば（Ｓ１４：Ｙｅｓ）、画像全体で本ラベル付処理が完了したか否かを判断する（Ｓ１５）。第２のプロセッサ７は、完了していれば（Ｓ１５：Ｙｅｓ）、第２のプロセッサ７の処理動作を終了し、完了していなければ（Ｓ１５：Ｎｏ）ステップＳ１１の判断処理に移行する。
【００４１】
第１のプロセッサ６及び第２のプロセッサ７によるラベリング処理動作について、更に別の例を挙げて説明する。図５は、ラベリング処理の別の例を説明するための図である。この図５には、他方の値「０」の背景の中に、一方の値「１」を持った連結領域が３つ存在する画像データを示している。なお、接続関連テーブル及び本ラベル変換テーブルの作図は省略しているが、実際は、第１のプロセッサ６が接続関連テーブルを作成し、第２のプロセッサ７が本ラベル変換テーブルを作成している。
【００４２】
まず、図５（ａ）に示すように、第１のプロセッサ６が、画像データの座標（０，０）から仮ラベル付処理を行う。なおこの場合も、画像データの走査終了する座標は、（ｍ，ｎ）とする。副走査方向であるＹ軸方向の座標ｙ１＝ａ０までは、連結領域は存在しないが、仮ラベル付処理及び本ラベル付処理は実行される。
【００４３】
次に、Ｙ軸方向の座標ｙ１＝ａ１で１つ目の連結領域の外周端がわかるため、図５（ｂ）に示すように、座標ｙ１＝ａ０＋１から座標ｙ１＝ａ１の位置まで第２のプロセッサ７が本ラベル付処理（本ラベル画像データを作成する処理）を行う。このとき、第１のプロセッサ６は並行して次の領域の仮ラベル付処理を行う。ここで、座標記憶部９に記憶された座標情報である座標ｙ１＝ａ１が更新されなければ、第２のプロセッサ７は、座標ｙ１＝ａ１の位置まで本ラベル付処理が終了した時点で、座標記憶部９に記憶された座標ｙ１の更新を待つ待機状態となる。
【００４４】
次に、図５（ｂ）に示すように、Ｙ軸方向の座標ｙ１＝ａ２で再び連結領域の外周端を確認すれば、図５（ｃ）に示すように、第２のプロセッサ７は、座標ｙ１＝ａ１＋１から座標ｙ１＝ａ２まで本ラベル付処理（本ラベル画像データを作成する処理）を行う。つまり、座標ｙ１＝ａ１の位置まで作成して中断していた本ラベル画像データの作成作業を再開する。このとき、第２のプロセッサ７は並行して次の領域で仮ラベル付処理を行う。
【００４５】
最後に図５（ｄ）に示すように、座標ｙ１＝ｎ、つまり画像全体で第２のプロセッサ７による本ラベル付処理が終了すれば、ラベリング処理の完了となる。
【００４６】
以上、本第１実施形態によれば、２値化された画像データＰ１において１行全ての画素が２値のうちの他方の値「０」であるか否かを判断することにより、一方の値「１」の画素が連結してなる連結領域の外周端を見極めている。そして、１行全ての画素が他方の値「０」であると判断したときには、既に仮ラベル番号が付与された連結領域に対して本ラベル番号を付与する本ラベル付処理を実行する。この本ラベル付処理は、画像データＰ１の未走査領域における残りの連結領域に仮ラベル番号を付与する仮ラベル付処理と並行して行われる。このように、画像全体の仮ラベル付処理が終了するのを待たずに、本ラベル付処理を行うことができるので、従来の方法に比べてラベリング処理が高速化する。
【００４７】
［第２実施形態］
次に、本発明の第２実施形態に係るラベリング処理装置によるラベリング処理の動作について説明する。なお、ラベリング処理装置の構成は、上記第１実施形態における図１のラベリング処理装置の構成と同様であり、本第２実施形態では同一の符号を付して説明する。
【００４８】
上記第１実施形態では、注目画素Ａの主走査方向がＸ軸方向であり、副走査方向がＹ軸方向である場合について説明したが、画像データにおけるラベリング対象の状況に応じて、注目画素Ａの主走査方向をＹ軸方向、副走査方向をＸ軸方向としてもよい。本第２実施形態では、注目画素Ａの主走査方向をＹ軸方向、副走査方向をＸ軸方向とした場合について説明する。
【００４９】
図６は、ラベリング処理により本ラベル番号を付与する動作を説明するための図である。なお、図６（ａ）において、２値化された画像データＰ１における他方の値「０」の画素は、一方の値「１」の画素以外の画素である。
【００５０】
第１のプロセッサ６は、図６（ａ）に示すように、２値化された画像データＰ１において注目画素Ａを主走査方向（Ｙ軸方向）及び主走査方向と直交する副走査方向（Ｘ軸方向）に、座標（０，０）から座標（ｍ，ｎ）まで走査させる。
【００５１】
第１のプロセッサ６は、画像データＰ１において注目画素Ａを走査することにより、一方の値「１」である画素に対して仮ラベル番号を付与する仮ラベル付処理を１画素ずつ順次実行し、図６（ｂ）に示す仮ラベル画像データＰ２を作成する。また、第１のプロセッサ６は、この仮ラベル画像データＰ２を作成する際に、異なる仮ラベル番号が付与された互いに隣接する画素が同一のラベル番号であることを示す図６（ｃ）に示す接続関連テーブル１７を作成する。なお、図６（ｂ）では、仮ラベル画像データＰ２が作成完了した状態を図示している。また、図６（ｃ）に示す接続関連テーブル１７も、作成完了した状態を示している。
【００５２】
ここで、第１のプロセッサ６は、仮ラベル画像データＰ２の作成中に１ライン（１列）全ての画素が他方の値「０」であるのを検出したら、その列の副走査方向（Ｘ軸方向）の座標情報である座標ｘ１を座標記憶部９に上書き記憶させる。なお、座標ｘ１の初期値は０であり、その値が更新されることとなる。
【００５３】
第２のプロセッサ７は、座標記憶部９に記憶された座標ｘ１が更新されたら、第１のプロセッサ６の仮ラベル付処理と並行して、仮ラベル番号と本ラベル番号とを対応付けた図６（ｃ）に示す本ラベル変換テーブル１８を作成する。
【００５４】
そして、第２のプロセッサ７は、仮ラベル画像データＰ２において仮ラベル用の注目画素（不図示）を走査する。そして、第２のプロセッサ７は、本ラベル変換テーブル１８を参照して、仮ラベル番号を本ラベル番号に変換し、図６（ｄ）に示す本ラベル画像データＰ３を、座標ｘ１の画素まで作成する。これらの動作は、座標記憶部９に記憶された座標情報である座標ｘ１がｍとなるまで行われる。
【００５５】
以上、２つのプロセッサ６，７によるラベリング処理についての概略を説明したが、以下、各プロセッサ６，７によるラベリング処理の動作について具体的に説明する。図７は、ＣＰＵ３の処理動作を示すフローチャートであり、図７（ａ）及び図７（ｂ）は第１のプロセッサ６の処理動作を示すフローチャートである。図７（ｃ）は第２のプロセッサ７の処理動作を示すフローチャートである。まず、第１のプロセッサ６の動作について説明する。
【００５６】
図７（ａ）において、まず、第１のプロセッサ６は、撮像処理を実行する（Ｓ２１：撮像工程）。次に、第１のプロセッサ６は、２値化処理を実行する（Ｓ２２：２値化処理工程）。なお、これらステップＳ２１，Ｓ２２の処理は、第２のプロセッサ７が行ってもよいし、第１のプロセッサ６及び第２のプロセッサ７が処理を分担して行ってもよい。また、ＣＰＵ３で２値化処理する場合に限らず、外部から２値化処理済みの画像データを入力する場合であってもよい。
【００５７】
第１のプロセッサ６は、このようにして得られた画像データＰ１（図６（ａ））に対して、注目画素Ａを走査させる。そして、第１のプロセッサ６は、注目画素Ａが一方の値「１」である場合に、注目画素Ａに一時的に仮ラベル番号を付与する仮ラベル付処理を実行する（Ｓ２３：仮ラベル付手段、仮ラベル付工程）。
【００５８】
以下、仮ラベル付処理動作について図７（ｂ）を参照しながら、具体的に説明する。まず、第１のプロセッサ６は、注目画素Ａを、座標（０，０）、（０，１）、…、（０，ｎ）、（１，０）…と、順次走査させていく。その走査中に、第１のプロセッサ６は、注目画素Ａが他方の値「０」であるか否かを判断する（Ｓ２３−１）。
【００５９】
第１のプロセッサ６は、注目画素Ａが他方の値「０」である場合（Ｓ２３−１：Ｙｅｓ）には、仮ラベル番号は付与せずにそのままとする（Ｓ２３−２）。第１のプロセッサ６は、注目画素Ａが一方の値「１」である場合（Ｓ２３−１：Ｎｏ）には、注目画素Ａに隣接し、かつ既に走査済みである周辺画素Ｂ，Ｃが他方の値「０」であるか否かを判断する（Ｓ２３−３）。なお、本第２実施形態では、注目画素Ａに隣接する４方向の４つの画素のうち、既に走査済みである２つの画素Ｂ，Ｃを用いて判断するようにしている。
【００６０】
そして、第１のプロセッサ６は、周辺画素Ｂ，Ｃが他方の値「０」であると判断した場合（Ｓ２３−３：Ｙｅｓ）、注目画素Ａに新しい仮ラベル番号を付与する（Ｓ２３−４）。第１のプロセッサ６は、画素Ｂ，Ｃの少なくとも１つの画素が一方の値「１」であると判断した場合（Ｓ２３−３：Ｎｏ）、周辺画素Ｂ，Ｃのうちの仮ラベル番号が付与された周辺画素に、１種類のみの仮ラベル番号が付与されているか否かを判断する（Ｓ２３−５）。
【００６１】
そして、第１のプロセッサ６は、１種類のみの仮ラベル番号が付与されていると判断した場合（Ｓ２３−５：Ｙｅｓ）、注目画素Ａにその周辺画素Ｂ又はＣに割り振られている仮ラベル番号を付与する（Ｓ２３−６）。
【００６２】
また、第１のプロセッサ６は、複数種類の（つまり、異なる）仮ラベル番号が付与されていると判断した場合（Ｓ２３−５：Ｎｏ）、注目画素Ａに小さい方の仮ラベル番号を付与する。そして、第１のプロセッサ６は、複数の仮ラベル番号が同一の連結領域に含まれることを示す接続関連テーブル１７を作成し、接続関連テーブル１７をテーブル記憶部１０に記憶させる（Ｓ２３−７）。
【００６３】
次に、第１のプロセッサ６は、ステップＳ２３にて画像データＰ１における注目画素Ａの主走査方向（Ｙ軸方向）の走査を１ライン終える度に、１ライン全ての画素が２値のうちの他方の値「０」であるか否かを判断する（Ｓ２４：判断手段、判断工程）。つまり第１のプロセッサ６は、注目画素Ａが１列連続で他方の値「０」であるか否かを判断する。
【００６４】
次に、第１のプロセッサ６は、注目画素Ａが１列連続で「０」の値であると判断した場合（Ｓ２４：Ｙｅｓ）、その列の座標情報である座標ｘ１を座標記憶部９に上書き記憶させる（Ｓ２５：座標記憶工程）。つまり、第１のプロセッサ６は、１ライン全ての画素が他方の値「０」であると判断された画像データＰ１における副走査方向の座標ｘ１を、座標記憶部９に上書き記憶させる。なお、座標ｘ１の初期値は０であり、この値が上書き変更されることで、座標情報が更新されたこととなる。
【００６５】
第１のプロセッサ６は、注目画素Ａが１列連続で「０」の値ではないと判断した場合（Ｓ２４：Ｎｏ）、又は座標記憶部９の座標情報が更新された場合（Ｓ２５）、画像データＰ１の全画素に注目画素Ａを走査させたか否かを判断する（Ｓ２６）。つまり、画像データにおける注目画素Ａの走査が完了（仮ラベル付処理が完了）したか否かを判断する。第１のプロセッサ６は、注目画素Ａの走査が完了していれば（Ｓ２６：Ｙｅｓ）、処理を終了し、注目画素Ａの走査が完了していなければ（Ｓ２６：Ｎｏ）、ステップＳ２３の処理に移行し、次の画素に注目画素Ａを走査させ、仮ラベル付処理を続行する。
【００６６】
次に、第２のプロセッサ７の動作について説明する。まず、第２のプロセッサ７は、座標記憶部９に記憶された座標情報である座標ｘ１の更新があったか否かを判断する（Ｓ３１）。第２のプロセッサ７は、座標記憶部９に記憶された座標情報の更新がないと判断した場合（Ｓ３１：Ｎｏ）は、更新があるまで待ち受ける待機状態となる。
【００６７】
第２のプロセッサ７は、更新があったと判断した場合（Ｓ３１：Ｙｅｓ）、つまり、第１のプロセッサ６のステップＳ２４の判断処理にて１ライン全ての画素が他方の値「０」であると判断された場合、以下の処理を実行する。この第２のプロセッサ７における以下の処理は、第１のプロセッサ６による仮ラベル付処理と並行して実行される。
【００６８】
まず、第２のプロセッサ７は、接続関連テーブル１７を参照して、一方の値「１」の画素が連結してなる連結領域の各画素に付与された仮ラベル番号を、連結領域毎に異なる本ラベル番号に置き換える本ラベル変換テーブル１８を作成する（Ｓ３２）。つまり、第２のプロセッサ７は、接続関連テーブル１を参照し、仮ラベル番号と本ラベル番号とを対応付けた本ラベル変換テーブル１８を作成する。この本ラベル変換テーブル１８は、テーブル記憶部１０に記憶される。
【００６９】
次に、第２のプロセッサ７は、仮ラベル画像データＰ２に注目画素（不図示）を走査させて仮ラベル番号が付与された画素を抽出し、本ラベル変換テーブル１８を参照して、仮ラベル番号に対応付けされた本ラベル番号に変換する（Ｓ３３）。これにより、本ラベル画像データＰ３を作成する。つまり、第２のプロセッサ７は、一方の値「１」の画素が連結してなる連結領域の各画素に付与された仮ラベル番号を、連結領域毎に異なる本ラベル番号に置き換える本ラベル付処理を実行する（本ラベル付手段、本ラベル付工程）。
【００７０】
第２のプロセッサ７は、仮ラベル画像データＰ２において注目画素を左上の座標（０，０）からＹ軸方向を主走査方向、Ｘ軸方向を副走査方向として走査していくが、座標ｘ１の行まで走査が完了したか否かを判断する（Ｓ３４）。第２のプロセッサ７は、完了していなければ（Ｓ３４：Ｎｏ）、ステップＳ３３の本ラベル付処理を続行する。第２のプロセッサ７は、完了していれば（Ｓ３４：Ｙｅｓ）、画像全体で本ラベル付処理が完了したか否かを判断する（Ｓ３５）。第２のプロセッサ７は、完了していれば（Ｓ３５：Ｙｅｓ）、第２のプロセッサ７の処理動作を終了し、完了していなければ（Ｓ３５：Ｎｏ）ステップＳ３１の判断処理に移行する。
【００７１】
以上、本第２施形態によれば、２値化された画像データＰ１において１列全ての画素が２値のうちの他方の値「０」であるか否かを判断することにより、一方の値「１」の画素が連結してなる連結領域の外周端を見極めている。そして、１列全ての画素が他方の値「０」であると判断したときには、既に仮ラベル番号が付与された連結領域に対して本ラベル番号を付与する本ラベル付処理を実行する。この本ラベル付処理は、画像データＰ１の未走査領域における残りの連結領域に仮ラベル番号を付与する仮ラベル付処理と並行して行われる。このように、画像全体の仮ラベル付処理が終了するのを待たずに、本ラベル付処理を行うことができるので、従来の方法に比べてラベリング処理が高速化する。特に、縦長の連結領域、行方向に離散した連結領域群がある画像に対してより高速なラベリング処理を施すことができる。
【００７２】
［第３実施形態］
次に、本発明の第３実施形態に係るラベリング処理装置によるラベリング処理の動作について説明する。なお、ラベリング処理装置の構成は、上記第１実施形態における図１のラベリング処理装置の構成と同様であり、本第３実施形態では同一の符号を付して説明する。
【００７３】
図８は、ラベリング処理により本ラベル番号を付与する動作を説明するための図である。なお、図８（ａ）において、２値化された画像データＰ１における他方の値「０」の画素は、一方の値「１」の画素以外の画素である。
【００７４】
上記第１、第２実施形態では、注目画素Ａに隣接する周辺画素として、４近傍のうちの２つの周辺画素Ｂ，Ｃを用いて連結する連結領域を規定し、注目画素に対して斜め方向に隣接する画素は、同一の連結領域に含めないようにしていた。本第３実施形態では、注目画素Ａに隣接し、且つ既に走査済みである画素Ｂ，Ｃ，Ｄ，Ｅを周辺画素としている。つまり、注目画素Ａの８近傍のうち４つの周辺画素Ｂ，Ｃ，Ｄ，Ｅを用いて連結する連結領域を規定している。
【００７５】
第１のプロセッサ６は、図８（ａ）に示すように、２値化された画像データＰ１において注目画素Ａを主走査方向（Ｘ軸方向）及び主走査方向と直交する副走査方向（Ｙ軸方向）に、座標（０，０）から座標（ｍ，ｎ）まで走査させる。
【００７６】
第１のプロセッサ６は、画像データＰ１において注目画素Ａを走査することにより、一方の値「１」である画素に対して仮ラベル番号を付与する仮ラベル付処理を１画素ずつ順次実行し、図８（ｂ）に示す仮ラベル画像データＰ２を作成する。また、第１のプロセッサ６は、この仮ラベル画像データＰ２を作成する際に、異なる仮ラベル番号が付与された互いに隣接する画素が同一のラベル番号であることを示す図８（ｃ）に示す接続関連テーブル１９を作成する。なお、図８（ｂ）では、仮ラベル画像データＰ２が作成完了した状態を図示している。また、図８（ｃ）に示す接続関連テーブル１９も、作成完了した状態を示している。
【００７７】
ここで、第１のプロセッサ６は、仮ラベル画像データＰ２の作成中に１ライン（１行）全ての画素が他方の値「０」であるのを検出したら、その行の副走査方向（Ｙ軸方向）の座標情報を座標記憶部９に上書き記憶させる。なお、副走査方向の座標の初期値は０であり、その値が更新されることとなる。
【００７８】
第２のプロセッサ７は、座標記憶部９に記憶された副走査方向の座標が更新されたら、第１のプロセッサ６の仮ラベル付処理と並行して、仮ラベル番号と本ラベル番号とを対応付けた図８（ｃ）に示す本ラベル変換テーブル２０を作成する。
【００７９】
そして、第２のプロセッサ７は、仮ラベル画像データＰ２において仮ラベル付用の注目画素（不図示）を走査する。そして、第２のプロセッサ７は、本ラベル変換テーブル２０を参照して、仮ラベル番号を本ラベル番号に変換し、図８（ｄ）に示す本ラベル画像データＰ３を、座標ｙ１の画素まで作成する。これらの動作は、座標記憶部９に記憶された座標情報である座標ｙ１がｎとなるまで行われる。
【００８０】
なお、注目画素Ａの主走査方向がＹ軸方向であり、副走査方向がＸ軸方向であっても同様であり、その場合の周辺画素Ｂ，Ｃ，Ｄ，Ｅは、図８（ｅ）のようになる。
【００８１】
以上、２つのプロセッサ６，７によるラベリング処理についての概略を説明したが、以下、各プロセッサ６，７によるラベリング処理の動作について具体的に説明する。本第３実施形態では、各プロセッサ６，７の動作は、図４のステップＳ３における仮ラベル付処理の動作、図７のステップＳ２３における仮ラベル付処理の動作以外は同一であるので、第１のプロセッサ６による仮ラベル処理のみ説明する。
【００８２】
以下、仮ラベル付処理動作について図９を参照しながら、具体的に説明する。まず、第１のプロセッサ６は、注目画素Ａが他方の値「０」であるか否かを判断する（Ｓ４３−１）。
【００８３】
第１のプロセッサ６は、注目画素Ａが他方の値「０」である場合（Ｓ４３−１：Ｙｅｓ）には、仮ラベル番号は付与せずにそのままとする（Ｓ４３−２）。第１のプロセッサ６は、注目画素Ａが一方の値「１」である場合（Ｓ４３−１：Ｎｏ）には、周辺画素Ｂ，Ｃ，Ｄ，Ｅが他方の値「０」であるか否かを判断する（Ｓ４３−３）。
【００８４】
そして、第１のプロセッサ６は、周辺画素Ｂ，Ｃ，Ｄ，Ｅが他方の値「０」であると判断した場合（Ｓ４３−３：Ｙｅｓ）、注目画素Ａに新しい仮ラベル番号を付与する（Ｓ４３−４）。第１のプロセッサ６は、画素Ｂ〜Ｅの少なくとも１つの画素が一方の値「１」であると判断した場合（Ｓ４３−３：Ｎｏ）、周辺画素Ｂ〜Ｅのうちの仮ラベル番号が付与された周辺画素に、１種類のみの仮ラベル番号が付与されているか否かを判断する（Ｓ４３−５）。
【００８５】
そして、第１のプロセッサ６は、１種類のみの仮ラベル番号が付与されていると判断した場合（Ｓ４３−５：Ｙｅｓ）、注目画素Ａにその周辺画素Ｂ〜Ｅに割り振られている仮ラベル番号を付与する（Ｓ４３−６）。
【００８６】
また、第１のプロセッサ６は、複数種類の（つまり、異なる）仮ラベル番号が付与されていると判断した場合（Ｓ４３−５：Ｎｏ）、注目画素Ａに小さい方の仮ラベル番号を付与する。そして、第１のプロセッサ６は、複数の仮ラベル番号が同一の連結領域に含まれることを示す接続関連テーブル１９を作成し、接続関連テーブル１９をテーブル記憶部１０に記憶させる（Ｓ４３−７）。
【００８７】
以上、本第３実施形態では、上記第１及び第２実施形態と仮ラベル付処理が異なるものの、本ラベル付処理は上記第１及び第２実施形態と同様に、第２のプロセッサ７にて並列して行っているので、上記第１及び第２実施形態と同様の効果を奏する。
【００８８】
なお、上記第１〜第３実施形態に基づいて本発明を説明したが、本発明はこれに限定されるものではない。上記第１〜第３実施形態では、第１のプロセッサ６におけるステップＳ５，Ｓ２５の処理で座標記憶部９に座標情報を記憶させ、第２のプロセッサ７におけるステップＳ１１、Ｓ３１の処理で座標記憶部９の座標情報が更新されたか否かを判断するようにした。しかし、本発明はこれに限定するものではなく、第１のプロセッサ６におけるステップＳ５，Ｓ２５の処理で、第２のプロセッサ７に、座標情報を示す信号を出力するようにしてもよい。この場合、第２のプロセッサ７は、ステップＳ１１，Ｓ３１で座標情報を示す信号を入力したか否かを判断すればよい。そして、第２のプロセッサ７は、座標情報を示す信号を入力したときに、座標情報の示す位置まで本ラベル付処理を行えばよい。
【００８９】
また、上記第１〜第３実施形態では、仮ラベル付処理として１例を示したが、別のアルゴリズムに基づいて仮ラベル番号を付与する場合であってもよい。また、本ラベル付についても同様に、別のアルゴリズムに基づいて本ラベル番号を付与する場合であってもよい。
【符号の説明】
【００９０】
３…ＣＰＵ、４…メモリ、６…第１のプロセッサ（仮ラベル付手段、判断手段）、７…第２のプロセッサ（本ラベル付手段）、８…画像記憶部、９…座標記憶部（座標記憶手段）、１０…テーブル記憶部、１１…カメラ、１２…画像処理部、１００…ラベリング処理装置
【図１】
0005697475.tif 000002
【図２】
0005697475.tif 000003
【図３】
0005697475.tif 000004
【図４】
0005697475.tif 000005
【図５】
0005697475.tif 000006
【図６】
0005697475.tif 000007
【図７】
0005697475.tif 000008
【図８】
0005697475.tif 000009
【図９】
0005697475.tif 000010
【図１０】
0005697475.tif 000011