JP4754118B2 - Labeling apparatus and labeling method - Google Patents

Labeling apparatus and labeling method Download PDF

Info

Publication number
JP4754118B2
JP4754118B2 JP2001242409A JP2001242409A JP4754118B2 JP 4754118 B2 JP4754118 B2 JP 4754118B2 JP 2001242409 A JP2001242409 A JP 2001242409A JP 2001242409 A JP2001242409 A JP 2001242409A JP 4754118 B2 JP4754118 B2 JP 4754118B2
Authority
JP
Japan
Prior art keywords
label
labeling
pixel
target pixel
region
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001242409A
Other languages
Japanese (ja)
Other versions
JP2003058895A (en
Inventor
肇 川野
勧 寸土
康一 脇谷
彰一 石井
典昭 湯川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2001242409A priority Critical patent/JP4754118B2/en
Publication of JP2003058895A publication Critical patent/JP2003058895A/en
Application granted granted Critical
Publication of JP4754118B2 publication Critical patent/JP4754118B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Analysis (AREA)

Description

【0001】
本発明は、画像データの連結領域を検出し、この連結領域に対してラベル付けを行うラベリング装置およびラベリング方法に関する。
【0002】
【従来の技術】
対象面を撮像した濃淡画像を2値化処理し、その2次元2値画像データから連結領域を検出し、この連結領域に対してラベル付けを行うラベリング技術は、例えば、電子機器分野で使用されるシャドウマスク、液晶パネル、CRTパネル、プラズマディスプレイパネルなどの表面に現れる欠陥を検査するような場合に適用されている。
【0003】
従来のラベリング方法について、図45の2値画像を用いて説明する。ここで、認識すべき連結領域の画素値を「1」とし、その周囲の画素値を「0」とする。図45の(a)において、X方向にスキャンしていき、最初のパターンRを画素値「1」により検出するとラベル番号=1を付与する。領域が連続する同一図形であれば同一のラベル番号を付与する。
【0004】
図45の(a)のように単純なパターンであればラベリングは容易であるが、図45の(b)に示すパターンSのような場合は処理が複雑になる。Y1ラインのスキャン時ではパターンが2個と判断され、それぞれラベル番号=2、ラベル番号=3とラベリングされる。そしてY2ラインのX1点のところで不具合が生じる。すなわちラベル番号=2とラベル番号=3にラベル付けされた領域は同じ領域であることが判明する。そこでもう一度始めに戻り再スキャンを行ない、ラベル番号=3にラベリングされた部分をすべてラベル番号=2に変換する処理が必要となる。
【0005】
このように再ラベリングを行い、Y2ラインのX1点から再び続きのラベリングをラベル番号=2として実行することになる。1回目のラベル付けを仮ラベリングという。ラベリングの途中で異なるラベル番号のパターンが合流した場合に、上記の例ではラベル番号=3をラベル番号=2に変換することになる。このように仮ラベリングを変換することをラベルの結合という。
【0006】
【発明が解決しようとする課題】
前述の例では1回のラベルの付け直しで良いが、実画像においては一般に複雑な画像となるため、複数回のラベルの付け直しが必要になり、ラベル付け直しのスキャン時間は長くなり、高速に処理することは困難となる。また、この処理を実用的な規模のハードウェア回路で実現することは困難であるとともに、画像入力を行うカメラの出力信号に同期してリアルタイムに処理することも困難である。
【0007】
本発明は上記従来の問題点を解決するもので、画像データに対するラベリング処理を行う際に、ラベルの付け直しを行うための再スキャンを不要にし、1回のスキャンによりラベル付けを行なうことができるラベリング装置およびラベリング方法を提供することを目的とする。
【0008】
さらに、本発明は1回のスキャンによりラベル付けを行うことにより、画像データの入力時にリアルタイムにラベリング処理を行うことができるラベリング装置およびラベリング方法を提供することも目的とする。また、これらの効果により、実用的な規模のハードウェアでラベリング処理を行うラベリング装置を提供することも目的とする。
【0009】
上記の目的を達成するために、本発明の請求項1に係るラベリング装置は、画像データの連結領域に対してラベル付けを行うラベリング装置において、入力された画像データから画像入力データを得る手段と、現在のスキャン位置にある対象画素より前にスキャンされた最新の少なくとも1ライン分の画像入力データを保持するラインバッファ(ラインバッファ6)と、ラインバッファに保持された画像入力データからスキャン位置にある対象画素を含む2×2マトリクスの画素領域を抽出するマトリクス抽出手段(ラベル更新回路7)と、抽出された画素領域の画素値により連結領域の開始または継続または終了を判定し、前記対象画素に対するラベル付けを行うラベル付けラベル手段(ラベル更新回路7)と、ラベル付けされた連結領域の情報を格納するラベル情報格納メモリ(ラベル格納メモリ12)と、を具備し、前記ラベル付け手段は、前記対象画素について連結領域の継続を判定した場合に、抽出された前記画素領域に番号の異なる複数のラベルでラベル付けされた画素がある場合は、最も小さい番号のラベルを選択し、前記選択されたラベルを前記継続を判定した連結領域の全画素に与えるラベルとするようにラベル付けを行うものである。
【0010】
請求項1記載のラベリング装置によれば、ラインバッファに保持された2値画像入力データから対象画素とその対象画素の周囲に位置するスキャン済み画素を2×2マトリクスの画素領域として抽出することにより、スキャン済み画素中のすでにラベル付けされた画素と対象画素との関係を判断することができるため、その画素領域の画素値の組み合わせから連結領域の開始、継続、終了を正しく判定することができ、ラベルの付け直しを行うための再スキャンが不要になり、1回のスキャンにより2次元2値画像データの連結領域に対してラベル付けを行うことができる。更に、請求項1に記載のラベリング装置によれば、ラベリングの途中で異なるラベル番号のパターンが合流した場合のラベルの結合を最終的に正しく処理することができるので、ラベルの付け直しを行うための再スキャンが不要になり、1回のスキャンにより2次元2値画像データの連結領域に対してラベル付けを行うことができる。
【0011】
本発明の請求項2に係るラベリング装置は、請求項1記載のラベリング装置において、前記ラベル付け手段は、1つ前の対象画素の判定結果をラベルバッファに仮ラベルとして保存し、前記対象画素の判定結果に基づいて前記対象画素および前記仮ラベルにラベル付けを行うものである。
【0012】
請求項2記載のラベリング装置によれば、連結領域の終了を判定した場合にのみ、ラベル付けされた連結領域の情報をラベル情報格納メモリに格納することにより、連結領域の継続を判定している間はラベル付けのアルゴリズムを簡単にすることができ、効率よくラベリング処理を行うことができる。
【0013】
本発明の請求項3に係るラベリング装置は、請求項1または2記載のラベリング装置において、ラベル付け手段が対象画素について連結領域の開始を判定した場合に、抽出された画素領域にすでにラベル付けされた画素がある場合は、すでにラベル付けされた画素のラベルを対象画素に与えるラベルとするようにラベル付けを行うものである。
【0014】
請求項3記載のラベリング装置によれば、連結領域の開始を判定した場合に、抽出された画素領域にすでにラベル付けされた画素がある場合は、すでにラベル付けされた画素のラベルを対象画素に与えるラベルとするようにラベル付けを行うことにより、スキャン済みの連結領域に異なるラベル付けが生ずることを避けることができる。
【0017】
本発明の請求項に係るラベリング装置は、請求項1からのうちいずれか一項記載のラベリング装置において、ラベル付け手段によりラベル付けを行うために、使用中止のラベルを含む使用可能なラベルを空きラベルとして格納する空きラベルメモリを具備するものである。
【0018】
請求項記載のラベリング装置によれば、ラベルの結合により生ずる使用中止のラベルも含めてラベル付けに用いる使用可能なラベルを管理することにより、ラベル付けを効率よく処理することができる。
【0023】
本発明の請求項に係るラベリング装置は、請求項1からのうちいずれか一項記載のラベリング装置において、画像データの2次元スキャン方向に増加する座標i、jにおける対象画素P(i,j)に対して、2×2マトリクスの画素領域を、画素P(i,j)、P(i−1,j)、P(i,j−1)、P(i−1,j−1)で構成するものである。
【0024】
請求項記載のラベリング装置によれば、対象画素に対して抽出する2×2マトリクスの画素領域を上記により定義することで、連続領域における対象画素の位置付けを単純なアルゴリズムで判断することができるため、その画素領域の画素値の組み合わせから連結領域の開始、継続、終了を容易に判定することができ、ラベルの付け直しを行うための再スキャンが不要になり、1回のスキャンにより2次元2値画像データの連結領域に対してラベル付けを行うことができる。
【0025】
本発明の請求項6に係るラベリング方法は、画像データの連結領域に対してラベル付けを行うラベリング方法であって、この画像データの全画素を順次対象画素としてスキャンし、スキャン方向に増加する座標i、jにおける対象画素P(i,j)について、画素P(i,j)、P(i−1,j)、P(i,j−1)、P(i−1,j−1)から構成される2×2マトリクスの画素領域を抽出し、この抽出された画素領域の画素値により連結領域の開始または継続または終了を判定することにより、対象画素に対するラベル付けを行うに際し、前記対象画素について連結領域の継続を判定した場合に、抽出された前記画素領域に番号の異なる複数のラベルでラベル付けされた画素がある場合は、最も番号の小さいラベルを選択し、前記選択されたラベルを前継続を判定した連結領域の全画素に与えるラベルとするようにラベル付けを行うものである。また、本発明の請求項7に係るラベリング方法は、1つ前の対象画素の判定結果をラベルバッファに仮ラベルとして保存し、前記対象画素の判定結果に基づいて前記対象画素および前記仮ラベルにラベル付けを行うものである。
【0026】
請求項記載のラベリング方法によれば、2次元2値画像入力データをスキャンしながら、上記により定義された対象画素を含む2×2マトリクスの画素領域を抽出することにより、その画素領域にあるすでにラベル付けされた画素と対象画素との関係を単純なアルゴリズムで判断することができるため、この画素領域の画素値の組み合わせから連結領域の開始、継続、終了を容易に正しく判定することができ、ラベルの付け直しを行うための再スキャンが不要になり、1回のスキャンにより2次元2値画像データの連結領域に対してラベル付けを行うことができる。
【0027】
本発明の請求項に係るラベリング方法は、請求項6または7記載のラベリング方法において、対象画素について連結領域の開始を判定した場合に、抽出された画素領域にすでにラベル付けされた画素がある場合は、すでにラベル付けされた画素のラベルを対象画素に与えるラベルとするようにラベル付けを行うものである。
【0028】
請求項記載のラベリング方法によれば、連結領域の開始を判定した場合に、抽出された画素領域にすでにラベル付けされた画素がある場合は、すでにラベル付けされた画素のラベルを対象画素に与えるラベルとするようにラベル付けを行うことにより、スキャン済みの連結領域に異なるラベル付けが生ずることを避けることができる。
【0031】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。図1は本発明の一実施の形態に係るラベリング装置の構成を示すブロック図である。
【0032】
図1において、1は画像データを入力するカメラから得られるカメラクロック、2はカメラクロック1に同期して画素出力信号やラベリング装置内の各種タイミング信号を発生するタイミング発生回路、3は画素出力信号に同期して連結領域の面積をカウントする面積計数回路、4はラベリング処理中の各種ラベル情報を保持するラベルテーブル、5はラスタスキャン方式により入力された画像データを2値化した2値画像データ入力、6は現在の入力より前に入力した最新の少なくとも1ライン分の2値画像入力データを保持するラインバッファである。
【0033】
さらに図1において、7は現在の2値画像入力データ5およびラインバッファ6に保持されたデータから2×2マトリクスの画素領域を抽出し、連結領域の開始または継続または終了を判定し、対象画素に対するラベル付けを行うラベル更新回路、8は対象画素に与えるラベルを発生するラベルID発生回路、9は連結領域の開始に際してラベルを初期化するラベル初期化回路、10は使用中止のラベルを含め使用可能なラベルを空きラベルとして格納するFIFO形式の空きラベルメモリ(空きラベルFIFO)、11は処理中の連結領域のラベル付け情報を一時保持するラベルバッファ、12はラベル付けされた連結領域の情報を格納するラベル格納メモリである。
【0034】
以上のように構成されたラベリング装置の動作を、以下、図2から図44を参照して詳細に説明する。図2から図44において、連結領域として認識すべき画素は塗りつぶして表現する。例えば、塗りつぶした画素の画素値は「1」、塗りつぶしていない画素の画素値は「0」である。
【0035】
図2および図3は、本ラベリング装置において抽出された2×2マトリクスの画素領域の画素値から連結領域の開始または継続または終了を判定し、対象画素に対するラベル付けを行うアルゴリズムについて、画素領域の画素値と処理動作の対応を示す図である。
【0036】
図2および図3においては、2次元スキャン方向に増加する垂直座標i、水平座標jにおける対象画素P(i,j)について、抽出された2×2マトリクスの画素領域を構成する画素P(i−1,j−1)、P(i,j−1)、P(i−1,j)、P(i,j)を、それぞれ、MTX1、MTX2、MTX3、MTX4で表わしている。
【0037】
MTX1およびMTX2がともに「0」であるときに、MTX3またはMTX4が「1」である場合は、連結領域の開始が判定され、ラベルを初期化する。MTX3が「0」ならば新しい連結領域であるので、ラベルIDを「New」とし、MTX3が「1」ならば、すでにラベル付けされた画素がある場合に当たるので、そのラベル(前行ランラベル)をラベルIDとする。
【0038】
MTX3およびMTX4がともに「0」であるときに、MTX1またはMTX2が「1」である場合は、連結領域の終了が判定され、それまでの連結領域情報をラベル付けしてラベル格納メモリにラベル書き込みを行う。
【0039】
画素領域の4画素がすべて「0」の場合は、連結領域の無い領域であることを示している。画素領域の4画素の組み合わせが以上説明した3つの場合のいずれにも該当しない場合は、連結領域の継続が判定され、それぞれの画素領域の画素値に応じた処理が行われる。
【0040】
次に具体的な画像例により、ラベリング装置の動作を詳細に説明する。図4は処理対象となる画像例であり、図5から図44は図4の画像に対するラベリング処理動作を説明する図である。各図にそれぞれの処理結果におけるラベルバッファ、ラベル格納メモリ、空ラベルFIFOの状態を示す。
【0041】
また、以下の説明において、MTX1、MTX2、MTX3、MTX4の配列をMTXと略記する。すなわち、MTX=(MTX1,MTX2,MTX3,MTX4)であり、その値を「xxxx」(xは1または0)で示す。
【0042】
図5においては、最初の入力に対して、MTXが「0000」であるので、動作は何もしない。図6においては、MTXが「0001」であるので連結領域の開始と判定し、新しいラベルの記録を始めるために、ラベルバッファのラベルIDをNewとし、ラベル面積を「1」とする。
【0043】
図7においては、MTXが「0100」であり、ラベルが途切れるため、連結領域の終了と判定し、ラベルバッファの内容をラベル格納メモリに書き込む。その際、ラベルバッファのラベルIDがNewであるので、空きラベルFIFOから先頭の空きラベルであるラベルID=1を取得し、ラベル格納メモリのラベルID=1の位置にラベルバッファの内容を書き込む。
【0044】
図8においては、MTXが「0001」であるので連結領域の開始と判定し、新しいラベルの記録を始めるために、ラベルバッファのラベルIDをNewとし、ラベル面積を「1」とする。
【0045】
図9においては、MTXが「0100」であり、ラベルが途切れるため、連結領域の終了と判定し、ラベルバッファの内容をラベル格納メモリに書き込む。その際、ラベルバッファのラベルIDがNewであるので、空きラベルFIFOから先頭の空きラベルであるラベルID=2を取得し、ラベル格納メモリのラベルID=2の位置にラベルバッファの内容を書き込む。その後、MTXが「0000」の状態が続くので、その部分の説明を省く。
【0046】
図10においては、MTXが「0001」であるので連結領域の開始と判定し、新しいラベルの記録を始めるために、ラベルバッファのラベルIDをNewとし、ラベル面積を「1」とする。
【0047】
図11においては、MTXが「0101」であるので連結領域の継続と判定し、ラベルバッファの面積に「1」を加算して更新する。その後、MTXが「0101」の状態が続くので、ラベルバッファの面積の加算更新を続ける。
【0048】
図12においては、MTXが「0100」であり、ラベルが途切れるため、連結領域の終了と判定し、ラベルバッファの内容をラベル格納メモリに書き込む。その際、ラベルバッファのラベルIDがNewであるので、空きラベルFIFOから先頭の空きラベルであるラベルID=3を取得し、ラベル格納メモリのラベルID=3の位置にラベルバッファの内容を書き込む。
【0049】
図13においては、MTXが「0001」であるので連結領域の開始と判定し、新しいラベルの記録を始めるために、ラベルバッファのラベルIDをNewとし、ラベル面積を「1」とする。
【0050】
図14においては、MTXが「0100」であり、ラベルが途切れるため、連結領域の終了と判定し、ラベルバッファの内容をラベル格納メモリに書き込む。その際、ラベルバッファのラベルIDがNewであるので、空きラベルFIFOから先頭の空きラベルであるラベルID=4を取得し、ラベル格納メモリのラベルID=4の位置にラベルバッファの内容を書き込む。
【0051】
図15においては、MTXが「0001」であるので連結領域の開始と判定し、新しいラベルの記録を始めるために、ラベルバッファのラベルIDをNewとし、ラベル面積を「1」とする。
【0052】
図16においては、MTXが「0101」であるので連結領域の継続と判定し、ラベルバッファの面積に「1」を加算して更新する。その後、図17までMTXが「0101」の状態が続くので、ラベルバッファの面積の加算更新を続ける。
【0053】
図18においては、MTXが「0100」であり、ラベルが途切れるため、連結領域の終了と判定し、ラベルバッファの内容をラベル格納メモリに書き込む。その際、ラベルバッファのラベルIDがNewであるので、空きラベルFIFOから先頭の空きラベルであるラベルID=5を取得し、ラベル格納メモリのラベルID=5の位置にラベルバッファの内容を書き込む。
【0054】
図19においては、MTXが「0001」であるので連結領域の開始と判定し、新しいラベルの記録を始めるために、ラベルバッファのラベルIDをNewとし、ラベル面積を「1」とする。
【0055】
図20においては、MTXが「0100」であり、ラベルが途切れるため、連結領域の終了と判定し、ラベルバッファの内容をラベル格納メモリに書き込む。その際、ラベルバッファのラベルIDがNewであるので、空きラベルFIFOから先頭の空きラベルであるラベルID=6を取得し、ラベル格納メモリのラベルID=6の位置にラベルバッファの内容を書き込む。
【0056】
図21においては、MTXが「0001」であるので連結領域の開始と判定し、新しいラベルの記録を始めるために、ラベルバッファのラベルIDをNewとし、ラベル面積を「1」とする。
【0057】
図22においては、MTXが「0111」であるので連結領域の継続と判定し、かつ、MTX3がすでにラベルID=1にラベル付けされた画素であることが分かるので、そのラベルID=1をNewに代わるラベルバッファのラベルIDとし、ラベル格納メモリに記録されているラベルID=1のラベル面積を、ラベルバッファのラベル面積に加算し、さらに「1」を加算して「3」とする。
【0058】
図23においては、MTXが「1101」であるので連結領域の継続と判定し、ラベルバッファの面積に1を加算して「4」とする。
【0059】
図24においては、MTXが「0110」であるので連結領域の継続と判定し、かつ、MTX3がすでにラベルID=2にラベル付けされた画素であることが分かる。ここで、MTXの中にラベルID=1とラベルID=2の複数のラベル付けされた画素があることになるので、ここでは、あらかじめ設定された規則として小さい方のラベルID=1を選択し、ラベル格納メモリに記録されているラベルID=2の面積を、ラベルバッファのラベルID=1の面積に加算して「5」とする。MTX4が「0」であるので、対象画素についての加算は無い。また、ラベルID=2の使用を中止したので、ラベル格納メモリのラベルID=2の空きフラグを1にするとともに、空きラベルFIFOにラベルID=2を追加する。
【0060】
図25においては、MTXが「1001」であるので連結領域の継続と判定し、ラベルバッファの面積に1を加算して「6」とする。
【0061】
図26においては、MTXが「0101」であるので連結領域の継続と判定し、ラベルバッファの面積に1を加算して「7」とする。図27においても、MTXが「0101」であるので連結領域の継続と判定し、ラベルバッファの面積に1を加算して「8」とする。
【0062】
図28においては、MTXが「0100」であり、ラベルが途切れるため、連結領域の終了と判定し、ラベル格納メモリのラベルID=1の位置にラベルバッファの内容を書き込む。
【0063】
図29においては、MTXが「0010」であるので連結領域の開始と判定し、かつ、MTX3がすでにラベルID=3にラベル付けされた画素であることが分かるので、格納メモリからラベルID=3の内容を読み出し、ラベルID=3とその面積「5」をラベルバッファに書き込む。MTX4が「0」であるので、対象画素についての加算は無い。
【0064】
図30においては、MTXが「1011」であるので連結領域の継続と判定し、ラベルバッファの面積に1を加算して「6」とする。
【0065】
図31においては、MTXが「1110」であるので連結領域の継続と判定するが、MTX4が「0」であるので、対象画素についての加算は無く、何もしないで次に進む。図32と図33においては、MTXが「1010」であるので連結領域の継続と判定するが、MTX4が「0」であるので、対象画素についての加算は無く、やはり何もしないで次に進む。
【0066】
図34においては、MTXが「1001」であるので連結領域の継続と判定し、ラベルバッファの面積に1を加算して「7」とする。
【0067】
図35においては、MTXが「0110」であるので連結領域の継続と判定し、かつ、MTX3がすでにラベルID=4にラベル付けされた画素であることが分かる。ここで、MTXの中にラベルID=3とラベルID=4の複数のラベル付けされた画素があることになるので、あらかじめ設定された規則として小さい方のラベルID=3を選択し、ラベル格納メモリに記録されているラベルID=4の面積を、ラベルバッファのラベルID=3の面積に加算して「8」とする。MTX4が「0」であるので、対象画素についての加算は無い。また、ラベルID=4の使用を中止したので、ラベル格納メモリのラベルID=4の空きフラグを1にするとともに、空きラベルFIFOにラベルID=4を追加する。
【0068】
図36においては、MTXが「1000」であり、ラベルが途切れるため、連結領域の終了と判定し、ラベル格納メモリのラベルID=3の位置にラベルバッファの内容を書き込む。
【0069】
図37においては、MTXが「0011」であるので連結領域の開始と判定し、かつ、MTX3がすでにラベルID=5にラベル付けされた画素であることが分かるので、ラベル格納メモリからラベルID=5の内容を読み出し、ラベルID=5とその面積「5」をラベルバッファに書き込み、さらに面積に「1」を加算して「6」とする。
【0070】
図38においては、MTXが「1111」であるので連結領域の継続と判定し、ラベルバッファの面積に1を加算して「7」とする。図39においても、MTXが「1111」であるので連結領域の継続と判定し、ラベルバッファの面積に1を加算して「8」とする。
【0071】
図40においては、MTXが「1110」であるので連結領域の継続と判定するが、MTX4が「0」であるので、対象画素についての加算は無く、何もしないで次に進む。
【0072】
図41においては、MTXが「1011」であるので連結領域の継続と判定し、ラベルバッファの面積に1を加算して「9」とする。図42においては、MTXが「1101」であるので連結領域の継続と判定し、ラベルバッファの面積に1を加算して「10」とする。
【0073】
図43においては、MTXが「0111」であるので連結領域の継続と判定し、かつ、MTX3がすでにラベルID=6にラベル付けされた画素であることが分かる。ここで、MTXの中にラベルID=5とラベルID=6の複数のラベル付けされた画素があることになるので、あらかじめ設定された規則として小さい方のラベルID=5を選択し、ラベル格納メモリに記録されているラベルID=6の面積を、ラベルバッファのラベルID=5の面積に加算して「11」とする。さらに面積に「1」を加算して「12」とする。また、ラベルID=6の使用を中止したので、ラベル格納メモリのラベルID=6の空きフラグを1にするとともに、空きラベルFIFOにラベルID=6を追加する。
【0074】
図44においては、MTXが「1100」であり、ラベルが途切れるため、連結領域の終了と判定し、ラベル格納メモリのラベルID=5の位置にラベルバッファの内容を書き込む。
【0075】
以上のように、ラスタスキャン方式により順次入力される画像データを2値化した2値画像入力データから、対象画素とその対象画素の周囲に位置するスキャン済み画素を2×2マトリクスの画素領域MTXとして抽出することにより、この画素領域MTXの画素値から連結領域の開始、継続、終了を正しく判定することができ、1回のスキャンにより2次元2値画像データの連結領域に対してラベル付けを行うことができる。
【0076】
以上説明したように、本発明によれば、画像データに対するラベリング処理を行う際に、順次入力される画像入力データから、対象画素とその対象画素の周囲に位置するスキャン済み画素を2×2マトリクスの画素領域として抽出し、その画素値から連結領域の開始、継続、終了を判定することにより、ラベルの付け直しを行うための再スキャンを不要にし、1回のスキャンによりラベル付けを行うことが可能なラベリング処理を行うラベリング装置およびラベリング方法を提供することができる。
【0077】
さらに本発明によれば、1回のスキャンによりラベル付けを行うことができるので、撮像装置から得られる画像データの画素出力信号に同期して一連のラベリング処理を行うことにより、画像データの入力時にリアルタイムにラベリング処理を行うことが可能になり、例えばパイプライン型のハードウェアを構成することにより、実用的な規模のハードウェアでリアルタイムにラベリング処理を行うラベリング装置を提供することができる。
【図面の簡単な説明】
【図1】本発明の一実施の形態に係るラベリング装置の構成を示すブロック図。
【図2】画素領域の画素値から連結領域の開始または継続または終了を判定し、対象画素に対するラベル付けを行うアルゴリズムを示す図。
【図3】画素領域の画素値から連結領域の開始または継続または終了を判定し、対象画素に対するラベル付けを行うアルゴリズムを示す図。
【図4】処理対象となる画像例を示す図。
【図5】画像例に対するラベリング処理動作を説明する図。
【図6】画像例に対するラベリング処理動作を説明する図。
【図7】画像例に対するラベリング処理動作を説明する図。
【図8】画像例に対するラベリング処理動作を説明する図。
【図9】画像例に対するラベリング処理動作を説明する図。
【図10】画像例に対するラベリング処理動作を説明する図。
【図11】画像例に対するラベリング処理動作を説明する図。
【図12】画像例に対するラベリング処理動作を説明する図。
【図13】画像例に対するラベリング処理動作を説明する図。
【図14】画像例に対するラベリング処理動作を説明する図。
【図15】画像例に対するラベリング処理動作を説明する図。
【図16】画像例に対するラベリング処理動作を説明する図。
【図17】画像例に対するラベリング処理動作を説明する図。
【図18】画像例に対するラベリング処理動作を説明する図。
【図19】画像例に対するラベリング処理動作を説明する図。
【図20】画像例に対するラベリング処理動作を説明する図。
【図21】画像例に対するラベリング処理動作を説明する図。
【図22】画像例に対するラベリング処理動作を説明する図。
【図23】画像例に対するラベリング処理動作を説明する図。
【図24】画像例に対するラベリング処理動作を説明する図。
【図25】画像例に対するラベリング処理動作を説明する図。
【図26】画像例に対するラベリング処理動作を説明する図。
【図27】画像例に対するラベリング処理動作を説明する図。
【図28】画像例に対するラベリング処理動作を説明する図。
【図29】画像例に対するラベリング処理動作を説明する図。
【図30】画像例に対するラベリング処理動作を説明する図。
【図31】画像例に対するラベリング処理動作を説明する図。
【図32】画像例に対するラベリング処理動作を説明する図。
【図33】画像例に対するラベリング処理動作を説明する図。
【図34】画像例に対するラベリング処理動作を説明する図。
【図35】画像例に対するラベリング処理動作を説明する図。
【図36】画像例に対するラベリング処理動作を説明する図。
【図37】画像例に対するラベリング処理動作を説明する図。
【図38】画像例に対するラベリング処理動作を説明する図。
【図39】画像例に対するラベリング処理動作を説明する図。
【図40】画像例に対するラベリング処理動作を説明する図。
【図41】画像例に対するラベリング処理動作を説明する図。
【図42】画像例に対するラベリング処理動作を説明する図。
【図43】画像例に対するラベリング処理動作を説明する図。
【図44】画像例に対するラベリング処理動作を説明する図。
【図45】従来のラベリング方法を説明する図。
【符号の説明】
1 カメラクロック
2 タイミング発生回路
3 面積計数回路
4 ラベルテーブル
5 2値画像データ入力
6 ラインバッファ
7 ラベル更新回路
8 ラベルID発生回路
9 ラベル初期化回路
10 空きラベルメモリ(空きラベルFIFO)
11 ラベルバッファ
12 ラベル格納メモリ
[0001]
  The present invention, PaintingThe present invention relates to a labeling apparatus and a labeling method for detecting a connected area of image data and labeling the connected area.
[0002]
[Prior art]
A labeling technique for performing binarization processing on a grayscale image obtained by imaging a target surface, detecting a connected region from the two-dimensional binary image data, and labeling the connected region is used in, for example, the field of electronic equipment. This method is applied to inspecting defects appearing on the surface of shadow masks, liquid crystal panels, CRT panels, plasma display panels, and the like.
[0003]
A conventional labeling method will be described with reference to the binary image in FIG. Here, the pixel value of the connected region to be recognized is “1”, and the surrounding pixel values are “0”. In FIG. 45A, scanning is performed in the X direction, and when the first pattern R is detected by the pixel value “1”, label number = 1 is assigned. If the same figure has a continuous area, the same label number is assigned.
[0004]
If it is a simple pattern as shown in FIG. 45A, labeling is easy, but in the case of the pattern S shown in FIG. 45B, the process becomes complicated. At the time of scanning the Y1 line, it is determined that there are two patterns, which are labeled as label number = 2 and label number = 3, respectively. A problem occurs at the X1 point of the Y2 line. That is, it is found that the areas labeled with label number = 2 and label number = 3 are the same area. Therefore, it is necessary to return to the beginning and perform a rescan to convert all the parts labeled with label number = 3 to label number = 2.
[0005]
Thus, re-labeling is performed, and the subsequent labeling from the point X1 of the Y2 line is executed again with the label number = 2. The first labeling is called temporary labeling. When patterns with different label numbers merge during labeling, label number = 3 is converted to label number = 2 in the above example. This conversion of temporary labeling is called label combination.
[0006]
[Problems to be solved by the invention]
In the above example, it is possible to re-label one time. However, since the actual image is generally a complex image, it is necessary to re-label several times, and the scan time for re-labeling becomes longer and faster. It becomes difficult to process. In addition, it is difficult to implement this processing with a hardware circuit of a practical scale, and it is difficult to process in real time in synchronization with an output signal of a camera that inputs an image.
[0007]
  The present invention solves the above conventional problems., PaintingAn object of the present invention is to provide a labeling apparatus and a labeling method that can perform labeling by one scan without performing rescanning for relabeling when performing labeling processing on image data.
[0008]
It is another object of the present invention to provide a labeling apparatus and a labeling method that can perform labeling processing in real time when image data is input by performing labeling by one scan. Another object of the present invention is to provide a labeling device that performs labeling processing with hardware of a practical scale due to these effects.
[0009]
  In order to achieve the above object, a labeling apparatus according to claim 1 of the present invention is a labeling apparatus that performs labeling on a connection area of image data, and means for obtaining image input data from input image data. A line buffer (line buffer 6) that holds the latest image input data for at least one line scanned before the target pixel at the current scan position, and the image input data held in the line buffer to the scan position Matrix extraction means (label update circuit 7) for extracting a pixel area of a 2 × 2 matrix including a certain target pixel, and the start, continuation, or end of a connected area is determined based on the pixel value of the extracted pixel area, and the target pixel Labeling means (label updating circuit 7) for performing labeling on the label, and the connected region labeled Comprising a label information storage memory for storing information (label storage memory 12), the said labeling means, when it is determined to continue the connection region for the target pixel, the extracted the pixel regionsnumberDifferentpluralIf there are pixels labeled with a label,The lowest numberA label is selected, and labeling is performed so that the selected label is a label to be given to all pixels in the connected region determined to be continued.
[0010]
  According to the labeling device of claim 1, by extracting the target pixel and the scanned pixels located around the target pixel from the binary image input data held in the line buffer as a pixel region of a 2 × 2 matrix. Since the relationship between the already labeled pixel in the scanned pixel and the target pixel can be determined, the start, continuation, and end of the connected region can be correctly determined from the combination of the pixel values of the pixel region. This eliminates the need for re-scanning for re-labeling, and enables labeling to a connected region of two-dimensional binary image data by a single scan.Furthermore, according to the labeling device of claim 1, since the label combination when the patterns having different label numbers merge in the middle of the labeling can be finally processed correctly, the label is reattached. No re-scanning is required, and it is possible to label connected regions of two-dimensional binary image data by one scan.
[0011]
  A labeling device according to claim 2 of the present invention is the labeling device according to claim 1,The labeling unit stores a determination result of the previous target pixel as a temporary label in a label buffer, and labels the target pixel and the temporary label based on the determination result of the target pixel.Is.
[0012]
According to the labeling device of the second aspect, only when the end of the connected area is determined, the continuation of the connected area is determined by storing the information of the labeled connected area in the label information storage memory. In the meantime, the labeling algorithm can be simplified, and the labeling process can be performed efficiently.
[0013]
The labeling device according to claim 3 of the present invention is the labeling device according to claim 1 or 2, wherein the extracted pixel region is already labeled when the labeling unit determines the start of the connected region for the target pixel. If there is a pixel, labeling is performed so that the label of the already labeled pixel is used as a label to be given to the target pixel.
[0014]
According to the labeling device of claim 3, when it is determined that the connected region starts, and there is a pixel already labeled in the extracted pixel region, the label of the already labeled pixel is set as the target pixel. By performing the labeling so as to obtain the given label, it is possible to avoid the occurrence of different labeling in the scanned connected area.
[0017]
  Claims of the invention4The labeling device according to claim 1 is from3The labeling device according to any one of the above, further comprising an empty label memory for storing usable labels including empty labels as empty labels for labeling by the labeling means.
[0018]
  Claim4According to the described labeling apparatus, the labeling can be efficiently processed by managing the labels that can be used for labeling, including the labels that are discontinued due to the coupling of the labels.
[0023]
  Claims of the invention5The labeling device according to claim 1 is from4In the labeling device according to any one of, PaintingFor a target pixel P (i, j) at coordinates i, j that increase in the two-dimensional scan direction of image data, a pixel region of a 2 × 2 matrix is represented by pixels P (i, j), P (i−1, j), P (i, j-1), and P (i-1, j-1).
[0024]
  Claim5According to the labeling apparatus described, by defining the pixel area of the 2 × 2 matrix to be extracted with respect to the target pixel as described above, the positioning of the target pixel in the continuous area can be determined with a simple algorithm. The start, continuation, and end of the connected area can be easily determined from the combination of pixel values in the pixel area, and re-scanning for re-labeling is not required, and a two-dimensional binary image can be obtained by a single scan. Labeling can be performed on the linked area of data.
[0025]
  A labeling method according to a sixth aspect of the present invention is a labeling method for labeling a connection region of image data, wherein all pixels of the image data are sequentially scanned as target pixels, and coordinates are increased in the scanning direction. For the target pixel P (i, j) at i, j, the pixels P (i, j), P (i-1, j), P (i, j-1), P (i-1, j-1) When the target pixel is labeled by extracting a pixel area of a 2 × 2 matrix composed of the pixel area and determining the start, continuation, or end of the connected area based on the pixel value of the extracted pixel area, When the continuation of the connected area is determined for the pixel, the extracted pixel areanumberDifferentpluralIf there are pixels labeled with a label,Smallest numberSelect a label and move the selected label forwardRecordThe labeling is performed so that the label is given to all the pixels in the connected area for which continuation is determined. In the labeling method according to claim 7 of the present invention, the determination result of the previous target pixel is stored as a temporary label in a label buffer, and the target pixel and the temporary label are stored based on the determination result of the target pixel. Labeling is performed.
[0026]
  Claim6According to the described labeling method, a 2 × 2 matrix pixel area including the target pixel defined above is extracted while scanning the two-dimensional binary image input data, so that labeling is already performed on the pixel area. Since the relationship between the selected pixel and the target pixel can be determined with a simple algorithm, the start, continuation, and end of the connected region can be easily and correctly determined from the combination of the pixel values of this pixel region. Re-scanning for re-attaching is not required, and labeling can be performed on a connected region of two-dimensional binary image data by one scan.
[0027]
  Claims of the invention8The labeling method according to claim6 or 7In the described labeling method, when it is determined that the connected region starts for the target pixel, and there is a pixel that is already labeled in the extracted pixel region, the label that gives the target pixel the label of the already labeled pixel The labeling is performed as follows.
[0028]
  Claim8According to the described labeling method, when it is determined that the connected region starts, and there is a pixel that is already labeled in the extracted pixel region, the label that gives the target pixel the label of the already labeled pixel By performing labeling in such a manner, it is possible to avoid different labeling from occurring in the scanned connected area.
[0031]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a configuration of a labeling apparatus according to an embodiment of the present invention.
[0032]
In FIG. 1, 1 is a camera clock obtained from a camera that inputs image data, 2 is a timing generation circuit that generates a pixel output signal and various timing signals in the labeling apparatus in synchronization with the camera clock 1, and 3 is a pixel output signal 4 is a label table for holding various label information during labeling processing, and 5 is binary image data obtained by binarizing image data input by the raster scan method. An input 6 is a line buffer for holding the latest binary image input data for at least one line input before the current input.
[0033]
Further, in FIG. 1, reference numeral 7 denotes a pixel area of a 2 × 2 matrix extracted from the current binary image input data 5 and the data held in the line buffer 6, determines the start or continuation or end of the connected area, and the target pixel 8 is a label ID generating circuit for generating a label to be given to the target pixel, 9 is a label initializing circuit for initializing the label at the start of the connected region, and 10 is used including a label for which the use is stopped FIFO format empty label memory (empty label FIFO) that stores possible labels as empty labels, 11 is a label buffer that temporarily holds labeling information of the connected area being processed, and 12 is information on the labeled connected area It is a label storage memory for storing.
[0034]
The operation of the labeling apparatus configured as described above will be described in detail below with reference to FIGS. In FIG. 2 to FIG. 44, pixels to be recognized as connected regions are represented by being filled. For example, the pixel value of the filled pixel is “1”, and the pixel value of the unfilled pixel is “0”.
[0035]
2 and 3 show an algorithm for determining the start, continuation, or end of a connected region from the pixel values of the pixel region of the 2 × 2 matrix extracted by the labeling apparatus and labeling the target pixel. It is a figure which shows a response | compatibility with a pixel value and processing operation.
[0036]
2 and 3, for the target pixel P (i, j) at the vertical coordinate i and the horizontal coordinate j that increase in the two-dimensional scan direction, the pixel P (i) that constitutes the extracted 2 × 2 matrix pixel region. −1, j−1), P (i, j−1), P (i−1, j), and P (i, j) are represented by MTX1, MTX2, MTX3, and MTX4, respectively.
[0037]
When both MTX1 and MTX2 are “0” and MTX3 or MTX4 is “1”, the start of the connected area is determined and the label is initialized. If MTX3 is “0”, it is a new connected area, so the label ID is “New”, and if MTX3 is “1”, this is the case when there are already labeled pixels, so that label (previous run label) is This is a label ID.
[0038]
When both MTX3 and MTX4 are “0” and MTX1 or MTX2 is “1”, the end of the connected area is determined, the previous connected area information is labeled, and the label is written to the label storage memory. I do.
[0039]
When all four pixels in the pixel area are “0”, this indicates that there is no connected area. When the combination of the four pixels in the pixel area does not correspond to any of the three cases described above, the continuation of the connected area is determined, and processing according to the pixel value of each pixel area is performed.
[0040]
Next, the operation of the labeling apparatus will be described in detail with a specific image example. FIG. 4 is an example of an image to be processed, and FIGS. 5 to 44 are diagrams for explaining a labeling processing operation for the image of FIG. Each figure shows the state of the label buffer, label storage memory, and empty label FIFO in each processing result.
[0041]
In the following description, the arrangement of MTX1, MTX2, MTX3, and MTX4 is abbreviated as MTX. That is, MTX = (MTX1, MTX2, MTX3, MTX4), and the value is represented by “xxxx” (x is 1 or 0).
[0042]
In FIG. 5, since MTX is “0000” for the first input, no operation is performed. In FIG. 6, since MTX is “0001”, it is determined that the connected area starts, and in order to start recording a new label, the label ID of the label buffer is set to New and the label area is set to “1”.
[0043]
In FIG. 7, since MTX is “0100” and the label is interrupted, it is determined that the connected area is completed, and the contents of the label buffer are written into the label storage memory. At this time, since the label ID of the label buffer is New, label ID = 1, which is the first empty label, is obtained from the empty label FIFO, and the contents of the label buffer are written at the position of label ID = 1 in the label storage memory.
[0044]
In FIG. 8, since MTX is “0001”, it is determined that the connected area is started, and in order to start recording a new label, the label ID of the label buffer is set to New and the label area is set to “1”.
[0045]
In FIG. 9, since MTX is “0100” and the label is interrupted, it is determined that the connected area is completed, and the contents of the label buffer are written into the label storage memory. At this time, since the label ID of the label buffer is New, label ID = 2, which is the first empty label, is obtained from the empty label FIFO, and the contents of the label buffer are written at the position of label ID = 2 in the label storage memory. Thereafter, since the state where MTX is “0000” continues, the description of that portion is omitted.
[0046]
In FIG. 10, since MTX is “0001”, it is determined that the connected area is started, and in order to start recording a new label, the label ID of the label buffer is set to New and the label area is set to “1”.
[0047]
In FIG. 11, since MTX is “0101”, it is determined that the connected region is continued, and “1” is added to the area of the label buffer to be updated. Thereafter, since the state where MTX is “0101” continues, the addition and update of the area of the label buffer is continued.
[0048]
In FIG. 12, since MTX is “0100” and the label is interrupted, it is determined that the connected area is completed, and the contents of the label buffer are written into the label storage memory. At this time, since the label ID of the label buffer is New, label ID = 3, which is the first empty label, is acquired from the empty label FIFO, and the contents of the label buffer are written at the position of label ID = 3 in the label storage memory.
[0049]
In FIG. 13, since MTX is “0001”, it is determined that the connected area is started, and in order to start recording a new label, the label ID of the label buffer is set to New and the label area is set to “1”.
[0050]
In FIG. 14, since MTX is “0100” and the label is interrupted, it is determined that the connected area is completed, and the contents of the label buffer are written into the label storage memory. At this time, since the label ID of the label buffer is New, label ID = 4, which is the first empty label, is obtained from the empty label FIFO, and the contents of the label buffer are written at the position of label ID = 4 in the label storage memory.
[0051]
In FIG. 15, since MTX is “0001”, it is determined that the connected area is started, and in order to start recording a new label, the label ID of the label buffer is set to New and the label area is set to “1”.
[0052]
In FIG. 16, since MTX is “0101”, it is determined that the connected region is continued, and “1” is added to the area of the label buffer to be updated. Thereafter, the state where MTX is “0101” continues until FIG.
[0053]
In FIG. 18, since MTX is “0100” and the label is interrupted, it is determined that the connected area is completed, and the contents of the label buffer are written into the label storage memory. At this time, since the label ID of the label buffer is New, label ID = 5, which is the first empty label, is obtained from the empty label FIFO, and the contents of the label buffer are written at the position of label ID = 5 in the label storage memory.
[0054]
In FIG. 19, since MTX is “0001”, it is determined that the connected area is started, and in order to start recording a new label, the label ID of the label buffer is set to New and the label area is set to “1”.
[0055]
In FIG. 20, since MTX is “0100” and the label is interrupted, it is determined that the connected area is completed, and the contents of the label buffer are written into the label storage memory. At this time, since the label ID of the label buffer is New, label ID = 6, which is the first empty label, is obtained from the empty label FIFO, and the contents of the label buffer are written at the position of label ID = 6 in the label storage memory.
[0056]
In FIG. 21, since MTX is “0001”, it is determined that the connected area is started, and in order to start recording a new label, the label ID of the label buffer is set to New and the label area is set to “1”.
[0057]
In FIG. 22, since MTX is “0111”, it is determined that the connected region is continued, and it can be seen that MTX3 is a pixel already labeled with label ID = 1, so that label ID = 1 is set as New. As the label ID of the label buffer instead of the label area, the label area of label ID = 1 recorded in the label storage memory is added to the label area of the label buffer, and “1” is added to “3”.
[0058]
In FIG. 23, since MTX is “1101”, it is determined that the connected region is continued, and 1 is added to the area of the label buffer to obtain “4”.
[0059]
In FIG. 24, since MTX is “0110”, it is determined that the connected region is continued, and it can be seen that MTX3 is a pixel already labeled with label ID = 2. Here, since there are a plurality of labeled pixels with label ID = 1 and label ID = 2 in MTX, here, the smaller label ID = 1 is selected as a preset rule. The area of label ID = 2 recorded in the label storage memory is added to the area of label ID = 1 of the label buffer to obtain “5”. Since MTX4 is “0”, there is no addition for the target pixel. Since the use of the label ID = 2 is stopped, the empty flag of the label ID = 2 in the label storage memory is set to 1, and the label ID = 2 is added to the empty label FIFO.
[0060]
In FIG. 25, since MTX is “1001”, it is determined that the connected region is continued, and 1 is added to the area of the label buffer to obtain “6”.
[0061]
In FIG. 26, since MTX is “0101”, it is determined that the connected region is continued, and 1 is added to the label buffer area to obtain “7”. Also in FIG. 27, since MTX is “0101”, it is determined that the connected region is continued, and 1 is added to the area of the label buffer to obtain “8”.
[0062]
In FIG. 28, since MTX is “0100” and the label is interrupted, it is determined that the connected area is completed, and the contents of the label buffer are written at the position of label ID = 1 in the label storage memory.
[0063]
In FIG. 29, since MTX is “0010”, it is determined that the connected region starts, and it can be seen that MTX3 is a pixel already labeled with label ID = 3. Is written, and label ID = 3 and its area “5” are written into the label buffer. Since MTX4 is “0”, there is no addition for the target pixel.
[0064]
In FIG. 30, since MTX is “1011”, it is determined that the connected region is continued, and 1 is added to the label buffer area to obtain “6”.
[0065]
In FIG. 31, since MTX is “1110”, it is determined that the connected region is continued. However, since MTX4 is “0”, there is no addition for the target pixel, and the process proceeds without doing anything. In FIG. 32 and FIG. 33, since MTX is “1010”, it is determined that the connected region is continued. However, since MTX4 is “0”, there is no addition for the target pixel, and the process proceeds without doing anything. .
[0066]
In FIG. 34, since MTX is “1001”, it is determined that the connected region is continued, and 1 is added to the area of the label buffer to obtain “7”.
[0067]
In FIG. 35, since MTX is “0110”, it is determined that the connected region is continued, and it is understood that MTX3 is a pixel already labeled with label ID = 4. Here, since there are a plurality of labeled pixels with label ID = 3 and label ID = 4 in MTX, the smaller label ID = 3 is selected as a preset rule, and the label is stored. The area of label ID = 4 recorded in the memory is added to the area of label ID = 3 of the label buffer to obtain “8”. Since MTX4 is “0”, there is no addition for the target pixel. Since the use of label ID = 4 is stopped, the empty flag of label ID = 4 in the label storage memory is set to 1, and label ID = 4 is added to the empty label FIFO.
[0068]
In FIG. 36, since MTX is “1000” and the label is interrupted, it is determined that the connected area is completed, and the contents of the label buffer are written at the position of label ID = 3 in the label storage memory.
[0069]
In FIG. 37, since MTX is “0011”, it is determined that the connected region is started, and it can be seen that MTX3 is a pixel already labeled with label ID = 5. 5 is read, label ID = 5 and its area “5” are written to the label buffer, and “1” is added to the area to obtain “6”.
[0070]
In FIG. 38, since MTX is “1111”, it is determined that the connected region is continued, and 1 is added to the label buffer area to obtain “7”. Also in FIG. 39, since MTX is “1111”, it is determined that the connected region is continued, and 1 is added to the area of the label buffer to obtain “8”.
[0071]
In FIG. 40, since MTX is “1110”, it is determined that the connected region is continued. However, since MTX4 is “0”, there is no addition for the target pixel, and the process proceeds without doing anything.
[0072]
In FIG. 41, since MTX is “1011”, it is determined that the connected region is continued, and 1 is added to the area of the label buffer to obtain “9”. In FIG. 42, since MTX is “1101”, it is determined that the connected region is continued, and 1 is added to the label buffer area to obtain “10”.
[0073]
In FIG. 43, since MTX is “0111”, it is determined that the connected region is continued, and it can be seen that MTX3 is a pixel already labeled with label ID = 6. Here, since there are a plurality of labeled pixels with label ID = 5 and label ID = 6 in MTX, the smaller label ID = 5 is selected as a preset rule, and the label is stored. The area of label ID = 6 recorded in the memory is added to the area of label ID = 5 of the label buffer to obtain “11”. Further, “1” is added to the area to obtain “12”. Further, since the use of label ID = 6 is stopped, the empty flag of label ID = 6 in the label storage memory is set to 1, and label ID = 6 is added to the empty label FIFO.
[0074]
In FIG. 44, since MTX is “1100” and the label is interrupted, it is determined that the connected area is completed, and the contents of the label buffer are written at the position of label ID = 5 in the label storage memory.
[0075]
As described above, from the binary image input data obtained by binarizing the image data sequentially input by the raster scan method, the target pixel and the scanned pixels positioned around the target pixel are converted into the pixel region MTX of 2 × 2 matrix. As a result, it is possible to correctly determine the start, continuation, and end of the connected region from the pixel value of the pixel region MTX, and label the connected region of the two-dimensional binary image data by one scan. It can be carried out.
[0076]
  As explained above, according to the present invention,, PaintingWhen the image data is labeled, it is input sequentially.PaintingBy extracting the target pixel and scanned pixels located around the target pixel from the image input data as a pixel area of a 2 × 2 matrix, and determining the start, continuation, and end of the connected area from the pixel value, the label Therefore, it is possible to provide a labeling apparatus and a labeling method for performing a labeling process that can perform labeling by one scan without requiring re-scanning for re-attaching.
