(57)【特許請求の範囲】
【請求項１】
試料中の粒子を撮像した画像の各画素の濃度情報が２値信号に変換された２値画像に基づいて、その２値画像における粒子領域に位置する各画素について、周囲を取り囲む近傍画素の２値信号の値を示す近傍画素状態値を取得するとともに、粒子領域の頂点に位置する第１画素の座標を求め、その座標に位置する第１画素を始点とし、第１画素の近傍画素状態値を参照して次に連接すべき第２画素を決定し、第１画素から第２画素に連接する方向を示す第１絶対連接方向値に基づいて第２画素の近傍画素状態値を正規化し、正規化された近傍画素状態値を参照して次に連接すべき方向を示す相対連接方向値を求め、第１絶対連接方向値と前記相対連接方向値とから次に連接すべき方向を示す第２絶対連接方向値を算出することにより、次に連接すべき第３画素を決定し、これを粒子の境界に位置する各画素について繰り返すことにより粒子の境界を追跡する粒子の境界決定方法。
【請求項２】
試料中の粒子を撮像した画像の各画素の濃度情報を２値信号に変換する２値化部と、
２値化部により得られた２値画像に基づいて、その２値画像における粒子領域に位置する各画素について、周囲を取り囲む近傍画素の２値信号の値を示す近傍画素状態値を取得する画素抽出部と、
粒子領域の頂点に位置する第１画素の座標を求める座標抽出部と、
座標抽出部で得られた座標に位置にする第１画素を始点とし、画素抽出部によって取得された第１画素の近傍画素状態値を参照して次に連接すべき第２画素を決定し、第１画素から第２画素に連接する方向を示す第１絶対連接方向値に基づいて第２画素の近傍画素状態値を正規化し、正規化された近傍画素状態値を参照して次に連接すべき方向を示す相対連接方向値を求め、第１絶対連接方向値と前記相対連接方向値とから次に連接すべき方向を示す第２絶対連接方向値を算出することにより、次に連接すべき第３画素を決定し、これを粒子の境界に位置する各画素について繰り返すことにより粒子の境界を追跡するエッジトレース部とを備えてなる粒子の境界決定装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、画像中の物体の輪郭をトレースする物体の境界決定方法および装置に関し、さらに詳しくは、例えば血球や細胞などの粒子を、顕微鏡を介してビデオカメラ等で撮像して画像メモリに取り込み、この取り込んだ画像中の粒子領域の境界を画像処理によって決定する物体の境界決定方法および装置に関する。
【０００２】
【従来の技術】
一般に、物体の形状を知ることにより、その物体の特徴や傾向を知ることができる。例えば、血液や尿中に含まれる血球や細胞の形状により、体の状態を知ることが可能である。このため、血球や細胞（通常「粒子」と呼ぶ）をビデオカメラ等で撮像し、画像処理によって血球や細胞の形状を解析することが行われている。この解析では、粒子の輪郭（エッジまたは境界ともいう）を追跡（トレース）することにより、粒子の周囲長や面積などの特徴量を算出し、どのような形状をしているのかを数値的に把握するようにしている。
【０００３】
画像中のある領域の境界に注目し解析する手法としては、従来、例えば特公平５−７１９９１号公報に記載の「物体の境界の決定方法及び装置」や、特聞昭６３−３０１３７２号公報に記載の「画像処理装置」などが知られている。
【０００４】
特公平５−７１９９１号公報に記載の方法では、図２７に示すように、以下の方法で画像処理を行い、物体の境界を追跡するようにしている。
ステップｌ：血球や細胞などの物体を撮像し、撮像した画像をＡ／Ｄ変換し、各画素の輝度を多値画像（グレースケール）としてフレーム（画像）メモリに取り込み記憶する。これを第１表示とする。
【０００５】
ステップ２：物体と背景とを区別するためのしきい値を設定し、そのしきい値により、多値画像を２値画像に変換し、別のフレームメモリに記憶する。これを第２表示とする。
【０００６】
ステップ３：２値画像において、着目する画素とその周囲８方向に隣接する８画素の値を取り出し、ルックアップテーブルで変換し、これを別に用意したフレームメモリに蓄える。これを第３表示とする。これにより、物体の輸郭部分の画素のみに非“０”の値を持たせ、物体の内部および外部の画素には“０”の値を持たせる。
【０００７】
ステップ４：第３表示画像をラスタースキャンし、非ゼロ値の画素を探索する。いったん非ゼロ値の画素を見つければ、その値とその画素に到達するために進行してきた方向をパラメータとしてルックアップテーブルを参照し、次に進むべき画素の方向を決定する。境界部分の画素を追跡する度にその画素に対応する第３表示のメモリの内容をゼロクリアする。第３表示のメモリで次に連接（チェーン）する画素の内容が非ゼロである間、境界部分の画素を追跡し、次に連接する画素の内容がゼロであれば、全ての境界部分の画素を追跡し終わったものとみなし、境界の迫跡を終了する。このようにして物体の境界を追跡し、最終的にチェーンコードを得る。
【０００８】
また、特開昭６３−３０１３７２号公報に記載の方法では、以下の方法で画像処理を行い、物体の境界を追跡するようにしている。
上記ステップ１〜３までは特公平５−７１９９１号公報に記載の方法とほぼ同じで、ステップ３から得た第３表示の画素値に対し、前の画素の方向をｋとした場合、ｋ＋２審目の桁（ｋが奇数）、あるいはｋ＋３審目の桁（ｋが偶数）からｋが増加する方向にチェーン方向を探索し、最初に見つかる「１」となった桁をチェーンコードとして、境界を追跡するようにしている。
【０００９】
従来においては、このような方法で画像処理を行って境界の追跡を行うようにしていた。
【００１０】
【発明が解決しようとする課題】
しかしながら、上記特公平５−７１９９１号公報に記載のエッジトレースの方法は、ルックアップテーブルを多用しており、論理回路の規模としては比較的大きく、またルックアップテーブルに用いるＰＲＯＭは論理素子としては比較的低速であるため、境界点追跡回路の高速化、低価格化が図りにくいという問題があった。
【００１１】
また、特開昭６３−３０１３７２号公報に記載のエッジトレースの方法は、トレース方向の探索のために数ステップを必要とし、処理の高速化が困難であるという問題があった。
【００１２】
この発明は、このような事情を考慮してなされたもので、顕微鏡などを経てビデオカメラで撮像した物体の画像の輪郭の追跡を、高速かつ少ない回路規模で行うことができるようにした物体の境界決定方法及び装置を提供するものである。
【００１３】
【課題を解決するための手段】
この発明の粒子の境界決定方法は、試料中の粒子を撮像した画像の各画素の濃度情報が２値信号に変換された２値画像に基づいて、その２値画像における粒子領域に位置する各画素について、周囲を取り囲む近傍画素の２値信号の値を示す近傍画素状態値を取得するとともに、粒子領域の頂点に位置する第１画素の座標を求め、その座標に位置する第１画素を始点とし、第１画素の近傍画素状態値を参照して次に連接すべき第２画素を決定し、第１画素から第２画素に連接する方向を示す第１絶対連接方向値に基づいて第２画素の近傍画素状態値を正規化し、正規化された近傍画素状態値を参照して次に連接すべき方向を示す相対連接方向値を求め、第１絶対連接方向値と前記相対連接方向値とから次に連接すべき方向を示す第２絶対連接方向値を算出することにより、次に連接すべき第３画素を決定し、これを粒子の境界に位置する各画素について繰り返すことにより粒子の境界を追跡することを特徴とするものである。
【００１４】
この発明によれば、物体の境界の追跡に際しては、物体領域の頂点に位置する画素を始点とし、物体の境界に位置する画素の連接してきた方向を基準とする相対連接方向値を求めることにより次に連接する方向の絶対連接方向値を算出するようにしているので、従来のルックアップテーブルを用いる方法と比較して、物体の画像の境界の追跡を、高速かつ少ない回路規模（高集積化）で行うことが可能となる。
【００１５】
【発明の実施の形態】
この発明の物体の境界決定方法において、処理対象である画像はカメラなどで物体を撮像することにより得られる。このカメラとしては、撮像した物体の画像を電気信号に変換して出力することが可能なものであればよく、ＣＣＤ（電荷結合素子）を用いた通常のビデオカメラを適用することができる。
【００１６】
このように、カメラとして通常のビデオカメラを適用すれば、撮像した画像は複数の画素をスキャンしたアナログ映像信号として得られる。したがって、アナログ映像信号をグレースケール（多値画像）で表したディジタル信号への変換、ディジタル信号の２値信号への変換、２値信号の近傍画素状態値への変換、および連接方向値の算出は、ＣＰＵ，ＲＯＭ，ＲＡＭ，Ｉ／Ｏポートからなるマイクロコンピュータを備えた画像処理装置（イメージプロセッサ）で行うことができる。
【００１７】
上記構成においては、次に連接する方向の絶対連接方向値を、前に連接してきた方向の絶対連接方向値に相対連接方向値を加えることにより算出することができる。
【００１８】
また、この発明の物体の境界決定装置は、物体を撮像した画像の各画素の濃度情報を２値信号に変換し物体領域を抽出する２値化部と、得られた２値画像に対し、物体領域に位置する画素についてそれら各画素が周囲の２値信号に応じた値を持つような近傍画素状態値に変換する画素抽出部と、物体領域の頂点に位置する画素の座標を求める座標抽出部と、上記座標抽出部で得られた座標に位置する画素を始点とし、上記画素抽出部によって変換された近傍画素状態値を参照しながら物体の境界に位置する画素の連接してきた方向を基準とする相対連接方向値を求めることにより次に連接する方向の絶対連接方向値を算出し、これを境界に位置する各画素について繰り返すことにより物体の境界を追跡するエッジトレース部を備えてなることを特徴とする。
【００１９】
以下、図面に示す実施例に基づいてこの発明を詳述する。なお、これによってこの発明が限定されるものではない。
【００２０】
図ｌはこの発明の物体の境界決定方法の実施に直接使用する物体の境界決定装置の構成を示すブロック図である。
【００２１】
この物体の境界決定装置は、測定する対象物１を撮像するビデオカメラ２と、イメージプロセッサ（画像処理装置）３と、マイクロコンピュータ４と、ＣＲＴディスプレイ装置５と、外部記憶装置６から構成されている。
【００２２】
イメージプロセッサ３は、デジタイザ７と、コンパレータ８と、２値画像保持メモリ９と、画素抽出部（ここでは８近傍画素抽出フィルタ１０と８近傍画素メモリ１１）と、エッジトレース部１２と、特徴量抽出部１３とから構成されている。
【００２３】
測定する対象物１は、例えばイメージングフローサイトメータ等を流れる血球や尿に合まれる細胞などの粒子である。
イメージングフローサイトメータとは、血液や尿などを希釈した試料液（サンプル液ともいう）をフローセルと呼ばれる透明な管中に導いて試料流（サンプル流ともいう）を形成し、この試料流に対しストロボ光やパルスレーザ光のようなパルス光を照射して、血液中に合まれる血球や尿中に合まれる細胞のような粒子（被検粒子と称すこともある）をビデオカメラで撮像する装置であり、本実施例では図示していないが、対象物１をビデオカメラ２で撮像する場合、このような方法で撮像することが可能である。
【００２４】
ビデオカメラ２は、市販のビデオカメラであり、イメージングフローサイトメ一タを流れる血球や細胞等の対象物１を、顕撒鏡を介して撮像する。このようなビデオカメラ２には、画素数に対応する多数のＣＣＤが光電変換素子として用いられており、ビデオカメラ２は、このＣＣＤにより対象物ｌの画像を光電変換して、ＥＩＡ準拠のアナログ映像信号を出力する。
【００２５】
デジタイザ７は、ビデオカメラ２からのアナログ映像信号をＡ／Ｄ変換する。すなわち、アナログ映像信号を、各画素の輝度（光強度）を例えば０〜２５５までの２５６段階のデジタルの８ビット信号で表した多値画像（グレースケール）に変換し、これをラスタースキャン（線順次走査）の様式で順次出力する。多値画像の値については後ほど詳述する。
【００２６】
このようにしてデジタイザ７から出力される情報は、対象画像の各画素の濃度情報といえるものであり、この情報が、以下に述べる２値化部、画像抽出部、座標抽出部、エッジトレース部で処理されることにより、物体の境界が追跡される。
【００２７】
２値化部は、例えばコンパレータ８と２値画像保持メモリ９とから構成される。
コンパレータ８は、グレースケールのディジタル信号を、名画素毎に、粒子を“ｌ”、背景を“０”とする２値のレベルに振り分け、この２値信号をラスタースキャンの様式で順次出力する。すなわち、グレースケールに変換された粒子などの対象画像の輝度ヒストグラムをあらかじめ解析しておき、背景と粒子とが好適に分離されるしきい値を求めておく。そして、コンパレータ８にこのしきい値をセットし、粒子を“ｌ”、背景を“０”とする２値に振り分ける。この振り分けは、粒子を“０”、背景を“１”とするものであってもよい。
【００２８】
２値画像保持メモリ９は、粒子と背景とに２値化された画像を保持するメモリであり、着目画素およびその着目画素の周囲８画素の２値化情報（１か０かの情報）をラスタースキャンの様式で順次出力する。２値画像保持メモリ９の記憶内容については後ほど詳述する。
【００２９】
画素抽出部は、例えば８近傍画素抽出フィルタ１０と８近傍画素メモリ１１とから構成される。
８近傍画素抽出フィルタｌ０は、２値画像の全画素を順次着目画素とし、その着目画素の周囲の８近傍画素の２値について論理演算を行い、粒子の内部と外部の画素については“０”の値を持ち、粒子の境界にある画素については非“０”の値を持つような８ビットデータ（１バイトすなわち１ワードのデータ）を、ラスタースキャンの様式で順次出力する。
【００３０】
８近傍画素メモリ１１は、画像入力時における動作と、エッジトレース時における動作との２状態の動作モードを有しており、画像入力時には、８近傍画素状態値（上述した“０”または“８ビットデータ”の値）がラスタースキャンの様式で順次入力される。すなわち、前ステージの８近傍画素抽出フィルタ１０から８近傍画素状態値がラスタースキャンの様式で順次出力されるので、これを受けてこの８近傍画素状態値を保持する。また、エッジトレース時には、次ステージのエッジトレース部１２が粒子の境界に沿って指示するアドレスに保持されている８近傍画素状態値を出力する。
【００３１】
エッジトレース部１２は、８近傍画素メモリ１１の内容を参照しながら粒子のエッジ（境界または輪郭ともいう）を画素単位でトレース（追跡）し、粒子の境界が表す連接コード（チェーンコード）を出力する。このトレースの方法については後程詳述する。
【００３２】
特徴量抽出部１３は、前ステージのエッジトレース部１２が出力する粒子の境界が表すチェーンコードから、粒子の周囲長や面積等の特徴量を求めて出力する。
【００３３】
マイクロコンピュータ４は、イメージプロセッサ３の各要素を適切に制御する。また周囲長や面積のような特徴量を粒子ごとに一時記憶し、統計処理を施し、ＣＲＴディスプレイ装置５に出力する。
ＣＲＴディスプレイ装置５は、この統計処理の結果を表示する。
物体の境界決定等の制御プログラムは、マイクロコンピュータ４の主メモリ上で実行される。
【００３４】
本発明において外部記憶装置６が設けられていてよい。
外部記憶装置６は、マイクロコンピュータ４を制御するためのプログラム、すなわち本発明の物体の境界決定装置をマイクロコンピュータ４によって制御するためのプログラムを記憶することができる。また、イメージブロセッサ３で得られた粒子の特徴量や統計処理の結果を記憶することができる。
【００３５】
この外部記憶装置６は、ハードディスクにデータの書き込みや読み出しを行うハードディスク装置や、フロッピーディスクにデータの書き込みや読み出しを行うフロッピーディスク装置であってもよいし、回線を通じて接続されたファイルサーバのような他の装置と共用の記憶装置であってもよい。
物体の境界決定の制御プログラムが、この外部記憶装置６からローディングされた後、マイクロコンピュータ４の主メモリ上で実行されてよい。
【００３６】
次に、上記８近傍画素抽出フィルタ１０の処理について詳述する。８近傍画素抽出フィルタ１０の処理では、１ラスタースキャンの走査時間の間に以下のような論理演算を行う。
【００３７】
図２に示すように、中心の着目画素n8に対し、３時の方向から反時計周りに８近傍画素n0，n1，n2，n3，n4，n5，n6，n7を定義し、８近傍画素メモリ１１の着目画素n8に対応する位置に以下の論理式の演算結果ａを８ビットデータとして記憶する。
【００３８】
ａ＝n8＆（n0♯n1♯n2＃n3＃n4＃n5＃n6＃n7）＆nj
（ただし、＃は論理和、＆は論理積、！は否定、njは“n7n6n5n4n3n2n1n0”のバイナリー表示を表す）
【００３９】
具体的には、n8と、（n0♯n1＃n2＃n3＃n4♯n5♯n6＃n7）と、njのアンド（論理積）をとっており、以下の意味を持っている。
右辺の第ｌ項は着目画素が粒子領域、すなわち粒子の境界または内部にあるか否かを表し、第２項は着目画素の周囲に“１”となる画素があるか否かを表し、第３項は着目画素の周囲８画素の状態をを表している。
【００４０】
つまり、着日画素が“０”であれば、これは背景とみなして８近傍画素の値に関係なくａを“０”とする。着目画素が“１”であっても、８近傍画素が全て“０”であれば、これは粒子ではなく塵等とみなしてａを“０”とする。
【００４１】
結局、上記のような論理条件下で“０”にならない画素が、粒子の境界および内部に位置する画素とみなされる。したがって、背景の画素だけが“０”の値を持ち、粒子の境界および内部に位置する画素はａ＝njの値、つまり非“０”の値を持つことになる。このように、着目画素が粒子の境界および内部に位置する場合には、その着日画素の周囲の８近傍画素状態値（１か０かの２値）が８近傍画素メモリ１１の着目画素に対応する位置に８ビットデータで保持される。
【００４２】
例えば、着目画素n8を合む８近傍画素nj（j＝０〜７）図３に示すような２値状態であれば、njは“n7n6n5n4n3n2n1n0”すなわち“11111000”となり、８近傍画素メモリ１１の着目画素n8に対応する位置には、（11111000）Bの値、つまり0x“Ｆ８”の値が記憶される。ただし“（  ）B”は２進数（バイナリーコード）であることを示す記号であり、“0x”または“（  ）H”は１６進数（ヘキサコード）であることを示す記号である。
【００４３】
このようにして、２値化後の画像に対して上記のような手法で画像に合まれる粒子を抽出し、粒子の境界および内部に位置する画素の周囲の状況を８近傍画素状態値として保持しておくことにより、後述するようなより少ない回路規模でエッジトレースを実現する。
【００４４】
なお、上記の論理式において、右辺に！（n0＆n2＆n4＆n6）の項を加えて、粒子の境界に位置する画素だけを抽出するようにしてもよい。すなわち、論理式を
ａ＝n8＆（n0♯n1♯n2＃n3＃n4♯n5♯n6♯n7）＆！（n0＆n2＆n4＆n6）＆njとし、n8と、（n0♯n1＃n2♯n3♯n4＃n5＃n6♯n7）と、！（n0＆n2＆n4＆n6）と、njのアンド（論理積）をとるようにしてもよい。
【００４５】
このようにした場合には、！（n0＆n2＆n4＆n6）の条件を加えることができる。つまり、着目画素が“１”で、８近傍画素のいずれか１つが“ｌ”であっても、８近傍画素の内の時計方向に３時と１２時と９時と６時の方向の近傍画素が“１”であれば、これは粒子の内部とみなしてａを“０”とすることができる。
【００４６】
したがって、この場合には、粒子の境界でない画素、つまり粒子の外部と内部の画素は“０”の値を持ち、粒子の境界画素だけがａ＝njの値、つまり非“０”の値を持つことになる。これにより、着目画素が粒子の境界に位置する場合にだけ、その着目画素の周囲の８近傍画素状態値（ｌか０かの２値）が８近傍画素メモリ１１の着目画素に対応する位置に８ビットデータで保持されることになる。
【００４７】
次ステージのエッジトレース部１２では、粒子の境界に位置する画素だけをトレースしてゆくので、粒子の内部の画素が８近傍画素状態値を持っていても“０”であっても影響はないが、粒子の内部を“０”にして、粒子の境界に位置する画素だけに８近傍画素状態値を与えるようにすることにより、エッジトレース時に、連接する方向の誤りを防止することができる。
【００４８】
図４はエッジトレース部１２の詳細構成を示すブロック図である。
この図に示すように、エッジトレース部１２は、Ｘアドレスカウンタ２１と、Ｙアドレスカウンタ２２と、８近傍画素正規化器２３と、第１論理演算器２４と、加算器２５と、絶対方向レジスタ２６と、第２論理演算器２７から構成されており、絶対方向レジスタ２６からチェーンコード２８を出力する。
【００４９】
Ｘアドレスカウンタ２１とＹアドレスカウンタ２２は、８近傍画素メモリ１１のデータを読み出す擦に、どの位置のデータを読み出すのかを指定するアップダウンカウンタであり、読み出す画素の座標値を指定するものである。Ｘアドレスカウンタ２１は横方向に相当するＸ方向の値を指定し、Ｙアドレスカウンタ２２は縦方向に相当するＹ方向の値を指定する。粒子の境界をトレースする場合には、このＸアドレスカウンタ２１とＹアドレスカウンタ２２から指示を与えて、次に連接する境界画素のアドレスにある８近傍画素状態値を８近傍画素メモリ１１から読み出す。
【００５０】
８近傍画素メモリ１１は、上述したように、画像入力時に、ラスタースキャンの様式で前ステージにあたる８近傍画素抽出フィルタ１０の出力結果を２次元型画像データとして保持している。その後、エッジトレース時に、Ｘアドレスカウンタ２１とＹアドレスカウンタ２２で指示されたアドレスの８近傍画素状態値を出力する。
【００５１】
８近傍画素正規化器２３は、８近傍画素メモリ１１に記憶された８近傍画素状態値のビット配置“n7n6n5n4n3n2n1n0”を、絶対方向レジスタ２６の値を基準として並べ替え、正規化近傍画素値として出力する。この並び替え（正規化）方法については後述する。
【００５２】
第１論理演算器２４は、８近傍画素正規化器２３から出力される正規化近傍画素値をn0，n1，n2，n3，n6，n7とすれば、以下の演算を行う。
【００５３】
d2＝（！n0＆！n1＆！n2＆！n3）＃n6＃n7；
d1＝（！n0＆！n1＆n2）＃（！n0＆！n1＆n3）＃n6＃n7；
d0＝（！n0＆n1＆！n6）＃（！n0＆！n2＆n3＆！n6）♯（！n6＆n7）；
（ただし＃は論理和、＆は論理積、！は否定を表す。）
【００５４】
この演算によって得られたd2，d1，d0の値（d2d1d0）Bが次の境界の相対連接方向を示すものとなり、第１論理演算器２４は、このd2，d1，d0の値を相対連接方向値として出力する。ここで、d2，d1，d0の右辺にはn4とn5が合まれていないが、これはn4とn5が相対連接方向値の算出には不要なデータであることを示している。
【００５５】
連接方向を説明するため、図５に（d2d1d0）Bの２進数で示す方向とこれを１０進数に変換した方向とを示す。着目画素から連接する方向は８方向であるため、方向は、時計の３時の方向を“０”とし、反時計回りに０〜７の数値で示している。このような方向を示す数値を連接コードという。
【００５６】
例えば、（d2d1d0）Bが（０１１）Bであれば連接方向は“３”の方向であり、（d2d1d0）Bが（０１０）Bであれば連接方向は“２”の方向である。ただし、この第ｌ論理演算器２４から出力される値は、絶対方向レジスタ２６の値を基準とした相対連接方向値である。
【００５７】
加算器２５は、第ｌ論理演算器２４から出力された相対連接方向値と、絶対方向レジスタ２６に記憶されている絶対連接方向値とを加算し、これを次の境界の絶対連接方向値として出力する。この加算器２５は３ビット加算器であり、０００〜１１１までの８通りの値しかとらない。
【００５８】
例えば、絶対方向レジスタ２６に（０１１）B＝３が記憶されており、上記の論理式で求めた（d2d1d0）Bが（０１０）B＝２であれば、加算器２５の出力は（０１１）B＋（０１０）B＝（１０１）Bとなり、次の境界の絶対連接方向値は“５”の方向となる。
【００５９】
また、例えば、絶対方向レジスタ２６に（１０１）B＝５が記憶されており、上記の論理式で求めた（d2d1d0）Bが（１１１）B＝７であれば、加算器２５の出力は、３ビットだけであるため、（ｌ０１）B＋（１１１）B＝（１００）Bとなり、次の境界の絶対連接方向値は“４”の方向となる。
絶対方向レジスタ２６は、この加算器２５から出力された次の境界の絶対連接方向値を保持する。
【００６０】
チェーンコード２８は、絶対方向レジスタ２６の出力するデータ系列であり、このような境界の絶対連接方向値のデータ系列を粒子の境界のチェーンコードとして用い、次ステージで粒子の特徴量を算出する。
【００６１】
第２論理演算器２７は、次の境界の絶対連接方向値よりＸアドレスカウンタ２１とＹアドレスカウンタ２２に、図６に示すような増減値を指示する。すなわち、絶対連接方向値が“０”であれば、座標値として（Ｘ，Ｙ）＝（＋１，０）を、“１”であれば（＋１，＋１）を、“２”であれば（０，＋１）を、“３”であれば（−１，＋１）を、“４”であれば（−１，０）を、“５”であれば（−１，−１）を、“６”であれば（０，−ｌ）を、“７”であれば（＋ｌ，−１）を、それぞれ増減値として指示する。
【００６２】
次に、上記８近傍画素正規化器２３の処理について詳述する。すなわち、８近傍画素メモリ１１に記憶された８近傍画素状態値のビット配置を、前に連接する方向を起点として並び替え、正規化し、次の連接ゴードに変換する過程について具体的に説明する。
【００６３】
図７の（ａ）〜（ｈ）に一例を示すように、着目画素に対して周囲８方向に隣接する８個の近傍画素の関係は、多くは４回対称、場合によって８回対称となる。例えば、図７（ａ）の８近傍画素状態値のビット配置を反時計方向に１つシフトさせると図７（ｂ）のビット配置となる。同様に、図７（ｂ）を１つシフトさせると図７（ｃ）に、図７（ｃ）をｌつシフトさせると図７（ｄ）に、図７（ｄ）を１つシフトさせると図７（ｅ）に、図７（ｅ）を１つシフトさせると図７（ｆ）に、図７（ｆ）を１つシフトさせると図７（ｇ）に、図７（ｇ）を１つシフトさせると図７（ｈ）になる。
【００６４】
このように、図７の（ａ）〜（ｈ）の例では、着目画素に対して隣接する８個の近傍画素の関係は８回対称となり、この対称性に着目して論理圧縮を施すと、エッジトレースを行う際の次の連接方向の算出に必要な論理回路の規模をｌ／４〜１／８に削減する事が可能である（４〜８倍の集積化が可能である）。
【００６５】
このような論理回路の規模の削減のため、８近傍画素正規化器２３では、以下のようにして８近傍画素状態値のビット配置をシフトさせる。
例えば、８近傍画素状態値のビット配置が図８に示す配置であるとすれば、中央の空白部分の着目画素に対して連接してきた方向が“０”の方向、つまり前連接コードが“０”であれば、図９（ａ）に示すように、８近傍画素状態値のビット配置をシフトさせずそのままとする。
【００６６】
また、前連接コードが“１”であれば、着目画素に対して“ｌ”の方向から反時計回りにｎ０〜ｎ７のビット値を取り出す（図９（ｂ）参照）。同様に、前連接コードが“２”であれば、着日画素に対して“２”の方向から反時計回りにn0〜n7のビット値を取り出し（図９（ｃ）参照）、前連接コードが“３”であれば、着目画素に対して“３”の方向から反時計回りにn0〜n7のビット値を取り出し（図９（ｄ）参照）、前連接コードが“４”であれば、着目画素に対して“４”の方向から反時計回りにn0〜n7のビット値を取り出し（図９（ｅ）参照）、前連接コードが“５”であれば、着目画素に対して“５”の方向から反時計回りにn0〜n7のビット値を取り出し（図９（ｆ）参照）、前連接コードが“６”であれば、着目画素に対して“６”の方向から反時計回りにn0〜n7のビット値を取り出し（図９（ｇ）参照）、前連接コードが“７”であれば、着目画素に対して“７”の方向から反時計回りにｎ０〜ｎ７のビット値を取り出す（図９（ｈ）参照）。
【００６７】
例えば、着自画素の８近傍画素が図１０に示すような２値である場合、正規化する前の着目画素の８近傍画素状態値は以下のような値である。すなわち、３時の方向から反時計回りにn0，n1，・・・，n7と順番に２値を当てはめるため、
（n7，n6，n5，n4，n3，n2，n1，n0）＝（1，1，1，0，0，0，0，0）
の値である。
【００６８】
この８近傍画素状態値において、着目画素に連接してきた方向、つまり前連接方向が“３”の方向（図中、矢印Ｒで示す）であったとすると、方向３で正規札した正規化近傍画素値は、図１１に示すように、着目画素から見て“３”の方向を基準にし、そこから反時計回りにn0，n1，・・・，n7と２値を取り出してゆくため、
（n7，n6，n5，n4，n3，n2，n1，n0）＝（0，0，0，1，1，1，0，0）
となる。
【００６９】
同様に、着目画素の８近傍画素が図１２に示すような２値である場合、正規化する前の着目画素の８近傍画素状態値は以下のような値である。
【００７０】
（n7，n6，n5，n4，n3，n2，n1，n0）＝（1，1，0，0，0，0，0，1）
この８近傍画素状態値において、前連接方向が“４”の方向（図中、矢印Ｒで示す）であったとすると、方向４で正規札した正規化近傍画素値は、図１３に示すように、
（n7，n6，n5，n4，n3，n2，n1，n0）＝（0，0，0，1，1，1，0，0）
となる。
【００７１】
このように、連接してきた方向に関して正規化を施せば、図１０で示した８近傍画素状態値と、図１２で示した８近傍画素状態値とは、着目画素に隣接する８画素の２値状態は異なっているにもかかわらず、同じ値となり、これは実は相対的にみれば、８近傍画素が同じ並び方であることを示している。したがって、このように相対的な連接方向を採用することにより、連接方向のパターンを大幅に減らすことができ、これにより、次ステージの第１論理演算器２４の論理回路の規模を大幅に圧縮することができる。
【００７２】
次に、８近傍画素正規化器２３からデータを受け取った場合の第ｌ論理演算器２４における処理について詳述する。
【００７３】
図１４は第１論理演算器２４における論理演算の真理値を示す説明図であり、８近傍画素正規化器２３から出力される正規化近傍画素値と、第１論理演算器２４から出力される相対連接方向値との関係を示している。
【００７４】
例えば、第１論理演算器２４から出力される正規化近傍画素値が前述のような（n7，n6，n5，n4，n3，n2，n1，n0）＝（0，0，0，1，1，1，0，0）であれば、これ0xｌＣであるので、相対連接方向値は“２”（０，ｌ，０）となり、境界の連接方向が、着自画素から反時計方向に９０°の方向に転進することを意味している。
【００７５】
このように、第１論理演算器２４は、８近傍画素正規化器２３から出力される正規化近傍画素値n0，n1，n2，n3，n6，n7から、上述した論理演算によって相対連接方向値d2，d1，d0を得るのであるが、８近傍画素を正規化しているために、図１４に示すように、正規化近傍画素値は１９種類のパターンに集約され、これによる相対連接方向値は０，１，２，３，４，６，７の７方向となり、極めて簡単な論理横算処理となる。
【００７６】
この相対連接方向値の０〜７の意味は、境界の連接する方向を意味する。すなわち、方向０は前連接方向と同じ方向に転進することを意味し、方向１は前連接方向に対して反峙計回りで４５°の方向に転進することを意味し、方向２は前連接方向に対して反時計回りで９０°の方向に転進することを意味し、方向３は前連接方向に対して反時計回りで１３５°の方向に転進することを意味し、方向４は前連接方向に対して反時計回りで１８０。の方向に転進することを意味し、方向６は前連接方向に対して反時計回りで２７０°の方向に転進することを意味し、方向７は前連接方向に対して反時計回りで３１５°の方向に転進することを意味する。
【００７７】
参考のために説明すれば、相対連接方向値d2，d1，d0の出力には、“５”の値がない。これは、図１５（ａ）および図１６（ａ）に示すように、境界の前連接方向に対して２２５°転進することを意味するが、物体の境界を左回りにトレースする場合、図１５（ｂ）および図１６（ｂ）に示すように、２２５°転進することはできず、このため、相対連接方向値の出力には、“５”という値は存在しない。
【００７８】
なお、この“５”の方向と対称な“３”の方向ついては、図１７の（ａ）および（ｂ）に示すように、境界のトレース方向に対して１３５°転進することを意味し、この転進は可能である。
【００７９】
“４”の方向への転進については、１８０°の方向であるため、もとの方向へ戻ることとなるが、線状あるいは棒状の粒子であればこの方向への転進はあり得る。
【００８０】
以上述べたような論理演算により、エッジトレース部１２は、次に運接すべき画素を探索し、探索した画素の８近傍画素状態値が有効（非ゼロ）である限りその画素を追跡し、開始座標と一致するまで境界の追跡を続ける。
【００８１】
すなわち、エッジトレース部１２では、このように、着目画素の直前の連接方向を起点として、８近傍画素状態値を並び替えて正規化し、次に連接する方向を絶対角度ではなく前の運接方向に対する相対角度として出力するようにしているので、従来のルックアップテーブルによる方法よりも大帽に少ない論理規模で境界を追跡することができ、したがって、そのための論理回路もゲートアレイ等で容易に集積することができる。
【００８２】
このような構成における物体の境界決定装置の勤作を、図１８に示すフローチャートを交えて説明する。
まず、マイクロコンピュータ４は、対象物である、血液中に合まれる血球や尿中に合まれる細胞のような粒子をビデオカメラ２で撮像する。撮像した粒子のアナログ映像信号はイメージプロセッサ３に入力される。
【００８３】
イメージプロセッサ３では、デジタイザ７により、アナログ映像信号をＡ／Ｄ変換する。
図１９はグレースケール画像の一例を示す説明図であり、Ａ／Ｄ変換した０〜６４までの６５段階のグレースケール画像を示したものである。デジタイサ７は、これをラスタースキャンの様式で順次出力する。
【００８４】
次に、コンパレータ８により、グレースケール画像を２値のレベルに振り分け、２値画像保持メモリ９に記憶する。
図２０は２値画像保持メモリ９の記憶内容の一例を示す説明図であり、グレースケール画像を“２５”のしきい値で２値化したものである。
【００８５】
次に、８近傍画素抽出フィルタ１０により、着目画素の周囲の８近傍画素の２値について論理演算を行って８近傍画素状態値を算出し、これを８近傍画素メモリ１１に記億する。
【００８６】
図２１は８近傍画素メモリｌｌの記憶内容の一例を示す説明図であり、背景を“０”とし、粒子の境界と内部を非“０”とした場合を示すものである。
ここまでは、画像入力時の動作であり、以後はエッジトレース時の動作となる。
【００８７】
エッジトレース時には、エッジトレース部１２により、８近傍画素メモリ１１の内容を参照しながら粒子のエッジを画素単位でトレースし、連接コードを出力する。次に、特徴量抽出部１３により、連接コードから粒子の周囲長や面積等の特徴量を求める。
【００８８】
ここで、エッジトレース時の処理動作について、図１８のフローチャートに従い詳述する。
まず、エッジトレースの始点を決める必要がある。そのためマイクロコンピュータ４は、まず、２次元型データを持つ８近傍画素メモリ１１を、図２２の矢印Ｔで示すように、左上から右下の方向ヘラスタースキャンの様式で順次アクセスし、非“０”の点（画素）を探索する（ステップＳｌ）。図２２では、（Ｅ０）Hの値を持つ点Ａが探索される。
【００８９】
次に、ラスタースキャンで最初に見つけた（Ｅ０）Hの値を持つ点Ａの座標、すなわちＸ，Ｙアドレスをスタートアドレス（Ｓｘ、Ｓｙ）とし、その値をスタートアドレスレジスタと、Ｘ，Ｙアドレスカウンタ２１，２２にセットする（ステップＳ２）。
なお、スタートアドレスレジスタはＸ，Ｙアドレスカウンタ２１，２２内にあらかじめ設けておく。
【００９０】
次に、Ｘ，Ｙアドレスカウンタ２１，２２の示すアドレスに従って、８近傍画素メモリ１１から着目画素の８近傍画素の状態を読み出し、この８近傍画素の状態から、着目画素の前の連接コードを予測し、絶対方向レジスタ２６にセットする（ステップＳ３）。なお、この最初の着目画素への前の連接コードの予測は、従来の方法にて行う。
【００９１】
この従来の方法では、例えば、連接方向と連接コードを図５に示したように定義し、８近傍画素メモリ１１から得た着目画素の８近傍画素の状態が（Ｅ０）H＝（1，1，1，0，0，0，0，0）Bであれば、着目画素の近傍画素の状態は、図２３に示したものとなるので、これから、図中の矢印で示すように、前の連接方向を“３”の方向と予測し、この値“３”を絶対方向レジスタ２６にセットする。
【００９２】
次に、８近傍画素正規化器２３により、絶対方向レジスタ２６の値を基準にして、８近傍画素メモリ１１から読み出した着目画素の８近傍画素を並べ替え、正規化する（ステップＳ４）。
【００９３】
例えば、図２４に示すように、８近傍画素の状態が（Ｅ０）H＝（1，1，1，0，0，0，0，0）Bであるものを、絶対方向レジスタ２６の値“３”の方向を起点として並ベ替えると、（0，0，0，1，1，1，0，0）Bとなる。なお、この並べ替え処理は、従来公知のマルチプレクサを設けておくことにより容易に実現できる。
【００９４】
次に、この８近傍画素正規化器２３から出力された正規化近傍画素値を第１論理演算器２４に入力し、図１４に示したような相対連接方向値を得る（ステップＳ５）。
【００９５】
例えば（n7，n6，n5，n4．n3，n2，n1，n0）として（0，0，0，1，1，1，0，0）Bすなわち0x１Ｃを入力すると、出力（d2，d1，d0）は（０，１，０）となる。つまり次に連接する境界の相対連接方向値は“２”（ｌ０進数）の方向となる。
【００９６】
次に、絶対方向レシスタ２６の値と第１論理演算器２４の出力である相対連接方向値とを加算器２５で加算し、その値を次の境界の絶対連接方向値として、絶対方向レジスタ２６に記憶する（ステップＳ６）。加算器２５は３ビット加算器であるので、連接コードが１０進数で“８”以上になる場合は、８の剰余が絶対連接方向値となる。
【００９７】
例えば、絶対方向レジスタ２６の値が“３”であり、加算器２５から出力された相対連接方向値が“２”であれば、３＋２＝５で、次の境界の絶対連接方向値は“５”となる。次のクロックでこの値が絶対方向レジスタ２６にセットされる。
【００９８】
このように、次の境界の絶対連接コードは、前の境界の絶対連接コードに、前の境界の絶対連接コードと次の境界の絶対連接コードとの差分（相対値）を加算した結果となる。
【００９９】
次に、絶対方向レジスタ２６に記憶した絶対連接方向値を、第２論理回路２７で、図６に示したような増減値に変換し、この増減値をＸ，Ｙアドレスカウンタ２１，２２に指示する（ステップＳ７）。
【０１００】
例えば、絶対方向レジスタ２６の値が、上述したように“５”であれば、Ｘ，Ｙの増減値は（−１，−１）となり、この値をＸ，Ｙアドレスカウンタ２１，２２に指示する。これにより、境界の追跡は、図２５の矢印で示すように、相対連接方向値“２”の方向へ転進するため、次の境界画素は、（Ｅ３）Hの値を持つ点Ｂとなる。
【０１０１】
次に、スタートアドレスレジスタに保存しておいた、粒子の境界の追跡を始めたスタートアドレス（Ｓｘ、Ｓｙ）と、Ｘ．Ｙアドレスカウンタ２１，２２の示すアドレスとを比較する（ステップＳ８）。
【０１０２】
ここで、Ｘ，Ｙアドレスカウンタ２１．２２の示すアドレスがスタートアドレス（Ｓｘ、Ｓｙ）と異なっていれば、ステップＳ４に戻り、境界の画素の数だけステップＳ４からステッブＳ８までを繰り返す。
【０１０３】
ここでもし、Ｘ，Ｙアドレスカウンタ２１，２２の示すアドレスがスタートアドレス（Ｓｘ、Ｓｙ）と一致していれば、図２６に示すように、粒子の境界を一周したことになるので、エッジトレースを中止する。エッジトレースを開始してから終了するまでの絶対方向レジスタ２６の値のデータ系列が、その粒子の境界を表すチェーンコードを示している。
【０１０４】
このようにして、８近傍画素状態値における境界追跡の方向を基準とした対称性に着目し、直前のチェーンコードを基準として８近傍画素状態値を並べ替えているので、最小限のパラメータ（６ビット）で次のチェーン方向を算出することができ、結果的に簡単な論理演算と加算器のみでチェーンコードを生成することが可能となる。そして、このように簡単な論理演算とランダム論理のみで境界の追跡が実現できるので、従来のマイクロプログラム論理方式と比較して、イメージプロセッサの高度な集積化（４倍以上の集積化）や、イメージ処理の大幅な高速化（５００万画素／秒以上の境界追跡能力）が可能となる。そして、これらのことが比較的小容量（数１０００ゲート）のＦＰＧＡ（フィールドプログラマブルゲートアレー）で実現することができた。
【０１０５】
ところで、本発明においては、図２に示すように座標抽出部（ここでは頂点座標検出部１４と頂点座標保持メモリ１５で表わす）を備え、それによってエッジトレースの始点を検出するようにすることが好ましい。以下説明する。
座標抽出部において、例えば、粒子の境界上のある一つの画素について“１”の値を持ち、他の画素については“０”の値を持つ１ビットデータを得ることができれば、その値が“１”となる場合の画素の座標を知ることができる。この座標情報はエッジトレース部１２によるエッジトレースの際に参照されることにより、エッジトレースの始点として有効利用され、さらなる処理の高速化や回路の集積化に貢献する。
【０１０６】
頂点座標検出部１４は、８近傍画素抽出フィルタｌ０が各着目画素の周囲の８近傍画素について論理演算する際に、その着目画素について別の論理演算を行う。すなわち、各着目画素n8に対して次のような粒子端検出フラグTIPを計算する。n0，n1，n2，n3，n4，n5，n6，n7，n8は図２に従うとする。n8は着目画素である。
TIP＝n8＆！n1＆！n2＆！n3＆！n4＆（n0♯n5♯n6＃n7）
【０１０７】
このフラグTIPの値は、n8が“１”であって、n1，n2，n3，n4が全て“０”であって、n0，n5，n6，n7のいずれかが“１”である場合に“１”となり、このときその着目画素n8は２値画像において右上、上、左上、左のいずれの側の画素にも連接せず、左下、下、右下、右のいずれかの側の画素には連接する画素となっている。すなわち粒子領域の左上端に位置する画素となっている。
図２０の２値画像の場合には、上から３段目、左から７番目の画素（これは図２２における点Ａである）についてフラグTIPが“１”となり、他の画素については“０”となる。
【０１０８】
このようにして、頂点座標検出部１４において、フラグTIPが“１”となるときの着目画素の座標（Ｓｘ，Ｓｙ）を検出する。この座標は頂点座標保持メモリ１５に記憶される。
【０１０９】
エッジトレース時の処理動作について、図１８を参照して説明する。
先の実施例では、８近傍画素メモリをラスタースキャンの様式でアクセスし非ゼロの値を持つ点を探索することによりその点の座標を見つけていたが（ステップＳ１）、本実施例ではラスタースキャン処理を行うことなく、頂点座標保持メモリ１５から出力された頂点座標（Ｓｘ，Ｓｙ）をスタートアドレスレジスタと、Ｘ，Ｙアドレスカウンタ２１，２２にセットするようにしており、このことによりエッジトレース時におけるさらなる処理の簡略化、高速化を図っている。
以降行われる処理、すなわち、８近傍画素メモリ１１の内容を参照しながら粒子のエッジ（境界または輪郭ともいう）を画素単位でトレース（追跡）し、粒子の境界が表す連接コード（チェーンコード）を出力する処理については同じである。
【０１１０】
【発明の効果】
この発明によれば、ビデオカメラなどで撮像した物体の境界の追跡に際し、物体領域の頂点に位置する画素を始点とし、物体の境界に位置する画素の連接してきた方向を基準とする相対連接方向値を求めることにより次に連接する方向の絶対連接方向値を算出するようにしたので、従来よりも論理回路の規槙を小さくすることができ、容易にゲートアレイなどに集積することが可能となる。また、これにより迅速な境界の追跡が可能となる。
【図面の簡単な説明】
【図１】この発明の物体の境界決定装置の構成を示すブロック図である。
【図２】着目画素に対する８近傍画素の定義を示す説明図である。
【図３】着目画素を合む８近傍画素の２値状態の一例を示す説明図である。
【図４】エッジトレース部の詳細構成を示すブロック図である。
【図５】連接方向を示す説明図である。
【図６】連接方向とＸ，Ｙアドレスカウンタの増減値との関係を示す説明図である。
【図７】着目画素に対する８近傍画素の対称性を示す説明図である。
【図８】８近傍画素状態値のビット配置を示す説明図である。
【図９】８近傍画素状態値をシフトさせた状態を示す説明図である。
【図１０】正規化前の８近傍画素状態値の一例を示す説明図である。
【図１１】正規化前の８近傍画素状態値の一例を示す説明図である。
【図１２】正規化前の８近傍画素状態値の一例を示す説明図である。
【図１３】正規化前の８近傍画素状態値の一例を示す説明図である。
【図１４】第１論理演算器いおける論理演算の真理値を示す説明図である。
【図１５】境界の前連接方向に対して２２５°転進する例を示す説明図である。
【図１６】境界の前連接方向に対して２２５°転進する例を示す説明図である。
【図１７】境界の前連接方向に対して１３５°転進する例を示す説明図である。
【図１８】エッジトレース時の処理動作を示すフローチャートである。
【図１９】グレースケール画像の一例を示す説明図である。
【図２０】２値画像保持メモリの記憶内容の一例を示す説明図である。
【図２１】８近傍画素メモリの記憶内容の一例を示す説明図である。
【図２２】８近傍画素メモリのラスタースキャンの様子を示す説明図である。
【図２３】着目画素が（Ｅ０）Hの８近傍画素状態値を示す説明図である。
【図２４】着目画素が（Ｅ０）Hの８近傍画素状態値を並べ替えた場合のビット配置を示す説明図である。
【図２５】８近傍画素メモリにおける境界の追跡状態を示す説明図である。
【図２６】粒子の境界を一周してエッジトレースを終了する状態を示す説明図である。
【図２７】従来の物体の境界追跡方法を示すブロック図である。
【符合の説明】
１    対象物
２    ビデオカメラ
４    マイクロコンピュータ
５    ＣＲＴディスプレイ装置
６    外部記憶装置
７    デジタイザ
８    コンパレータ
９    ２値画像保持メモリ
１０  ８近傍画素抽出フィルタ
１１  ８近傍画素メモリ
１２  エッジトレース部
１３  特徴抽出部
１４  頂点座標検出部
１５  頂点座標保持メモリ
２１  Ｘアドレスカウンタ
２２  Ｙアドレスカウンタ
２３  ８近傍画素正規化器
２４  第１論理演算器
２５  加算器
２６  絶対方向レジスタ
２７  第２論理演算器
２８  チェーンコード
【図１】
0004299908.tif 000002
【図２】
0004299908.tif 000003
【図３】
0004299908.tif 000004
【図４】
0004299908.tif 000005
【図５】
0004299908.tif 000006
【図６】
0004299908.tif 000007
【図７】
0004299908.tif 000008
【図８】
0004299908.tif 000009
【図９】
0004299908.tif 000010
【図１０】
0004299908.tif 000011
【図１１】
0004299908.tif 000012
【図１２】
0004299908.tif 000013
【図１３】
0004299908.tif 000014
【図１４】
0004299908.tif 000015
【図１５】
0004299908.tif 000016
【図１６】
0004299908.tif 000017
【図１７】
0004299908.tif 000018
【図１８】
0004299908.tif 000019
【図１９】
0004299908.tif 000020
【図２０】
0004299908.tif 000021
【図２１】
0004299908.tif 000022
【図２２】
0004299908.tif 000023
【図２３】
0004299908.tif 000024
【図２４】
0004299908.tif 000025
【図２５】
0004299908.tif 000026
【図２６】
0004299908.tif 000027
【図２７】
0004299908.tif 000028