(57)【要約】  走査によって得たそれぞれの画素の画素値に基づいて、ラベルを付与する対象の画素であるか否かを順次判定し、ラベルを付与する対象の画素であると判定された画素に予め定めた新たなラベルを付与する画素判定ステップと、ラベルを付与した画素の位置を注目位置とし、注目位置の画素の周辺に位置する周辺画素に同じ値のラベルを付与するラベル更新ステップと、を含み、ラベル更新ステップは、周辺画素の画素値に基づいて、ラベルを付与する対象の周辺画素であるか否かを判定する周辺画素判定ステップと、周辺画素判定ステップにおいてラベルを付与する対象の周辺画素であると判定された周辺画素にラベルを付与するラベル付与ステップと、ラベル付与ステップにおいてラベルを付与したいずれか１つの周辺画素の位置を新たな注目位置として移動する注目位置移動ステップと、ラベル付与ステップにおいてラベルを付与した周辺画素が複数存在する場合に、注目位置移動ステップにおいて新たな注目位置として移動する周辺画素以外の周辺画素の位置を、戻り位置として記憶する戻り位置記憶ステップとを、戻り位置記憶ステップにおいて記憶した戻り位置がなくなるまで繰り返す。
2018073888.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像に含まれる画素を予め定めた走査順で走査し、前記画像に含まれる同じ画素値の前記画素が隣接して連なってまとまっている前記画素の領域ごとに予め定めた同じ値のラベルを付与する画像処理方法であって、
前記走査によって得たそれぞれの前記画素の画素値に基づいて、前記ラベルを付与する対象の前記画素であるか否かを順次判定し、前記ラベルを付与する対象の前記画素であると判定された前記画素に予め定めた新たな前記ラベルを付与する画素判定ステップと、
前記ラベルを付与した前記画素の位置を注目位置とし、前記注目位置の画素の周辺に位置する周辺画素に同じ値の前記ラベルを付与するラベル更新ステップと、
を含み、
前記ラベル更新ステップは、
前記周辺画素の画素値に基づいて、前記ラベルを付与する対象の前記周辺画素であるか否かを判定する周辺画素判定ステップと、
前記周辺画素判定ステップにおいて前記ラベルを付与する対象の前記周辺画素であると判定された前記周辺画素に前記ラベルを付与するラベル付与ステップと、
前記ラベル付与ステップにおいて前記ラベルを付与したいずれか１つの前記周辺画素の位置を新たな注目位置として移動する注目位置移動ステップと、
前記ラベル付与ステップにおいて前記ラベルを付与した前記周辺画素が複数存在する場合に、前記注目位置移動ステップにおいて前記新たな注目位置として移動する前記周辺画素以外の前記周辺画素の位置を、戻り位置として記憶する戻り位置記憶ステップとを、
前記戻り位置記憶ステップにおいて記憶した前記戻り位置がなくなるまで繰り返す、
画像処理方法。
【請求項２】
前記画像処理方法は、
前記画素判定ステップにおいていずれかの前記画素に新たな前記ラベルを付与した後、前記ラベル更新ステップを開始し、
前記ラベル更新ステップは、
前記画素判定ステップにおいて前記画素に付与した新たな前記ラベルと同じ値の前記ラベルを、前記ラベル付与ステップにおいてそれぞれの前記周辺画素に付与し、
前記ラベル更新ステップが終了した後、前記走査を再開する、
請求項１に記載の画像処理方法。
【請求項３】
前記画素判定ステップは、
前記画像に含まれる全ての前記画素をラスター順に走査する、
請求項２に記載の画像処理方法。
【請求項４】
前記注目位置移動ステップは、
前記注目位置の下側または右側に位置するいずれか１つの前記周辺画素の位置を前記新たな注目位置として移動する、
請求項３に記載の画像処理方法。
【請求項５】
前記画像は、
２値画像である、
請求項４に記載の画像処理方法。
【請求項６】
入力された画像に含まれる画素を予め定めた走査順で走査し、前記画像に含まれる同じ画素値の前記画素が隣接して連なってまとまっている前記画素の領域ごとに予め定めた同じ値のラベルを付与する画像処理装置であって、
前記走査によって得たそれぞれの前記画素の画素値に基づいて、前記ラベルを付与する対象の前記画素であるか否かを順次判定し、前記ラベルを付与する対象の前記画素であると判定された前記画素に予め定めた新たな前記ラベルを付与する画素判定ステップと、
前記ラベルを付与した前記画素の位置を注目位置とし、前記注目位置の画素の周辺に位置する周辺画素に同じ値の前記ラベルを付与するラベル更新ステップと、
を含み、
前記ラベル更新ステップは、
前記周辺画素の画素値に基づいて、前記ラベルを付与する対象の前記周辺画素であるか否かを判定する周辺画素判定ステップと、
前記周辺画素判定ステップにおいて前記ラベルを付与する対象の前記周辺画素であると判定された前記周辺画素に前記ラベルを付与するラベル付与ステップと、
前記ラベル付与ステップにおいて前記ラベルを付与したいずれか１つの前記周辺画素の位置を新たな注目位置として移動する注目位置移動ステップと、
前記ラベル付与ステップにおいて前記ラベルを付与した前記周辺画素が複数存在する場合に、前記注目位置移動ステップにおいて前記新たな注目位置として移動する前記周辺画素以外の前記周辺画素の位置を、戻り位置として記憶する戻り位置記憶ステップとを、
前記戻り位置記憶ステップにおいて記憶した前記戻り位置がなくなるまで繰り返す画像処理方法を実行する処理部、
を備える、
画像処理装置。
【請求項７】
前記処理部は、
前記画素判定ステップにおいていずれかの前記画素に新たな前記ラベルを付与した後、前記ラベル更新ステップを開始し、
前記ラベル更新ステップは、
前記画素判定ステップにおいて前記画素に付与した新たな前記ラベルと同じ値の前記ラベルを、前記ラベル付与ステップにおいてそれぞれの前記周辺画素に付与し、
前記ラベル更新ステップが終了した後、前記走査を再開する、
前記画像処理方法を実行する、
請求項６に記載の画像処理装置。
【請求項８】
前記戻り位置記憶ステップにおける前記戻り位置を記憶する戻り位置記憶部、
を備える、
請求項７に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法および画像処理装置に関する。
【背景技術】
【０００２】
従来から、画像処理の分野において、例えば、移動している被写体を追尾する機能を実現する際に、画像に写されている追尾対象の被写体の位置と大きさ（サイズ）を検出する処理がある。この処理では、画像に含まれるそれぞれの画素の値を閾値などによって判定することによって白色の画素と黒色の画素とに２値化し、この２値化した画像に含まれる追尾対象の被写体の領域にラベルを付与するラベリング処理が行われる。【０００３】
このラベリング処理の方法として、従来から複数の方法が提案されている。ラベリング処理の一つの方法として、例えば、ルックアップテーブル（ＬＵＴ）を利用する方法がある。このルックアップテーブルを利用したラベリング処理は、実装が容易であることから、ソフトウェアやハードウェアによって画像処理を行う多くの画像処理装置に採用されている。しかしながら、ルックアップテーブルを利用したラベリング処理は、その処理速度が遅いという問題がある。【０００４】
また、ラベリング処理の他の方法として、例えば、特許文献１に開示されているように、画像に含まれるそれぞれの画素を走査（ラスタースキャン）し、ラベルを付与する対象の画素を検出すると、この画素の位置を起点として、隣接する周辺の画素に同じ値のラベルを付与することによって、ラベルを付与する対象の画素の領域を広げていく、いわゆる、領域拡張法とうい方法を利用した方法がある。この領域拡張法を利用したラベリング処理では、高速にラベルを付与し、かつ、同じ値のラベルを付与したそれぞれの領域の大きさ（サイズ）を同時に取得することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】日本国特開２０００−３３９４５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、領域拡張法を利用したラベリング処理では、ラベルを付与する対象の画素を検出した際に、その周辺の画素の位置を一時的に記憶しておくための記憶容量を多く必要とする。これは、領域拡張法を利用したラベリング処理における手順が、以下のような手順で行われるためである。【０００７】
（手順１）：ラスタースキャンを実施する。そして、ラベルを付与する対象の画素を検出すると、まず、検出した画素にラベルを付与する。【０００８】
（手順２）：ラベルを付与した画素の位置において、周辺（例えば、ラベルを付与した画素の上下左右の位置に位置する４画素や、上下左右に斜め方向を含めた位置に位置する８画素）に位置する画素がラベルを付与する対象の画素であるか否かを判定し、ラベルを付与する対象の画素であると判定した画素の位置を記憶する。【０００９】
（手順３）：ラベルを付与する対象の画素であると判定したいずれか１つの画素の位置に現在の位置を移動し、この画素に、手順１で付与したラベルと同じ値のラベルを付与する。そして、記憶している現在の位置の情報を消去する。【００１０】
（手順４）：移動した現在の画素の位置において、周辺（例えば、現在の画素の上下左右の位置に位置する４画素や、上下左右に斜め方向を含めた位置に位置する８画素）に位置する画素がラベルを付与する対象の画素であるか否かを判定し、ラベルを付与する対象の画素であると判定した画素の位置をさらに記憶する。なお、このとき、すでにラベルを付与する対象として画素の位置を記憶している、つまり、ラベルを付与する対象の画素として重複して判定された画素の位置は記憶しない。【００１１】
以降、手順３および手順４の処理を繰り返す。【００１２】
（手順５）：移動した現在の画素の位置の周辺に位置する全ての画素の位置が記憶されている場合、手順２または手順４において記憶したいずれか１つの画素の位置に現在の位置を移動し、つまり、現在の画素の位置を以前の記憶した画素の位置に戻して、再び、手順３および手順４を繰り返す。【００１３】
（手順６）：同じ値のラベルを付与する対象として記憶している全ての画素の位置がなくなると、現在のラベリング処理を終了し、引き続き、ラスタースキャンによってラベルを付与する対象の画素を検出する。つまり、ラベルを付与する対象の別の画素の領域の検出を行う。そして、ラスタースキャンによってラベルを付与する対象の別の画素を検出すると、上述した手順１〜手順６までの処理を繰り返す。なお、ここで、検出した画素の領域に付与するラベルは、これまでに付与したラベルとは異なるラベルである。【００１４】
このように、領域拡張法を利用したラベリング処理では、画像に含まれる全ての画素のラスタースキャンが終了するまで、つまり、画像に含まれるラベルを付与する対象の画素の領域へのそれぞれのラベルの付与が終了するまで、上述した手順１〜手順６までの処理を繰り返す。このようにして、領域拡張法を利用したラベリング処理では、ラスタースキャンによって検出したラベルを付与する対象の画素の領域ごとに同じ値のラベルを付与する。【００１５】
このことから、領域拡張法を利用したラベリング処理では、それぞれの画素の領域に対応する手順５において現在の画素の位置を以前の記憶した画素の位置に戻すための記憶容量、つまり、手順２および手順４においてラベルを付与する対象の画素であると判定した画素の位置を全て記憶することができる記憶容量が必要となる。この記憶容量は、ラベリング処理を行う対象の画素の領域が大きくなるほど、より多くの記憶容量が必要となる。例えば、画像に含まれる全ての画素の領域が同じ値のラベルを付与する対象の画素の領域である場合には、ラベルを付与する対象の画素の位置を記憶する記憶容量として、画像に含まれる全ての画素の数、つまり、画像の画素数と同等の数の画素の位置を記憶することができる分だけの記憶容量が必要となる。そして、この記憶容量は、画像の画素数が多くなるほど、より多くの記憶容量が必要となる。このため、領域拡張法を利用したラベリング処理は、容易に画像処理装置に採用することが困難である。【００１６】
本発明は、上記の課題に基づいてなされたものであり、ラベルを付与する対象の画素の位置を一時的に記憶するための記憶容量を少なくして、同じ値のラベルを付与する対象の画素の領域を広げていくラベリング処理を行うことができる画像処理方法および画像処理装置を提供することを目的としている。
【課題を解決するための手段】
【００１７】
本発明の第１の態様の画像処理方法は、入力された画像に含まれる画素を予め定めた走査順で走査し、前記画像に含まれる同じ画素値の前記画素が隣接して連なってまとまっている前記画素の領域ごとに予め定めた同じ値のラベルを付与する画像処理方法であって、前記走査によって得たそれぞれの前記画素の画素値に基づいて、前記ラベルを付与する対象の前記画素であるか否かを順次判定し、前記ラベルを付与する対象の前記画素であると判定された前記画素に予め定めた新たな前記ラベルを付与する画素判定ステップと、前記ラベルを付与した前記画素の位置を注目位置とし、前記注目位置の画素の周辺に位置する周辺画素に同じ値の前記ラベルを付与するラベル更新ステップと、を含み、前記ラベル更新ステップは、前記周辺画素の画素値に基づいて、前記ラベルを付与する対象の前記周辺画素であるか否かを判定する周辺画素判定ステップと、前記周辺画素判定ステップにおいて前記ラベルを付与する対象の前記周辺画素であると判定された前記周辺画素に前記ラベルを付与するラベル付与ステップと、前記ラベル付与ステップにおいて前記ラベルを付与したいずれか１つの前記周辺画素の位置を新たな注目位置として移動する注目位置移動ステップと、前記ラベル付与ステップにおいて前記ラベルを付与した前記周辺画素が複数存在する場合に、前記注目位置移動ステップにおいて前記新たな注目位置として移動する前記周辺画素以外の前記周辺画素の位置を、戻り位置として記憶する戻り位置記憶ステップとを、前記戻り位置記憶ステップにおいて記憶した前記戻り位置がなくなるまで繰り返す。【００１８】
本発明の第２の態様によれば、上記第１の態様の画像処理方法において、前記画像処理方法は、前記画素判定ステップにおいていずれかの前記画素に新たな前記ラベルを付与した後、前記ラベル更新ステップを開始し、前記ラベル更新ステップは、前記画素判定ステップにおいて前記画素に付与した新たな前記ラベルと同じ値の前記ラベルを、前記ラベル付与ステップにおいてそれぞれの前記周辺画素に付与し、前記ラベル更新ステップが終了した後、前記走査を再開してもよい。【００１９】
本発明の第３の態様によれば、上記第２の態様の画像処理方法において、前記画素判定ステップは、前記画像に含まれる全ての前記画素をラスター順に走査してもよい。【００２０】
本発明の第４の態様によれば、上記第３の態様の画像処理方法において、前記注目位置移動ステップは、前記注目位置の下側または右側に位置するいずれか１つの前記周辺画素の位置を前記新たな注目位置として移動してもよい。【００２１】
本発明の第５の態様によれば、上記第４の態様の画像処理方法において、前記画像は、２値画像であってもよい。【００２２】
本発明の第６の態様によれば、画像処理装置は、入力された画像に含まれる画素を予め定めた走査順で走査し、前記画像に含まれる同じ画素値の前記画素が隣接して連なってまとまっている前記画素の領域ごとに予め定めた同じ値のラベルを付与する画像処理装置であって、前記走査によって得たそれぞれの前記画素の画素値に基づいて、前記ラベルを付与する対象の前記画素であるか否かを順次判定し、前記ラベルを付与する対象の前記画素であると判定された前記画素に予め定めた新たな前記ラベルを付与する画素判定ステップと、前記ラベルを付与した前記画素の位置を注目位置とし、前記注目位置の画素の周辺に位置する周辺画素に同じ値の前記ラベルを付与するラベル更新ステップと、を含み、前記ラベル更新ステップは、前記周辺画素の画素値に基づいて、前記ラベルを付与する対象の前記周辺画素であるか否かを判定する周辺画素判定ステップと、前記周辺画素判定ステップにおいて前記ラベルを付与する対象の前記周辺画素であると判定された前記周辺画素に前記ラベルを付与するラベル付与ステップと、前記ラベル付与ステップにおいて前記ラベルを付与したいずれか１つの前記周辺画素の位置を新たな注目位置として移動する注目位置移動ステップと、前記ラベル付与ステップにおいて前記ラベルを付与した前記周辺画素が複数存在する場合に、前記注目位置移動ステップにおいて前記新たな注目位置として移動する前記周辺画素以外の前記周辺画素の位置を、戻り位置として記憶する戻り位置記憶ステップとを、前記戻り位置記憶ステップにおいて記憶した前記戻り位置がなくなるまで繰り返す画像処理方法を実行する処理部、を備える。【００２３】
本発明の第７の態様によれば、上記第６の態様の画像処理装置において、前記処理部は、前記画素判定ステップにおいていずれかの前記画素に新たな前記ラベルを付与した後、前記ラベル更新ステップを開始し、前記ラベル更新ステップは、前記画素判定ステップにおいて前記画素に付与した新たな前記ラベルと同じ値の前記ラベルを、前記ラベル付与ステップにおいてそれぞれの前記周辺画素に付与し、前記ラベル更新ステップが終了した後、前記走査を再開する、前記画像処理方法を実行してもよい。【００２４】
本発明の第８の態様によれば、上記第７の態様の画像処理装置において、前記戻り位置記憶ステップにおける前記戻り位置を記憶する戻り位置記憶部、を備えてもよい。
【発明の効果】
【００２５】
上記各態様によれば、ラベルを付与する対象の画素の位置を一時的に記憶するための記憶容量を少なくして、同じ値のラベルを付与する対象の画素の領域を広げていくラベリング処理を行うことができる画像処理方法および画像処理装置を提供することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の実施形態における画像処理方法を実行する画像処理装置の概略構成の一例を示したブロック図である。
【図２】本発明の実施形態の画像処理方法におけるラベリング処理の処理手順を示したフローチャートである。
【図３】本発明の実施形態の画像処理方法のラベリング処理におけるラベル更新処理の処理手順を示したフローチャートである。
【図４Ａ】本発明の実施形態の画像処理方法においてラベリング処理を行う画像の一例を模式的に示した図である。
【図４Ｂ】本発明の実施形態の画像処理方法においてラベリング処理を行う画像の一例を模式的に示した図である。
【図４Ｃ】本発明の実施形態の画像処理方法においてラベリング処理を行う画像の一例を模式的に示した図である。
【図４Ｄ】本発明の実施形態の画像処理方法においてラベリング処理を行う画像の一例を模式的に示した図である。
【図４Ｅ】本発明の実施形態の画像処理方法においてラベリング処理を行う画像の一例を模式的に示した図である。
【図４Ｆ】本発明の実施形態の画像処理方法においてラベリング処理を行う画像の一例を模式的に示した図である。
【図４Ｇ】本発明の実施形態の画像処理方法においてラベリング処理を行う画像の一例を模式的に示した図である。
【図４Ｈ】本発明の実施形態の画像処理方法においてラベリング処理を行う画像の一例を模式的に示した図である。
【図４Ｉ】本発明の実施形態の画像処理方法においてラベリング処理を行う画像の一例を模式的に示した図である。
【図４Ｊ】本発明の実施形態の画像処理方法においてラベリング処理を行う画像の一例を模式的に示した図である。
【図４Ｋ】本発明の実施形態の画像処理方法においてラベリング処理を行う画像の一例を模式的に示した図である。
【図４Ｌ】本発明の実施形態の画像処理方法においてラベリング処理を行う画像の一例を模式的に示した図である。
【図４Ｍ】本発明の実施形態の画像処理方法においてラベリング処理を行う画像の一例を模式的に示した図である。
【図４Ｎ】本発明の実施形態の画像処理方法においてラベリング処理を行う画像の一例を模式的に示した図である。
【図４Ｏ】本発明の実施形態の画像処理方法においてラベリング処理を行う画像の一例を模式的に示した図である。
【図５】本発明の実施形態の画像処理方法においてラベリング処理を行った画像の一例を模式的に示した図である。
【発明を実施するための形態】
【００２７】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の説明においては、本発明の画像処理方法を、例えば、被写体の静止画像を撮影する静止画用カメラや、動画像を撮影する動画用カメラなどの撮像装置に搭載されている画像処理装置において実行する場合について説明する。図１は、本発明の実施形態における画像処理方法を実行する画像処理装置の概略構成の一例を示したブロック図である。
【００２８】
図１に示した画像処理装置１は、２値画像メモリ１０と、ラベリング処理部２０と、戻り位置メモリ３０と、ラベリング画像メモリ４０と、を備えている。本発明の画像処理、つまり、領域拡張法を利用したラベリング処理は、図１に示したような画像処理装置１の構成によって実行される。
【００２９】
なお、撮像装置は、本発明の画像処理である領域拡張法を利用したラベリング処理（以下、単に「ラベリング処理」という）の他にも、撮像装置における様々な機能を実現する。このため、撮像装置には、それぞれの機能を実現するための複数の構成要素を備えている。例えば、撮像装置は、イメージセンサによって撮影した被写体の画像のデータを一時的に記憶しておくＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの画像メモリ、ＤＲＡＭに記憶された画像のデータに基づいた静止画像や動画像を生成するための画像生成装置、生成した静止画像や動画像を記録するための記録処理装置、生成した静止画像や動画像を表示装置に表示させるための表示処理装置などを備えている。
【００３０】
このため、図１に示した画像処理装置１の構成要素は、撮像装置に備えた構成要素を、他の機能を実現するための構成要素と共用する構成であってもよい。また、図１に示した画像処理装置１によって実行するラベリング処理は、撮像装置に備えた構成要素（例えば、静止画像や動画像を生成する画像生成装置）におけるラベリング処理の機能として実行される構成であってもよい。
【００３１】
画像処理装置１では、２値画像メモリ１０に記憶された２値画像に対して、ラベリング処理部２０がラベリング処理を実行して生成したラベリング画像を、ラベリング画像メモリ４０に記憶する。
【００３２】
２値画像メモリ１０は、ラベリング処理を行う対象の２値画像の画像データを記憶する画像記憶装置である。２値画像メモリ１０に記憶する２値画像の画像データ（以下、「２値画像データ」という）は、例えば、イメージセンサによって撮影した画像に含まれるそれぞれの画素の値（画素値）を予め定めた閾値などによって判定し、白色の画素（以下、「白画素」という）と黒色の画素（以下、「黒画素」という）とに２値化した画像（２値画像）の画像データである。つまり、２値画像に含まれるそれぞれの画素の画素値は、白画素または黒画素のいずれか一方を表す画素値となっている。２値画像データは、例えば、画像生成装置が、撮影された被写体の画像のデータに基づいて生成する。
【００３３】
なお、本発明においては、２値画像メモリ１０の構成に関しては、特に規定しない。例えば、２値画像メモリ１０は、画像処理装置１において２値画像データを記憶するために専用に設けられた画像記憶装置であってもよい。また、例えば、２値画像メモリ１０は、撮像装置に備えたＤＲＡＭの記憶領域の一部を、２値画像データを記憶する領域として利用する構成であってもよい。
【００３４】
ラベリング処理部２０は、２値画像メモリ１０に記憶された２値画像データを順次読み出して、読み出した２値画像データに対してラベリング処理を行う。より具体的には、２値画像データに含まれるそれぞれの画素において、ラベルを付与する対象の同じ色の画素（例えば、白画素）が隣接して連なっている領域に、予め定めた同じ値のラベルを付与するラベリング処理の演算を実行することによって、２値画像において同じ色の画素がまとまった領域ごとに異なる値のラベルが付与された画像（ラベリング画像）を生成する。このとき、ラベリング処理部２０は、適宜、戻り位置メモリ３０を利用しながら、ラベリング処理を行う。そして、ラベリング処理部２０は、ラベリング処理を行って２値画像から生成したラベリング画像の画像データ（以下、「ラベリング画像データ」という）を、ラベリング画像メモリ４０に出力する。ここで、ラベリング処理部２０が生成するラベリング画像に含まれるそれぞれの画素の画素値は、ラベリング処理部２０によって付与されたラベルの値、またはラベルを付与しなかった画素（白画素または黒画素のいずれか一方の画素）の画素値となっている。
【００３５】
戻り位置メモリ３０は、ラベリング処理部２０がラベリング処理を行う際に利用する記憶装置である。なお、本発明においては、戻り位置メモリ３０の構成に関しては、特に規定しない。例えば、戻り位置メモリ３０は、ラベリング処理部２０がラベリング処理を行う際に出力したデータを一時的に記憶するために専用に設けられたＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などのメモリで構成されてもよい。また、例えば、戻り位置メモリ３０は、ラベリング処理部２０内に備えたレジスタなどのデータを保持する構成であってもよい。
【００３６】
ラベリング画像メモリ４０は、ラベリング処理部２０がラベリング処理を行って生成したラベリング画像データを記憶する画像記憶装置である。なお、本発明においては、ラベリング画像メモリ４０の構成に関しては、特に規定しない。例えば、ラベリング画像メモリ４０は、画像処理装置１においてラベリング画像を記憶するために専用に設けられた画像記憶装置であってもよい。また、例えば、ラベリング画像メモリ４０は、撮像装置に備えたＤＲＡＭの記憶領域の一部を、ラベリング画像を記憶する領域として利用する構成であってもよい。
【００３７】
このような構成によって、画像処理装置１は、２値画像において同じ色の画素（例えば、白画素）がまとまった領域ごとに異なる値のラベルが付与されたラベリング画像を生成するラベリング処理を実行する。
【００３８】
次に、画像処理装置１に備えたラベリング処理部２０におけるラベリング処理の処理手順について説明する。ラベリング処理においてラベリング処理部２０は、２値画像メモリ１０に記憶された２値画像データに含まれるそれぞれの画素を、左上に配置された画素からラスター順に順次取得して（画素値を読み出して）、つまり、ラスタースキャンして、ラベルを付与する対象の画素であるか否かの判定を行う。そして、ラベリング処理部２０は、ラベルを付与する対象の画素であると判定した画素にラベルを付与した後、現在の画素の位置を基準の位置として、その周辺に位置する画素（以下、「周辺画素」という）がラベルを付与する対象の画素であるか否かをさらに判定する。これにより、ラベリング処理部２０は、ラベルを付与する対象の画素であると判定したそれぞれの画素に、同じ値のラベルを付与する。
【００３９】
図２は、本発明の実施形態の画像処理方法におけるラベリング処理の処理手順を示したフローチャートである。なお、以下の説明においては、２値画像データに含まれる白画素にラベルを付与する場合について説明する。
【００４０】
ラベリング処理を開始すると、ラベリング処理部２０は、まず、画素に付与するラベルの値を初期化する。
【００４１】
そして、ラベリング処理部２０は、ステップＳ１０の縦位置ループにおいて、ラベルを付与する対象の画素であるか否かを判定する画素の縦方向（垂直方向、列方向）の位置（以下、「縦位置」という）を設定する。ここでは、ラベリング処理部２０は、最初に、２値画像メモリ１０に記憶された２値画像データにおける上端の画素の行を、縦位置に設定する。
【００４２】
続いて、ラベリング処理部２０は、ステップＳ２０の横位置ループにおいて、ラベルを付与する対象の画素であるか否かを判定する画素の横方向（水平方向、行方向）の位置（以下、「横位置」という）を設定する。ここでは、ラベリング処理部２０は、最初に、２値画像メモリ１０に記憶された２値画像データにおける左端の画素の列を、横位置に設定する。
【００４３】
これにより、ラベリング処理では、２値画像メモリ１０に記憶された２値画像データにおける左上に配置された画素の位置が、最初にラベルを付与する対象の画素であるか否かを判定する位置となる。つまり、ラベリング処理部２０は、２値画像データにおける左上に配置された画素の位置を、ラベルを付与する対象の画素であるか否かを判定する画素の初期位置とする。
【００４４】
続いて、ラベリング処理部２０は、２値画像メモリ１０から、２値画像データに含まれる現在の位置（現在位置）の画素の画素値を取得（読み出し）し、取得した画素の画素値に基づいて、現在位置の画素がラベルを付与する対象の画素であるか否かを判定する（ステップＳ３０）。このステップＳ３０では、ラベリング処理部２０は、取得した現在位置の画素の画素値が白画素を表す画素値である場合に、現在位置の画素がラベルを付与する対象の画素であると判定し、取得した現在位置の画素の画素値が黒画素を表す画素値である場合に、現在位置の画素がラベルを付与する対象の画素ではないと判定する。
【００４５】
ステップＳ３０において、現在位置の画素がラベルを付与する対象の画素である、つまり、現在位置の画素の画素値が白画素を表す画素値であると判定した場合（ステップＳ３０の“ＹＥＳ”）、ラベリング処理部２０は、ステップＳ４０において、現在位置の画素に、現在の値のラベルを付与する。そして、ラベリング処理部２０は、ステップＳ５０において、現在位置の画素を基準として、その周辺に位置する周辺画素に同じ値のラベルを付与するラベル更新処理を行う。
【００４６】
一方、ステップＳ３０において、現在位置の画素がラベルを付与する対象の画素ではない、つまり、現在位置の画素の画素値が黒画素を表す画素値であると判定した場合（ステップＳ３０の“ＮＯ”）、またはステップＳ５０における現在位置の画素を基準としたラベル更新処理を終了すると、ラベリング処理部２０は、設定した現在の横位置の画素に対するラベルを付与する対象の画素であるか否かの判定を終了する。そして、ラベリング処理部２０は、次のステップＳ２０の横位置ループにおいて、ラベルを付与する対象の画素であるか否かを判定する画素の横方向（水平方向、行方向）の横位置を右に１画素分移動し、つまり、２値画像メモリ１０に記憶された２値画像データにおける左端から２番目の画素の列を横位置に設定し、現在の縦位置で横位置に設定した新たな現在位置の画素を基準として、ステップＳ３０〜ステップＳ５０の処理を繰り返す。
【００４７】
その後、ラベリング処理部２０は、横位置を２値画像データに含まれる右端の画素の位置まで１画素分ずつ順次移動して、ラベルを付与する対象の画素であるか否かの判定を終了する、つまり、１行分の画素に対するラベルを付与する対象の画素であるか否かの判定が終了すると、ステップＳ２０の横位置ループを終了する。そして、ラベリング処理部２０は、次のステップＳ１０の縦位置ループにおいて、ラベルを付与する対象の画素であるか否かを判定する画素の縦方向（垂直方向、列方向）の縦位置を下に１行分移動し、ステップＳ２０における横位置ループの処理を繰り返す。つまり、ラベリング処理部２０は、２値画像メモリ１０に記憶された２値画像データにおける上端から２行目の画素の行を縦位置に設定し、現在の縦位置で横位置の画素を順次設定した新たな現在位置の画素を基準として、ステップＳ２０の横位置ループ（つまり、ステップＳ３０〜ステップＳ５０）の処理を繰り返す。
【００４８】
このように、ラベリング処理部２０は、ステップＳ１０の縦位置ループとステップＳ２０の横位置ループとによって、２値画像メモリ１０に記憶された２値画像データを左上に配置された画素からラスター順に画素の現在位置を移動させて、２値画像データの１フレーム分、すなわち、２値画像に含まれる全ての画素に対してラベルを付与する対象の画素であるか否かの判定とラベルを付与する処理とを行う。これにより、ラベリング処理部２０は、２値画像データにおいて白画素がまとまった領域ごとに異なる値のラベルが付与されたラベリング画像データを生成する。そして、ラベリング処理部２０が生成したラベリング画像データが、ラベリング画像メモリ４０に記憶される。
【００４９】
次に、ラベリング処理部２０がステップＳ５０において行うラベル更新処理について説明する。なお、以下の説明においては、ステップＳ３０においてラベルを付与する対象の画素であると判定した現在位置の白画素を基準として、その周辺に位置する周辺画素に同じ値のラベルを付与するラベル更新処理を行う場合について説明する。
【００５０】
ラベル更新処理においてラベリング処理部２０は、２値画像メモリ１０に記憶された２値画像データに含まれる基準とした現在位置の白画素の周辺に位置するそれぞれの周辺画素の画素値を取得して（読み出して）、同じ値のラベルを付与する対象の画素であるか否かの判定を行う。そして、ラベリング処理部２０は、ラベルを付与する対象の画素であると判定した周辺画素に同じ値のラベルを付与する。このとき、ラベリング処理部２０は、同じ値のラベルを付与する周辺画素が複数ある場合には、全ての周辺画素に同じ値のラベルを付与した後、いずれかの周辺画素の位置に現在の位置を移動して、同様にその周辺画素の周辺に位置する画素（これも、周辺画素である）に同じ値のラベルを付与する。なお、同じ値のラベルを付与したが位置を移動しない周辺画素は、その画素の位置を一旦記憶しておき、位置を移動した画素に隣接して連なる全ての画素に対してラベルを付与する対象の画素であるか否かの判定を完了した後に、一旦記憶した画素の位置に戻って、再びその画素に隣接して連なる画素に対してラベルを付与する対象の画素であるか否かの判定を行う。これにより、ラベリング処理部２０は、現在位置の白画素の周辺に位置するそれぞれの周辺画素に隣接して連なっている、同じ値のラベルを付与する画素の領域を拡張していく。
【００５１】
図３は、本発明の実施形態の画像処理方法のラベリング処理におけるラベル更新処理の処理手順を示したフローチャートである。なお、以下の説明においては、基準とした現在位置の白画素の周辺に位置する周辺画素が、白画素の上下左右に位置する画素である場合について説明する。
【００５２】
ラベル更新処理を開始すると、ラベリング処理部２０は、ステップＳ５１のループにおいて、まず、ラベリング処理部２０は、基準とした白画素の現在位置を注目位置とする。そして、ラベリング処理部２０は、２値画像メモリ１０から、２値画像データに含まれる注目位置の白画素の上下左右に位置するそれぞれの画素の画素値を取得（読み出し）する（ステップＳ５２）。
【００５３】
続いて、ラベリング処理部２０は、取得したそれぞれの画素の画素値に基づいて、注目位置の上下左右のいずれかの位置に、ラベルを付与する対象の画素が存在するか否かを判定する（ステップＳ５３）。このステップＳ５３におけるラベリング処理部２０の処理は、図２に示したフローチャートにおけるステップＳ３０の処理と同様である。より具体的には、ステップＳ５３においてラベリング処理部２０は、上下左右の少なくとも１つの画素の画素値が白画素を表す画素値である場合に、ラベルを付与する対象の画素が存在すると判定し、上下左右の全ての画素の画素値が黒画素を表す画素値である場合に、ラベルを付与する対象の画素が存在しないと判定する。
【００５４】
ステップＳ５３において、ラベルを付与する対象の画素が存在すると判定した場合（ステップＳ５３の“ＹＥＳ”）、ラベリング処理部２０は、ラベルを付与する対象の画素であると判定したそれぞれの画素に、基準とした現在位置（注目位置）の白画素に付与したラベルと同じ値のラベルを付与する（ステップＳ５４）。つまり、ラベリング処理部２０は、ステップＳ５４において、図２に示したフローチャートにおけるステップＳ４０において付与した値のラベルを、ラベルを付与する対象の画素であると判定したそれぞれの画素に付与する。これにより、ラベリング処理部２０が、現在位置（注目位置）の周辺（上下左右）に位置する（隣接して連なる）、ラベルを付与する対象であると判定した全ての周辺画素に、同じ値のラベルが付与される。
【００５５】
続いて、ラベリング処理部２０は、ステップＳ５４において同じ値のラベルを付与した周辺画素が複数存在するか否かを判定する（ステップＳ５５）。言い換えれば、ラベリング処理部２０は、ステップＳ５５において、注目位置の上下左右に位置する複数の画素が、白画素を表す画素値であるか否かを判定する。
【００５６】
ステップＳ５５において、同じ値のラベルを付与した周辺画素が複数存在しない、つまり、白画素を表す画素値である周辺画素が１つであると判定した場合（ステップＳ５５の“ＮＯ”）、ラベリング処理部２０は、注目位置を、この画素の位置に移動する（ステップＳ５６）。そして、ラベリング処理部２０は、移動した注目位置において、ステップＳ５１のループの処理を繰り返す。
【００５７】
一方、ステップＳ５５において、同じ値のラベルを付与した周辺画素が複数存在する、つまり、白画素を表す画素値である周辺画素が２つ以上あると判定した場合（ステップＳ５５の“ＹＥＳ”）、ラベリング処理部２０は、次に注目位置とする１つの画素以外の位置の情報を、戻り位置として、戻り位置メモリ３０に一旦記憶する（ステップＳ５５１）。つまり、ラベリング処理部２０は、ステップＳ５５１において、次の注目位置としない他の画素の位置の情報を、戻り位置として、戻り位置メモリ３０に一旦記憶する。そして、ラベリング処理部２０は、同じ値のラベルを付与した周辺画素が複数存在しないと判定した場合（ステップＳ５５の“ＮＯ”）と同様に、ステップＳ５６において、注目位置を、戻り位置メモリ３０に記憶していない１つの画素の位置（つまり、次に注目位置とする１つの画素の位置）に移動して、移動した注目位置において、ステップＳ５１のループの処理を繰り返す。
【００５８】
一方、ステップＳ５３において、ラベルを付与する対象の画素が存在しないと判定した場合（ステップＳ５３の“ＮＯ”）、ラベリング処理部２０は、戻り位置メモリ３０に戻り位置が記憶されているか否かを判定する（ステップＳ５３１）。つまり、ラベリング処理部２０は、ステップＳ５３１において、次の注目位置として移動する予定の周辺画素の位置が、戻り位置メモリ３０に記憶されているか否かを判定する。
【００５９】
ステップＳ５３１において、戻り位置メモリ３０に戻り位置が記憶されていると判定した場合（ステップＳ５３１の“ＹＥＳ”）、ラベリング処理部２０は、戻り位置メモリ３０に記憶されたいずれかの戻り位置を取得する（ステップＳ５３２）。
【００６０】
続いて、ラベリング処理部２０は、取得した戻り位置を、戻り位置メモリ３０から削除（消去）する（ステップＳ５３３）。そして、ラベリング処理部２０は、ステップＳ５６において、注目位置を、戻り位置メモリ３０から取得した戻り位置で表された画素の位置に移動して、移動した注目位置において、ステップＳ５１のループの処理を繰り返す。
【００６１】
一方、ステップＳ５３１において、戻り位置メモリ３０に戻り位置が記憶されていないと判定した場合（ステップＳ５３１の“ＮＯ”）、ラベリング処理部２０は、基準とした現在位置の白画素の周辺に位置する同じ画素値の周辺画素に対してラベルを付与するラベル更新処理が完了したと判断し、ステップＳ５１のループの処理を抜けて、ラベル更新処理を終了する。
【００６２】
これにより、ラベリング処理部２０におけるラベリング処理は、図２に示したフローチャートにおけるステップＳ２０の横位置ループにおいて横位置を移動した新たな現在位置の画素に対して、ラベルを付与する対象の画素であるか否かの判定を繰り返す。
【００６３】
このように、ラベリング処理部２０は、２値画像メモリ１０に記憶された２値画像データを左上に配置された画素からラスター順に画素の現在位置を移動させてラベルを付与する対象の画素であると判定した画素を基準とし、ステップＳ５１のループによって、現在位置の画素の周辺に隣接して連なる同じ画素値の周辺画素に同じ値のラベルを付与する。これにより、ラベリング処理部２０は、基準とした現在位置から、同じ値のラベルを付与した画素の領域を広げていく。このとき、ラベリング処理部２０は、ステップＳ５５１において、次の注目位置として移動する画素以外の位置の情報を、戻り位置として、戻り位置メモリ３０に一旦記憶する。つまり、ラベリング処理部２０は、同じ値のラベルを付与した画素の領域を広げていく方向が複数ある場合に、これから領域を広げていく方向と異なる方向に隣接して連なる画素の位置の情報のみを、一旦、戻り位置メモリ３０に記憶する。このため、戻り位置メモリ３０の記憶容量は、従来の領域拡張法を利用したラベリング処理のように、領域を広げていく全ての方向の画素の位置の情報を一旦記憶して処理を行う場合に要する記憶容量よりも、より少ない記憶容量にすることができる。つまり、本発明の画像処理方法を実行する画像処理装置１では、ラベリング処理を行う際に、ラベルを付与する対象の画素の位置を一時的に記憶するために要する記憶容量を、従来のラベリング処理よりも少なくすることができる。このことにより、本発明の画像処理方法を実行する画像処理装置１では、ラベリング処理部２０における戻り位置メモリ３０へのアクセスが少なくなり、従来の画像処理装置よりも、ラベリング処理を高速化することができる。また、本発明の画像処理方法を実行する画像処理装置１の回路規模を、従来の画像処理装置よりも小さくすることができる。
【００６４】
次に、画像処理装置１に備えたラベリング処理部２０によるラベリング処理の一例について説明する。図４Ａ〜図４Ｏは、本発明の実施形態の画像処理方法においてラベリング処理を行う画像の一例を模式的に示した図である。図４Ａ〜図４Ｏには、ラベリング処理部２０によるラベリング処理およびラベル更新処理によって、２値画像に含まれる同じ画素値の画素に同じ値のラベルが付与された領域が広がっていく様子を、段階的に示している。
【００６５】
図４Ａ〜図４Ｏには、２値画像メモリ１０に記憶された２値画像データの一例を示している。図４Ａ〜図４Ｏに示した２値画像データは、画素が７行８列の２次元の行列状に配置されている。また、図４Ａ〜図４Ｏに示した２値画像データにおいては、３行３列〜６行７列までの画素が白画素であり、その他の画素が黒画素である。以下の説明においては、白画素に同じ値のラベルを付与する場合について説明する。なお、図４Ｂ〜図４Ｎに示した２値画像データの一例は、ラベリング処理部２０が生成してラベリング画像メモリ４０に記憶するラベリング画像データに相当する。
【００６６】
ここで、以下の説明においては、図４Ａ〜図４Ｏに示した２値画像データ（ラベリング画像データ）におけるそれぞれの画素の位置を容易に識別できるようにするため、それぞれの画素の位置に対応した行番号と列番号とを“（）：括弧”内に表す。なお、“（）：括弧”内の最初の数字は、画素の縦方向（垂直方向、列方向）の位置を表す行番号、最後の数字は、画素の横方向（水平方向、行方向）の位置を表す列番号である。例えば、２行３列の画素は、画素（２，３）と表し、５行７列の画素は、画素（５，７）と表す。
【００６７】
ラベリング処理部２０におけるラベリング処理では、上述したように、ステップＳ１０の縦位置ループとステップＳ２０の横位置ループとによって、２値画像メモリ１０に記憶された２値画像データに含まれるそれぞれの画素を、左上に配置された画素からラスター順に順次取得して（画素値を読み出して）、ラベルを付与する対象の画素であるか否かの判定を行う。より具体的には、ラベリング処理部２０は、図４Ａに示した一例のように、２値画像データの左上に位置する画素（１，１）から、画素（１，２）、画素（１，３）、・・・というように現在位置を移動させながら、それぞれの画素の画素値を順次読み出す。そして、ラベリング処理部２０は、図４Ａに示した一例のように、画素（１，８）の画素値を読み出した後、現在位置を画素（２，１）として、同様に、画素（２，１）、画素（２，２）、・・・というように現在位置を移動させながら、それぞれの画素の画素値を順次読み出す。
【００６８】
ここで、図４Ａに示した一例において画素（３，３）の位置を現在位置としてときに、画素（３，３）の画素値が、ステップＳ３０によってラベルを付与する対象の白画素であると判定されると、ラベリング処理部２０は、ステップＳ４０において、画素（３，３）にラベルを付与する。ここでは、付与するラベルの値を「１」とする。図４Ｂに示した一例には、ラベリング処理部２０が最初にラベルを付与する対象の白画素であると判定した画素（３，３）に、値＝「１」のラベルを付与した状態を示している。そして、ラベリング処理部２０は、画素（３，３）の現在位置を基準として、ステップＳ５０におけるラベル更新処理を開始する。
【００６９】
ラベリング処理部２０におけるラベル更新処理では、ステップＳ５１の１回目のループにおいて、画素（３，３）の現在位置を注目位置とする。そして、ラベリング処理部２０は、ステップＳ５２において、画素（３，３）の周辺に位置するそれぞれの周辺画素の画素値を取得する（読み出す）。より具体的には、ラベリング処理部２０は、画素（３，３）の上側に位置する画素（２，３）と、画素（３，３）の下側に位置する画素（４，３）と、画素（３，３）の左側に位置する画素（３，２）と、画素（３，３）の右側に位置する画素（３，４）とのそれぞれの画素の画素値を読み出す。なお、ラベリング処理部２０は、画素（３，３）の上側に位置する画素（２，３）と、画素（３，３）の左側に位置する画素（３，２）とのそれぞれの画素は、ステップＳ１０の縦位置ループとステップＳ２０の横位置ループとによって、つまり、ラスタースキャンによって、すでに白画素ではない（つまり、黒画素である）と判定しているため、これらの画素の画素値を読み出さないようにしてもよい。
【００７０】
そして、ラベリング処理部２０は、ステップＳ５３において、読み出した画素（４，３）と画素（３，４）とのそれぞれの画素の画素値に基づいて、ラベルを付与する対象の画素であるか否かを判定し、ステップＳ５４において、ラベルを付与する対象の画素に、画素（３，３）に付与したラベルと同じ値のラベルを付与する。図４Ｃに示した一例には、ラベリング処理部２０が、画素（４，３）と画素（３，４）とのそれぞれの画素がラベルを付与する対象の画素であると判定し、画素（３，３）に付与したラベルと同じ値＝「１」のラベルを付与した状態を示している。
【００７１】
そして、ラベリング処理部２０は、ステップＳ５５において、同じ値のラベルを付与した周辺画素が複数存在するか否かを判定する。図４Ｃに示した一例では、ステップＳ５４において、画素（４，３）と画素（３，４）とのそれぞれの画素に同じ値のラベルが付与されているため、ラベリング処理部２０は、同じ値のラベルを付与した周辺画素が複数存在すると判定する。これにより、ラベリング処理部２０は、ステップＳ５５１において、次に注目位置とする画素以外の位置の情報を、戻り位置として、戻り位置メモリ３０に一旦記憶する。図４Ｃに示した一例には、ラベリング処理部２０が、次に注目位置とする画素を画素（４，３）として、画素（３，４）の位置の情報を、戻り位置として戻り位置メモリ３０に一旦記憶している状態を示している。ここで、図４Ｃに示した一例では、戻り位置として位置の情報を戻り位置メモリ３０に記憶した画素を容易に識別できるようにするため、画素に付与したラベルの値を、丸で囲んで示している。
【００７２】
なお、従来の領域拡張法を利用したラベリング処理では、画素（４，３）と画素（３，４）とのそれぞれの画素の位置の情報を、それぞれの戻り位置として戻り位置メモリ３０に記憶することになる。これに対して、本発明の実施形態の画像処理方法におけるラベリング処理では、画素（３，４）の位置の情報を戻り位置として戻り位置メモリ３０に記憶するのみであるため、戻り位置メモリ３０の記憶容量は、従来よりも少ない。図４Ｃに示した一例の状態では、戻り位置メモリ３０の記憶容量は、従来の半分である。
【００７３】
そして、ラベリング処理部２０は、ステップＳ５６において、次の注目位置とした画素（４，３）の位置に移動して、ステップＳ５１の２回目のループの処理を行う。図４Ｄに示した一例には、ラベリング処理部２０が、注目位置を画素（４，３）の位置に移動した状態を示している。
【００７４】
ステップＳ５１の２回目のループでは、ラベリング処理部２０は、ステップＳ５２において、移動した注目位置である画素（４，３）の周辺に位置するそれぞれの周辺画素の画素値を取得する（読み出す）。より具体的には、ラベリング処理部２０は、画素（４，３）の上側に位置する画素（３，３）と、画素（４，３）の下側に位置する画素（５，３）と、画素（４，３）の左側に位置する画素（４，２）と、画素（４，３）の右側に位置する画素（４，４）とのそれぞれの画素の画素値を読み出す。なお、ラベリング処理部２０は、画素（４，３）の左側に位置する画素（４，２）は、ラスタースキャンによって、すでに白画素ではない（つまり、黒画素である）と判定しているため、画素（４，２）の画素値を読み出さないようにしてもよい。また、ラベリング処理部２０は、画素（４，３）の上側に位置する画素（３，３）は、今回移動してきた元の注目位置の画素であり、ステップＳ４０によって、すでに値＝「１」のラベルが付与しているため、画素（４，２）の画素値を読み出さないようにしてもよい。
【００７５】
そして、ラベリング処理部２０は、ステップＳ５１の１回目のループと同様に、ラベルを付与する対象の画素であると判定した画素に、画素（３，３）に付与したラベルと同じ値のラベルを付与し、次に注目位置とする画素以外の位置の情報を、戻り位置として、戻り位置メモリ３０に一旦記憶する。図４Ｄに示した一例には、ステップＳ５１の２回目のループにおいて、ラベリング処理部２０が、画素（５，３）と画素（４，４）とのそれぞれの画素に、画素（３，３）に付与したラベルと同じ値＝「１」のラベルを付与し、次に注目位置とする画素を画素（５，３）として、画素（４，４）の位置の情報を、戻り位置として戻り位置メモリ３０に一旦記憶している状態を示している。
【００７６】
そして、ラベリング処理部２０は、ステップＳ５１の２回目のループのステップＳ５６において、注目位置とした画素（５，３）の位置に移動して、ステップＳ５１の３回目のループの処理を行う。図４Ｅに示した一例には、ラベリング処理部２０が、注目位置を画素（５，３）の位置に移動した状態を示している。また、図４Ｅに示した一例には、ラベリング処理部２０が、ステップＳ５１の３回目のループにおいて、画素（６，３）と画素（５，４）とのそれぞれの画素に、画素（３，３）に付与したラベルと同じ値＝「１」のラベルを付与し、次に注目位置とする画素を画素（６，３）として、画素（５，４）の位置の情報を、戻り位置として戻り位置メモリ３０に一旦記憶している状態を示している。
【００７７】
そして、ラベリング処理部２０は、ステップＳ５１の３回目のループのステップＳ５６において、注目位置とした画素（６，３）の位置に移動して、ステップＳ５１の４回目のループの処理を行う。図４Ｆに示した一例には、ラベリング処理部２０が、注目位置を画素（６，３）の位置に移動した状態を示している。
【００７８】
ステップＳ５１の４回目のループでは、ラベリング処理部２０は、ステップＳ５２において、移動した注目位置である画素（６，３）の周辺に位置するそれぞれの周辺画素の画素値を取得する（読み出す）。より具体的には、ラベリング処理部２０は、画素（６，３）の上側に位置する画素（５，３）と、画素（６，３）の下側に位置する画素（７，３）と、画素（６，３）の左側に位置する画素（６，２）と、画素（６，３）の右側に位置する画素（６，４）とのそれぞれの画素の画素値を読み出す。なお、ラベリング処理部２０は、画素（６，３）の左側に位置する画素（６，２）は、ラスタースキャンによって、すでに白画素ではない（つまり、黒画素である）と判定しているため、画素（６，２）の画素値を読み出さないようにしてもよい。また、ラベリング処理部２０は、画素（６，３）の上側に位置する画素（５，３）は、今回移動してきた元の注目位置の画素であり、ステップＳ５１の２回目のループのステップＳ５４によって、すでに値＝「１」のラベルが付与しているため、画素（５，３）の画素値を読み出さないようにしてもよい。
【００７９】
そして、ラベリング処理部２０は、ステップＳ５１の他のループと同様に、ラベルを付与する対象の画素であると判定した画素に、画素（３，３）に付与したラベルと同じ値のラベルを付与し、次に注目位置とする画素以外の位置の情報を、戻り位置として、戻り位置メモリ３０に一旦記憶する。ここで、図４Ｆに示した一例では、ラベリング処理部２０が、ステップＳ５１の４回目のループにおいて、画素（６，４）のみに、画素（３，３）に付与したラベルと同じ値＝「１」のラベルを付与する。このため、ラベリング処理部２０は、ステップＳ５１の４回目のループのステップＳ５５において、同じ値のラベルを付与した周辺画素が複数存在しないと判定する。従って、ラベリング処理部２０は、図４Ｆに示した一例のように、戻り位置を戻り位置メモリ３０に記憶しない。
【００８０】
そして、ラベリング処理部２０は、ステップＳ５１の４回目のループのステップＳ５６において、注目位置とした画素（６，４）の位置に移動して、ステップＳ５１の５回目のループ以降の処理を行う。
【００８１】
図４Ｇに示した一例には、ラベリング処理部２０が、ステップＳ５１の４回目のループにおいて、注目位置を画素（６，４）の位置に移動し、ステップＳ５１の５回目のループにおいて、画素（６，５）に、画素（３，３）に付与したラベルと同じ値＝「１」のラベルを付与し、次に注目位置とする画素を画素（６，５）として、戻り位置を戻り位置メモリ３０に記憶しない状態を示している。ここで、図４Ｇに示した一例のように、ラベリング処理部２０は、ステップＳ５１の５回目のループにおいて注目位置である画素（６，４）の上側に位置する画素（５，４）に、ステップＳ５１の３回目のループのステップＳ５４によって、すでに値＝「１」のラベルが付与している。このため、ラベリング処理部２０は、ステップＳ５１の５回目のループのステップＳ５４において、画素（５，４）にラベルを付与する処理を行わなくもよい。そして、ラベリング処理部２０は、ラベルを付与する処理を行った注目位置の周辺に位置するいずれかの周辺画素の位置を、次の注目位置とする。このため、ラベリング処理部２０は、図４Ｈに示した一例のように、ステップＳ５１の５回目のループにおいて、注目位置を画素（６，５）の位置に移動する。
【００８２】
また、図４Ｈに示した一例には、ラベリング処理部２０が、ステップＳ５１の６回目のループにおいて、画素（６，６）と画素（５，５）とのそれぞれの画素に値＝「１」のラベルを付与し、次に注目位置とする画素を画素（６，６）として、画素（５，５）の位置の情報を、戻り位置として戻り位置メモリ３０に一旦記憶している状態を示している。
【００８３】
同様に、ラベリング処理部２０は、ステップＳ５１のそれぞれのループにおいて、注目位置とした画素の周辺（上下左右）に位置する（隣接して連なる）周辺画素に対する画素（３，３）に付与したラベルと同じ値＝「１」のラベルの付与と、次に注目位置とする周辺画素以外の位置の情報である戻り位置の戻り位置メモリ３０への記憶と、次の注目位置としたいずれかの周辺画素（ラベルを付与した周辺に位置する周辺画素）の位置に移動する処理を繰り返す。図４Ｉに示した一例には、ラベリング処理部２０が、注目位置を移動する順番と、この順番で移動してそれぞれの注目位置の周辺（上下左右）に位置する（隣接して連なる）周辺画素に付与した値＝「１」のラベルと、それぞれの注目位置において戻り位置メモリ３０に戻り位置として記憶した画素の位置との一例を示している。
【００８４】
なお、本発明の実施形態の画像処理方法におけるラベリング処理では、図４Ｉに示した一例のように、注目位置としたそれぞれの画素の位置において、次に注目位置とする画素以外で、すでに戻り位置メモリ３０に記憶されていない画素の位置の情報を、戻り位置として戻り位置メモリ３０に記憶する。図４Ｉに示した一例の状態では、画素（３，３）を基準とした領域において、外周に位置する画素以外の位置を戻り位置として戻り位置メモリ３０に記憶している。このため、戻り位置メモリ３０の記憶容量は、従来の領域拡張法を利用したラベリング処理において領域を広げていく全ての方向の画素の位置の情報を記憶ために要する記憶容量よりも、より少ない記憶容量で済むことになる。例えば、画像に含まれる全ての画素の領域が同じ値のラベルを付与する対象の画素の領域である場合、従来の領域拡張法を利用したラベリング処理では、画像の画素数と同等の数の画素の位置を記憶することができる分だけの記憶容量が必要であった。これに対して本発明の実施形態の画像処理方法におけるラベリング処理では、戻り位置メモリ３０の記憶容量を、２値画像の外周に位置する画素以外の画素の位置を戻り位置として記憶することができる分だけの記憶容量で済む。
【００８５】
そして、図４Ｊに示した一例のように、ステップＳ５１の１３回目のループにおいて、注目位置を画素（４，５）の位置に移動すると、ラベリング処理部２０は、移動した注目位置である画素（４，５）の周辺に位置するそれぞれの周辺画素の画素値を取得する（読み出す）。より具体的には、ラベリング処理部２０は、画素（４，５）の上側に位置する画素（３，５）と、画素（４，５）の下側に位置する画素（５，５）と、画素（４，５）の左側に位置する画素（４，４）と、画素（４，５）の右側に位置する画素（４，６）とのそれぞれの画素の画素値を読み出す。なお、図４Ｊに示した一例のように、画素（４，５）の周辺に位置するそれぞれの周辺画素は、すでに値＝「１」のラベルが付与されている。つまり、図４Ｊに示した一例において、画素（３，５）は、今回移動してきた元の注目位置の画素であるため、すでに値＝「１」のラベルが付与されており、画素（５，５）と、画素（４，４）と、画素（４，６）とのそれぞれの画素は、以前のステップＳ５１のループのステップＳ５４によって、すでに値＝「１」のラベルが付与されている。このため、ラベリング処理部２０は、ステップＳ５１の１４回目のループのステップＳ５３において、ラベルを付与する対象の画素が存在しないと判定する。従って、ラベリング処理部２０は、ステップＳ５１の１４回目のループのステップＳ５３１〜ステップＳ５３３において、戻り位置メモリ３０に記憶されている戻り位置を取得する。例えば、ラベリング処理部２０は、戻り位置メモリ３０に最初に記憶されている画素（３，４）に対応する戻り位置を取得する。そして、ラベリング処理部２０は、ステップＳ５１の１４回目のループのステップＳ５６において、取得した戻り位置を新たな注目位置として画素（３，４）の位置に移動して、ステップＳ５１の１５回目のループ以降の処理を行う。
【００８６】
図４Ｋに示した一例には、ラベリング処理部２０が、ステップＳ５１の１４回目のループのステップＳ５６において、新たな注目位置を画素（３，４）の位置に移動した状態を示している。そして、図４Ｌに示した一例には、ラベリング処理部２０が、ステップＳ５１の１５回目のループ以降の処理を行う順番の一例を示している。
【００８７】
図４Ｌに示した一例のような順番で移動したそれぞれの注目位置では、周辺に位置するそれぞれの周辺画素にはすでに値＝「１」のラベルが付与されている。このため、ラベリング処理部２０は、ステップＳ５１の１５回目以降のそれぞれのループにおいて、位置メモリ３０に記憶されている戻り位置に、注目位置を順次移動するのみの処理で、ラベル更新処理を終了する。そして、ラベリング処理部２０が、ステップＳ５１の１９回目のループのステップＳ５３１〜ステップＳ５３３において、戻り位置メモリ３０に最後に記憶されている画素（４，６）に対応する戻り位置を取得し、ステップＳ５６において、注目位置を取得した戻り位置である画素（４，６）の位置に移動して、ステップＳ５１の２０回目のループの処理を行う。
【００８８】
図４Ｍに示した一例には、ラベリング処理部２０が、注目位置を画素（４，６）の位置に移動した状態を示している。図４Ｍに示した一例のように、ステップＳ５１の１９回目のループにおいて、注目位置を画素（４，６）の位置に移動した場合にも、周辺に位置するそれぞれの周辺画素にはすでに値＝「１」のラベルが付与されている。このため、ラベリング処理部２０は、ステップＳ５１の２０回目のループのステップＳ５３１において、戻り位置メモリ３０に戻り位置が記憶されていないと判定する。これにより、ラベリング処理部２０は、ラベル更新処理が完了したと判断し、ステップＳ５１のループの処理を抜けて、図４Ａに示した一例の現在位置である画素（３，３）の白画素を基準としたステップＳ５０のラベル更新処理を終了する。このようにして、ラベリング処理部２０は、画素（３，３）の白画素に隣接して連なっている領域を拡張し、図４Ｎに示した一例のように、領域内の全ての画素に画素（３，３）に付与したラベルと同じ値＝「１」のラベルを付与するラベリング処理を実行する。
【００８９】
その後、図４Ｏに示した一例のように、ラベリング処理部２０は、画素（３，４）からラスター順に現在位置を移動させながら、それぞれの画素の画素値を順次取得して（画素値を読み出して）、ステップＳ３０によってラベルを付与する対象の白画素であると判定されると、同様にラベル更新処理を行う。そして、ラベリング処理部２０は、２値画像メモリ１０に記憶された２値画像データに含まれる全ての画素をラスター順に順次現在位置として、ステップＳ３０におけるラベルを付与する対象の画素であるか否かの判定を終了すると、ラベリング処理が完了したと判断して、ラベリング処理を終了する。
【００９０】
ここで、画像処理装置１に備えたラベリング処理部２０がラベリング処理を行って生成したラベリング画像の一例について説明する。図５は、本発明の実施形態の画像処理方法においてラベリング処理を行った画像の一例を模式的に示した図である。図５の（ａ）には、２値画像メモリ１０に記憶された２値画像データの一例を示している。また、図５の（ｂ）には、ラベリング処理部２０がラベリング処理を行って生成したラベリング画像データの一例を示している。図５の（ａ）に示した２値画像データは、画素が７行８列の２次元の行列状に配置されており、２行２列〜４行４列までの画素と、４行６列〜５行７列までの画素とが白画素であり、その他の画素が黒画素である。
【００９１】
ラベリング処理部２０が図５の（ａ）の一例に示したような２値画像データに対してラベリング処理を行う場合、２値画像データに含まれる白画素がまとまった領域ごとに、異なる値のラベルを付与したラベリング画像データを生成する。より具体的には、図５の（ｂ）の一例に示したように、２値画像データに含まれる画素（２，２）を基準として白画素が隣接して連なっている領域を拡張して、画素（２，２）〜画素（４，４）に同じ値＝「１」のラベルを付与し、画素（４，６）を基準として白画素が隣接して連なっている領域を拡張して、画素（４，６）〜画素（５，７）に同じ値＝「２」のラベルを付与したラベリング画像データを生成する。このときも、ラベリング処理部２０は、適宜、戻り位置メモリ３０を利用しながら、それぞれの白画素の領域に対するラベリング処理を行う。
【００９２】
なお、上述したように、ラベリング処理部２０は、注目位置としたそれぞれの画素の位置において、次に注目位置とする画素以外で、すでに戻り位置メモリ３０に記憶されていない画素の位置の情報を、戻り位置として戻り位置メモリ３０に記憶する。そして、ラベリング処理部２０におけるラベリング処理では、それぞれの白画素の領域ごとに同じ値のラベルを付与する。このとき、ラベリング処理部２０は、ステップＳ５１のそれぞれのループのステップＳ５３３において、戻り位置メモリ３０に記憶している戻り位置を、順次削除（消去）するため、１つの白画素の領域に対するラベリング処理を終了した時点で、戻り位置メモリ３０に記憶している全ての戻り位置は削除（消去）された状態となる。このため、ラベリング処理部２０は、従来の領域拡張法を利用したラベリング処理よりも、より少ない戻り位置メモリ３０の記憶容量で、ラベリング処理を行うことができる。例えば、画像に含まれる全ての画素の領域が同じ値のラベルを付与する対象の画素の領域である場合、上述したように、戻り位置メモリ３０の記憶容量は、２値画像の外周に位置する画素以外の画素の位置を戻り位置として記憶することができる分だけの記憶容量で済むことになる。
【００９３】
そして、図５の（ａ）に示したように、ラベルを付与する領域が複数ある場合には、それぞれの領域の外周に位置する画素以外の画素の位置を戻り位置として記憶するのみで済むため、ラベリング処理において利用する戻り位置メモリ３０の記憶容量を、さらに少なくすることができる。これにより、ラベリング処理部２０がラベリング処理を行う際に戻り位置メモリ３０にアクセスする回数が少なくなり、ラベリング処理を高速化することができる。
【００９４】
実施形態によれば、入力された画像（例えば、２値画像）に含まれる画素を予め定めた走査順（例えば、ラスター順、図２に示した処理手順：ステップＳ１０の縦位置ループおよびステップＳ２０の横位置ループ）で走査し、画像（例えば、２値画像）に含まれる同じ画素値の画素が隣接して連なってまとまっている画素の領域ごとに予め定めた同じ値のラベルを付与する画像処理方法（ラベリング処理）であって、走査（例えば、ラスタースキャン：ステップＳ１０の縦位置ループおよびステップＳ２０の横位置ループ）によって得たそれぞれの画素の画素値に基づいて、ラベルを付与する対象の画素であるか否かを順次判定し、ラベルを付与する対象の画素であると判定された画素に予め定めた新たなラベルを付与する画素判定ステップ（ステップＳ３０およびステップＳ４０）と、ラベルを付与した画素の位置を注目位置とし、注目位置の画素の周辺に位置する周辺画素に同じ値のラベルを付与するラベル更新ステップ（ステップＳ５０：ステップＳ５１のループ）と、を含み、ラベル更新ステップ（ステップＳ５０：ステップＳ５１のループ）は、周辺画素の画素値に基づいて、ラベルを付与する対象の周辺画素であるか否かを判定する周辺画素判定ステップ（ステップＳ５２およびステップＳ５３）と、周辺画素判定ステップ（ステップＳ５２およびステップＳ５３）においてラベルを付与する対象の周辺画素であると判定された周辺画素にラベルを付与するラベル付与ステップ（ステップＳ５４）と、ラベル付与ステップ（ステップＳ５４）においてラベルを付与したいずれか１つの周辺画素の位置を新たな注目位置として移動する注目位置移動ステップ（ステップＳ５６）と、ラベル付与ステップ（ステップＳ５４）においてラベルを付与した周辺画素が複数存在する場合に、注目位置移動ステップ（ステップＳ５６）において新たな注目位置として移動する周辺画素以外の周辺画素の位置を、戻り位置として記憶する戻り位置記憶ステップ（ステップＳ５５およびステップＳ５５１）とを、戻り位置記憶ステップ（ステップＳ５５およびステップＳ５５１）において記憶した戻り位置がなくなるまで繰り返す（ステップＳ５３１〜ステップＳ５３３を実行する）、画像処理方法（ラベリング処理）が構成される。
【００９５】
また、実施形態によれば、画像処理方法（ラベリング処理）は、画素判定ステップ（ステップＳ３０およびステップＳ４０）においていずれかの画素に新たなラベルを付与（ステップＳ４０）した後、ラベル更新ステップ（ステップＳ５０：ステップＳ５１のループ）を開始し、ラベル更新ステップ（ステップＳ５０：ステップＳ５１のループ）は、画素判定ステップ（ステップＳ３０およびステップＳ４０）において画素に付与した新たなラベルと同じ値のラベルを、ラベル付与ステップ（ステップＳ５４）においてそれぞれの周辺画素に付与し、ラベル更新ステップ（ステップＳ５０：ステップＳ５１のループ）が終了した後、走査（例えば、ラスタースキャン：ステップＳ１０の縦位置ループおよびステップＳ２０の横位置ループ）を再開する、画像処理方法（ラベリング処理）が構成される。
【００９６】
また、実施形態によれば、画素判定ステップ（ステップＳ３０およびステップＳ４０）は、画像（例えば、２値画像）に含まれる全ての画素をラスター順に走査する、画像処理方法（ラベリング処理）が構成される。
【００９７】
また、実施形態によれば、注目位置移動ステップ（ステップＳ５６）は、注目位置の下側または右側に位置するいずれか１つの周辺画素の位置を新たな注目位置として移動する、画像処理方法（ラベリング処理）が構成される。
【００９８】
また、実施形態によれば、画像は、２値画像である、画像処理方法（ラベリング処理）が構成される。
【００９９】
また、実施形態によれば、入力された画像（例えば、２値画像）に含まれる画素を予め定めた走査順（例えば、ラスター順、図２に示した処理手順：ステップＳ１０の縦位置ループおよびステップＳ２０の横位置ループ）で走査し、画像（例えば、２値画像）に含まれる同じ画素値の画素が隣接して連なってまとまっている画素の領域ごとに予め定めた同じ値のラベルを付与する画像処理装置（画像処理装置１）であって、走査（例えば、ラスタースキャン：ステップＳ１０の縦位置ループおよびステップＳ２０の横位置ループ）によって得たそれぞれの画素の画素値に基づいて、ラベルを付与する対象の画素であるか否かを順次判定し、ラベルを付与する対象の画素であると判定された画素に予め定めた新たなラベルを付与する画素判定ステップ（ステップＳ３０およびステップＳ４０）と、ラベルを付与した画素の位置を注目位置とし、注目位置の画素の周辺に位置する周辺画素に同じ値のラベルを付与するラベル更新ステップ（ステップＳ５０：ステップＳ５１のループ）と、を含み、ラベル更新ステップ（ステップＳ５０：ステップＳ５１のループ）は、周辺画素の画素値に基づいて、ラベルを付与する対象の周辺画素であるか否かを判定する周辺画素判定ステップ（ステップＳ５２およびステップＳ５３）と、周辺画素判定ステップ（ステップＳ５２およびステップＳ５３）においてラベルを付与する対象の周辺画素であると判定された周辺画素にラベルを付与するラベル付与ステップ（ステップＳ５４）と、ラベル付与ステップ（ステップＳ５４）においてラベルを付与したいずれか１つの周辺画素の位置を新たな注目位置として移動する注目位置移動ステップ（ステップＳ５６）と、ラベル付与ステップ（ステップＳ５４）においてラベルを付与した周辺画素が複数存在する場合に、注目位置移動ステップ（ステップＳ５６）において新たな注目位置として移動する周辺画素以外の周辺画素の位置を、戻り位置として記憶する戻り位置記憶ステップ（ステップＳ５５およびステップＳ５５１）とを、戻り位置記憶ステップ（ステップＳ５５およびステップＳ５５１）において記憶した戻り位置がなくなるまで繰り返す（ステップＳ５３１〜ステップＳ５３３を実行する）画像処理方法（ラベリング処理）を実行する処理部（ラベリング処理部２０）、を備える、画像処理装置（画像処理装置１）が構成される。
【０１００】
また、実施形態によれば、ラベリング処理部２０は、画素判定ステップ（ステップＳ５２およびステップＳ５３）においていずれかの画素に新たなラベルを付与した後、ラベル更新ステップ（ステップＳ５０：ステップＳ５１のループ）を開始し、ラベル更新ステップ（ステップＳ５０：ステップＳ５１のループ）は、画素判定ステップ（ステップＳ５２およびステップＳ５３）において画素に付与した新たなラベルと同じ値のラベルを、ラベル付与ステップ（ステップＳ５４）においてそれぞれの周辺画素に付与し、ラベル更新ステップ（ステップＳ５０：ステップＳ５１のループ）が終了した後、走査（例えば、ラスタースキャン：ステップＳ１０の縦位置ループおよびステップＳ２０の横位置ループ）を再開する、画像処理方法（ラベリング処理）を実行する、画像処理装置１が構成される。
【０１０１】
また、実施形態によれば、戻り位置記憶ステップ（ステップＳ５５およびステップＳ５５１）における戻り位置を記憶する戻り位置記憶部（戻り位置メモリ３０）、を備える、画像処理装置１が構成される。
【０１０２】
上記に述べたように、本発明の実施形態によれば、ラベリング処理部におけるラベリング処理において、２値画像に含まれるそれぞれの画素の画素値をラスター順に順次取得（読み出し）し、取得した画素の画素値に基づいて、現在位置の画素がラベルを付与する対象の画素であるか否かを判定する。そして、本発明の実施形態では、ラベリング処理部が、現在位置の画素がラベルを付与する対象の画素であると判定した場合に現在位置の画素にラベルを付与し、ラベルを付与した現在位置の画素を基準として、その画素の周辺に位置する周辺画素に対するラベル更新処理を行う。また、本発明の実施形態によれば、ラベリング処理部におけるラベル更新処理において、基準とした現在位置を注目位置として、注目位置の画素の周辺に位置するそれぞれの周辺画素の画素値を取得（読み出し）し、ラベルを付与する対象の画素であると判定した周辺に位置するそれぞれの周辺画素に、現在位置の画素に付与したラベルと同じ値のラベルを付与する。また、本発明の実施形態では、ラベリング処理部が、次の注目位置として移動する画素以外の画素の位置の情報、つまり、次の注目位置としない画素の位置の情報を、戻り位置として一時的に記憶する。言い換えれば、本発明の実施形態では、ラベリング処理において注目位置を移動する方向と異なる方向に隣接して連なる周辺画素の位置の情報のみを、戻り位置として一時的に記憶する。これにより、本発明の実施形態では、戻り位置を記憶する戻り位置メモリの記憶容量を少なくすることができる。
【０１０３】
また、本発明の実施形態では、ラベリング処理部が、注目位置を順次移動して、同様に、ラベルを付与する対象の画素であると判定した周辺画素の周辺に位置するそれぞれの画素へのラベルの付与と、次の注目位置としない周辺画素の位置の情報（戻り位置）の記憶とを繰り返す。その後、本発明の実施形態では、ラベリング処理部が、最初の注目位置から移動した一連の処理が終了した後に、記憶しているいずれかの戻り位置を新たな注目位置として取得（読み出し）し、新たな注目位置から同様に移動した一連の処理を繰り返す。これにより、本発明の実施形態では、２値画像に含まれるラベルを付与する対象の画素と同じ色の画素（例えば、白画素）が隣接して連なってまとまっている画素の領域に、同じ値のラベルを付与したラベリング画像データを生成することができる。
【０１０４】
なお、本発明の実施形態では、異なる位置で同じ色の画素（例えば、白画素）が隣接して連なってまとまっている画素の領域には、異なる値のラベルを付与する。これにより、本発明の実施形態では、２値画像に含まれる同じ色の画素（例えば、白画素）が隣接して連なってまとまっている画素の領域ごとに、異なる値のラベルを付与したラベリング画像データを生成することができる。
【０１０５】
これらのことにより、本発明の実施形態では、同じ色の画素（例えば、白画素）が隣接して連なってまとまっている、同じ値のラベルを付与する対象の画素の領域を広げていく、ラベリング処理部におけるラベリング処理において、戻り位置を記憶する戻り位置メモリの記憶容量を少なくして、ラベリング処理を行うラベリング処理部を搭載した画像処理装置の回路規模を小さくすることができる。また、本発明の実施形態では、ラベリング処理部がラベリング処理を行う際に、戻り位置を記憶している戻り位置メモリに対するアクセスする回数を少なくすることができ、ラベリング処理の処理時間の短縮、つまり、ラベリング処理の高速化を図ることができる。
【０１０６】
なお、本発明の実施形態では、注目位置の上下左右に位置する４画素を、注目位置の画素の周辺に位置する（隣接して連なる）周辺画素としたラベリング処理の一例を示した。しかし、注目位置の画素の周辺に位置する（隣接して連なる）周辺画素は、注目位置の上下左右に位置する画素に限定されるものではない。例えば、注目位置の上下左右に斜め方向を含めた８画素を、注目位置の画素の周辺に位置する（隣接して連なる）周辺画素としてラベリング処理を行ってもよい。なお、この場合のラベリング処理は、図３に示したフローチャートにおけるステップＳ５２の処理において、注目位置の上下左右に斜め方向を含めた位置に位置するそれぞれの画素の画素値を取得（読み出し）する以外は、上述したラベリング処理と同様に考えることができるため、詳細な説明は省略する。
【０１０７】
また、本発明の実施形態では、同じ色の画素（例えば、白画素）が隣接して連なってまとまっている画素の領域に付与するラベルの値を、それぞれの領域ごとに異なる値にする方法に関する説明をしていない。しかし、ラベルの値をそれぞれの領域ごとに異なる値にする方法は、既存の様々な技術を利用することができるため、詳細な説明は省略する。
【０１０８】
また、本発明の実施形態では、ラベリング処理において、ステップＳ１０の縦位置ループとステップＳ２０の横位置ループとによって２値画像に含まれるそれぞれの画素の画素値をラスター順に取得して（読み出して）、つまり、ラスタースキャンして、ラベルを付与する対象の画素を検出する一例を示した。しかし、２値画像に含まれるそれぞれの画素の画素値を取得する（読み出す）順番、つまり、２値画像をスキャンする方法は、実施形態において説明したラスタースキャンに限定されるものではない。例えば、２値画像の左上に配置された画素から右側に向かって横方向（水平方向、行方向）に走査して右上に配置された画素の画素値を取得した（読み出した）後、次の行の画素を左側に向かって横方向（水平方向、行方向）に走査するという順番を繰り返すスキャン方法であってもよい。より具体的には、図５の（ａ）に示した２値画像データの一例において、画素（１，１）、・・・、画素（１，８）、画素（２，８）、・・・、画素（２，１）、画素（３，１）、・・・画素（３，８）、・・・というように、順次スキャンするスキャン方法であってもよい。また、例えば、２値画像の左上に配置された画素から斜め方向に上下に移動しながら右下の画素まで順番に画素値を取得する（読み出す）、いわゆる、ジグザグスキャンする方法であってもよい。より具体的には、図５の（ａ）に示した２値画像データの一例において、画素（１，１）、画素（２，１）、画素（１，２）、画素（１，３）、画素（２，２）、画素（３，１）、画素（４，１）、画素（３，２）、画素（２，３）、画素（１，４）、・・・というように、ジグザグにスキャンするスキャン方法であってもよい。そして、いずれのスキャン方法によって２値画像に含まれるそれぞれの画素の画素値を取得した（読み出した）場合でも、本発明の考え方は同様に適用することができ、本発明と同様の効果を得ることができる。
【０１０９】
また、本発明の実施形態では、イメージセンサによって撮影した画像に含まれるそれぞれの画素の画素値を予め定めた閾値などによって白画素と黒画素とに２値化した２値画像にラベルを付与したラベリング画像データを生成する場合について説明した。しかし、ラベルを付与する画像は、実施形態で示した２値画像に限定されるものではなく、さらに多くの値に変換した画像に対するラベリング処理にも、本発明の考え方を同様に適用することができ、本発明と同様の効果を得ることができる。
【０１１０】
以上、本発明の好ましい実施形態を説明したが、本発明はこれら実施形態およびその変形例に限定されることはない。本発明の趣旨を逸脱しない範囲で、構成の付加、省略、置換、およびその他の変更をすることができる。
また、本発明は前述した説明によって限定されることはなく、添付のクレームの範囲によってのみ限定される。
【産業上の利用可能性】
【０１１１】
上記実施形態によれば、ラベルを付与する対象の画素の位置を一時的に記憶するための記憶容量を少なくして、同じ値のラベルを付与する対象の画素の領域を広げていくラベリング処理を行うことができる画像処理方法および画像処理装置を提供することができる。
【符号の説明】
【０１１２】
１  画像処理装置
１０  ２値画像メモリ
２０  ラベリング処理部（処理部）
３０  戻り位置メモリ（戻り位置記憶部）
４０  ラベリング画像メモリ
【図１】
2018073888.tif 000003
【図２】
2018073888.tif 000004
【図３】
2018073888.tif 000005
【図４Ａ】
2018073888.tif 000006
【図４Ｂ】
2018073888.tif 000007
【図４Ｃ】
2018073888.tif 000008
【図４Ｄ】
2018073888.tif 000009
【図４Ｅ】
2018073888.tif 000010
【図４Ｆ】
2018073888.tif 000011
【図４Ｇ】
2018073888.tif 000012
【図４Ｈ】
2018073888.tif 000013
【図４Ｉ】
2018073888.tif 000014
【図４Ｊ】
2018073888.tif 000015
【図４Ｋ】
2018073888.tif 000016
【図４Ｌ】
2018073888.tif 000017
【図４Ｍ】
2018073888.tif 000018
【図４Ｎ】
2018073888.tif 000019
【図４Ｏ】
2018073888.tif 000020
【図５】
2018073888.tif 000021
【国際調査報告】
2018073888.tif 000022
2018073888.tif 000023