[0077]
Furthermore, according to the present invention, since labeling can be performed by one scan, a series of labeling processes are performed in synchronization with pixel output signals of image data obtained from the imaging device, so that image data can be input. It becomes possible to perform labeling processing in real time. For example, by configuring pipeline type hardware, it is possible to provide a labeling apparatus that performs labeling processing in real time with hardware of a practical scale.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a labeling apparatus according to an embodiment of the present invention.
FIG. 2 is a diagram showing an algorithm for determining the start, continuation, or end of a connected region from the pixel value of the pixel region and labeling the target pixel.
FIG. 3 is a diagram showing an algorithm for determining the start, continuation, or end of a connected region from the pixel value of the pixel region and labeling the target pixel.
FIG. 4 is a diagram showing an example of an image to be processed.
FIG. 5 is a diagram illustrating a labeling processing operation for an image example.
FIG. 6 is a diagram illustrating a labeling process operation for an image example.
FIG. 7 is a diagram illustrating a labeling process operation for an image example.
FIG. 8 is a diagram illustrating a labeling process operation for an image example.
FIG. 9 is a diagram for explaining a labeling processing operation for an image example;
FIG. 10 is a diagram illustrating a labeling process operation for an image example.
FIG. 11 is a diagram for explaining a labeling processing operation for an image example;
FIG. 12 is a diagram illustrating a labeling process operation for an image example.
FIG. 13 is a diagram for explaining a labeling processing operation for an image example;
FIG. 14 is a diagram illustrating a labeling process operation for an image example.
FIG. 15 is a diagram for explaining a labeling processing operation for an image example;
FIG. 16 is a diagram illustrating a labeling process operation for an image example.
FIG. 17 is a diagram illustrating a labeling process operation for an image example.
FIG. 18 is a diagram illustrating a labeling process operation for an image example.
FIG. 19 is a diagram illustrating a labeling process operation for an image example.
FIG. 20 is a diagram illustrating a labeling process operation for an image example.
FIG. 21 is a diagram illustrating a labeling process operation for an image example.
FIG. 22 is a diagram illustrating a labeling process operation for an image example.
FIG. 23 is a diagram illustrating a labeling process operation for an image example.
FIG. 24 is a diagram for explaining a labeling processing operation for an image example;
FIG. 25 is a diagram for explaining a labeling processing operation for an image example;
FIG. 26 is a diagram illustrating a labeling process operation for an image example.
FIG. 27 is a diagram for explaining a labeling processing operation for an image example;
FIG. 28 is a diagram illustrating a labeling process operation for an image example.
FIG. 29 is a diagram illustrating a labeling process operation for an image example.
FIG. 30 is a diagram illustrating a labeling process operation for an image example.
FIG. 31 is a diagram for explaining a labeling processing operation for an image example;
FIG. 32 is a diagram illustrating a labeling process operation for an image example.
FIG. 33 is a diagram illustrating a labeling process operation for an image example.
FIG. 34 is a diagram illustrating a labeling process operation for an image example.
FIG. 35 is a diagram for explaining a labeling processing operation for an image example;
FIG. 36 is a diagram for explaining a labeling processing operation for an image example;
FIG. 37 is a diagram illustrating a labeling process operation for an image example.
FIG. 38 is a diagram illustrating a labeling process operation for an image example.
FIG. 39 is a diagram for explaining a labeling processing operation for an image example;
FIG. 40 is a diagram illustrating a labeling process operation for an image example.
FIG. 41 is a diagram illustrating a labeling process operation for an image example.
FIG. 42 is a diagram illustrating a labeling process operation for an image example.
FIG. 43 is a diagram illustrating a labeling process operation for an image example.
FIG. 44 is a diagram for explaining a labeling processing operation for an image example;
FIG. 45 is a diagram for explaining a conventional labeling method.
[Explanation of symbols]
1 Camera clock
2 Timing generation circuit
3 Area counting circuit
4 Label table
5 Binary image data input
6 Line buffer
7 Label update circuit
8 Label ID generator
9 Label initialization circuit
10 Empty label memory (empty label FIFO)
11 Label buffer
12 Label storage memory

Claims (8)

画像データの連結領域に対してラベル付けを行うラベリング装置において、
入力された画像データから画像入力データを得る手段と、
スキャン位置にある対象画素より前にスキャンされた最新の少なくとも1ライン分の前記画像入力データを保持するラインバッファと、
前記ラインバッファに保持された画像入力データからスキャン位置にある対象画素を含む2×2マトリクスの画素領域を抽出するマトリクス抽出手段と、
抽出された前記画素領域の画素値により連結領域の開始または継続または終了を判定し、前記対象画素に対するラベル付けを行うラベル付け手段と、
ラベル付けされた連結領域の情報を格納するラベル情報格納メモリと、を具備し、
前記ラベル付け手段は、前記対象画素について連結領域の継続を判定した場合に、抽出された前記画素領域に番号の異なる複数のラベルでラベル付けされた画素がある場合は、最も小さい番号のラベルを選択し、前記選択されたラベルを前記継続を判定した連結領域の全画素に与えるラベルとするようにラベル付けを行うことを特徴とするラベリング装置。
In the labeling device that labels the connected areas of image data,
Means for obtaining image input data from input image data;
A line buffer for holding the image input data for the latest at least one line scanned before the target pixel at the scan position;
Matrix extraction means for extracting a pixel region of 2 × 2 matrix including the target pixel at the scan position from the image input data held in the line buffer;
Labeling means for determining the start or continuation or end of a connected region based on the pixel value of the extracted pixel region, and for labeling the target pixel;
A label information storage memory for storing the information of the labeled connected area,
It said labeling means, when it is determined to continue the connection region for the target pixel, when there is a labeled pixel in the plurality of labels with different numbers extracted the pixel regions, the lowest numbered labels A labeling device that selects and performs labeling so that the selected label is a label that is given to all the pixels in the connected region that has been determined to continue.
前記ラベル付け手段は、1つ前の対象画素の判定結果をラベルバッファに仮ラベルとして保存し、前記対象画素の判定結果に基づいて前記対象画素および前記仮ラベルにラベル付けを行うことを特徴とする請求項1記載のラベリング装置。  The labeling means stores a determination result of the previous target pixel as a temporary label in a label buffer, and performs labeling on the target pixel and the temporary label based on the determination result of the target pixel. The labeling device according to claim 1. 前記ラベル付け手段は、前記対象画素について連結領域の開始を判定した場合に、抽出された前記画素領域にすでにラベル付けされた画素がある場合は、前記すでにラベル付けされた画素のラベルを前記対象画素に与えるラベルとするようにラベル付けを行うことを特徴とする請求項1または2記載のラベリング装置。  When the labeling unit determines the start of a connected region for the target pixel, and there is a pixel that has already been labeled in the extracted pixel region, the label of the pixel that has already been labeled is the target The labeling apparatus according to claim 1, wherein the labeling is performed so that the label is given to the pixel. 前記ラベル付け手段によりラベル付けを行うために、使用中止のラベルを含む使用可能なラベルを空きラベルとして格納する空きラベルメモリを具備することを特徴とする請求項1から3のうちいずれか一項記載のラベリング装置。  4. An empty label memory for storing usable labels including unused labels as empty labels for labeling by the labeling means. The labeling device described. 前記画像データの2次元スキャン方向に増加する座標i、jにおける対象画素P(i,j)に対して、前記2×2マトリクスの画素領域は、画素P(i,j)、P(i−1,j)、P(i,j−1)、P(i−1,j−1)から構成されることを特徴とする請求項1から4のうちいずれか一項記載のラベリング装置。  With respect to the target pixel P (i, j) at coordinates i, j that increase in the two-dimensional scan direction of the image data, the pixel area of the 2 × 2 matrix has pixels P (i, j), P (i− 1, j), P (i, j−1), P (i−1, j−1), and the labeling device according to claim 1. 画像データの連結領域に対してラベル付けを行うラベリング方法であって、前記画像データの全画素を順次対象画素としてスキャンし、スキャン方向に増加する座標i、jにおける前記対象画素P(i,j)について、画素P(i,j)、P(i−1,j)、P(i,j−1)、P(i−1,j−1)から構成される2×2マトリクスの画素領域を抽出し、抽出された前記画素領域の画素値により連結領域の開始または継続または終了を判定することにより、前記対象画素に対するラベル付けを行うに際し、
前記対象画素について連結領域の継続を判定した場合に、抽出された前記画素領域に番号の異なる複数のラベルでラベル付けされた画素がある場合は、最も番号の小さいラベルを選択し、前記選択されたラベルを前継続を判定した連結領域の全画素に与えるラベルとするようにラベル付けを行うことを特徴とするラベリング方法。
A labeling method for labeling connected regions of image data, wherein all pixels of the image data are sequentially scanned as target pixels, and the target pixels P (i, j at coordinates i, j that increase in the scanning direction are scanned. ), A pixel region of a 2 × 2 matrix composed of pixels P (i, j), P (i−1, j), P (i, j−1), and P (i−1, j−1) When performing labeling on the target pixel by determining the start or continuation or end of the connected region based on the pixel value of the extracted pixel region,
When it is determined to continue the connected region for the target pixel, if there is a pixel labeled with a plurality of labels with different numbers in the extracted pixel region, the label with the smallest number is selected and the selected labeling method characterized in that to label to a label that gives the label to all the pixels of the connecting region is determined before Symbol continue was.
1つ前の対象画素の判定結果をラベルバッファに仮ラベルとして保存し、前記対象画素の判定結果に基づいて前記対象画素および前記仮ラベルにラベル付けを行うことを特徴とする請求項6記載のラベリング方法。  The determination result of the previous target pixel is stored as a temporary label in a label buffer, and the target pixel and the temporary label are labeled based on the determination result of the target pixel. Labeling method. 前記対象画素について連結領域の開始を判定した場合に、抽出された前記画素領域にすでにラベル付けされた画素がある場合は、前記すでにラベル付けされた画素のラベルを前記対象画素に与えるラベルとするようにラベル付けを行うことを特徴とする請求項6または7記載のラベリング方法。  When it is determined that a connected area starts for the target pixel, and there is a pixel that is already labeled in the extracted pixel area, a label that gives the target pixel the label of the already labeled pixel is used. The labeling method according to claim 6 or 7, wherein labeling is performed as follows.
JP2001242409A 2001-08-09 2001-08-09 Labeling apparatus and labeling method Expired - Fee Related JP4754118B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001242409A JP4754118B2 (en) 2001-08-09 2001-08-09 Labeling apparatus and labeling method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001242409A JP4754118B2 (en) 2001-08-09 2001-08-09 Labeling apparatus and labeling method

Publications (2)

Publication Number Publication Date
JP2003058895A JP2003058895A (en) 2003-02-28
JP4754118B2 true JP4754118B2 (en) 2011-08-24

Family

ID=19072683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001242409A Expired - Fee Related JP4754118B2 (en) 2001-08-09 2001-08-09 Labeling apparatus and labeling method

Country Status (1)

Country Link
JP (1) JP4754118B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008225739A (en) * 2007-03-12 2008-09-25 Mitsubishi Electric Corp Feature amount measuring method and feature amount measuring apparatus
KR101026051B1 (en) 2008-12-15 2011-03-30 삼성전기주식회사 Method for grouping pixels in 2d digital image
JP5188429B2 (en) * 2009-03-24 2013-04-24 富士重工業株式会社 Environment recognition device
JP6681077B2 (en) * 2017-06-16 2020-04-15 株式会社アクセル Labeling processor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61878A (en) * 1984-06-14 1986-01-06 Yokogawa Hokushin Electric Corp Label attaching circuit
JPH0724060B2 (en) * 1986-07-11 1995-03-15 日本電信電話株式会社 Pattern data inspection method
JPH0512444A (en) * 1991-06-28 1993-01-22 Yokogawa Electric Corp One-picture/one-scan type feature amount measuring device
JP3119011B2 (en) * 1993-03-09 2000-12-18 横河電機株式会社 Image processing device
JPH07182515A (en) * 1993-12-24 1995-07-21 Canon Inc Labelling circuit

Also Published As

Publication number Publication date
JP2003058895A (en) 2003-02-28

Similar Documents

Publication Publication Date Title
JP2002513476A (en) Data conversion method and device
EP0200885A2 (en) Method and apparatus for processing image data
JPH05242246A (en) Method and device for extracting outline of picture
JP4754118B2 (en) Labeling apparatus and labeling method
JPH06203153A (en) Method and device for processing image
US5835629A (en) Code pattern-image processing apparatus
WO2018073888A1 (en) Image processing method and image processing device
JP4661529B2 (en) Image processing device
JPS6261175A (en) Apparatus for analyzing connecting property of pixel
JP2000121337A (en) Method and device for image correction
JP3473056B2 (en) Image processing method and apparatus
JP5300666B2 (en) Labeling processing method, and system, apparatus and program thereof
JPH0129643Y2 (en)
JPH05151350A (en) Method for correcting position distortion of image data
JP2644770B2 (en) Pattern inspection method and apparatus
JPS61145689A (en) Area labeling circuit
JP2000011175A (en) Device for inspecting defect and method therefor
JPH05233807A (en) Device and method for labelling processing
JPH0465058A (en) Electron beam apparatus and its image taking method
JPH07322251A (en) Image processing unit and data compression method
JPH11345333A (en) Labeling processing system and method therefor
JP2910295B2 (en) Contour information extraction device
JPS60162379A (en) Control method for picture memory access
JPH0916764A (en) Image processor
JPH06342280A (en) Video character pattern processor

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060324

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071114

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071121

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071128

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071205

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071212

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080416

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110215

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110404

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110525

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140603

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees