JP5300666B2 - ラベリング処理方法、並びにそのシステム、装置及びプログラム - Google Patents
ラベリング処理方法、並びにそのシステム、装置及びプログラム Download PDFInfo
- Publication number
- JP5300666B2 JP5300666B2 JP2009202922A JP2009202922A JP5300666B2 JP 5300666 B2 JP5300666 B2 JP 5300666B2 JP 2009202922 A JP2009202922 A JP 2009202922A JP 2009202922 A JP2009202922 A JP 2009202922A JP 5300666 B2 JP5300666 B2 JP 5300666B2
- Authority
- JP
- Japan
- Prior art keywords
- label
- variable
- value
- row
- pixel
- 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
Links
- 238000002372 labelling Methods 0.000 title claims abstract description 310
- 238000003672 processing method Methods 0.000 title claims description 86
- 238000012545 processing Methods 0.000 claims abstract description 133
- 230000001174 ascending effect Effects 0.000 claims abstract description 15
- 238000000034 method Methods 0.000 claims description 209
- 230000010354 integration Effects 0.000 claims description 39
- 238000012805 post-processing Methods 0.000 claims description 26
- 230000015654 memory Effects 0.000 claims description 21
- 238000004364 calculation method Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 47
- 230000000644 propagated effect Effects 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
- Image Analysis (AREA)
Description
ステップS1において、ラベル付けの処理を画素毎に行う。画素毎の処理では、ラベル変数Pの値(即ち、2値画像の画素値)と、ラベル変数Pに連結する論理マスク108中のラベル変数X,Y,Z,Uのラベル値とに基づいて、次の(Case1)〜(Case8)に示す場合分け条件の基でラベル変数PおよびZにラベルを付与して1次ラベリング後のラベル画像を生成し、テーブルLRAMにラベル間連結情報を記録する。ここで、ラベル変数Pの1つ前の行に位置するラベル変数Zにラベル値を付与することで、現在行の1つ前の行のラベル値を書き直している。
(Case1)P=0の場合
Z←Z*を実行
(Case2)P≠0かつY≠0の場合
P←Y,
Z←Z*を実行
(Case3)P≠0かつY=0かつZ=0かつV=0の場合
P←LC,
Z←0,
LRAM(LC)←LCを実行
後処理に LC←LC+1 を実行
(Case4)P≠0かつY=0かつZ=0かつV≠0の場合
P←V,
Z←0を実行
(Case5)P≠0かつY=0かつZ≠0かつV≠0かつZ*>Vの場合
P←V,
LRAM(Z*)←V,
Z←Vを実行
(Case6)P≠0かつY=0かつZ≠0かつV≠0かつZ*<Vの場合
P←Z*,
LRAM(V)←Z*,
Z←Z*を実行
(Case7)P≠0かつY=0かつZ≠0かつV≠0かつZ*=Vの場合
P←V,
Z←Z*を実行
(Case8)P≠0かつY=0かつZ≠0かつV=0の場合
P←Z*,
Z←Z*を実行
ここで、P=0であることから、(Case1)の場合分けは、注目画素に位置するラベル変数Pのラベル付けが不要であることを意味している。(Case2)の場合分けは、ラベル変数Pがラベル変数Yと連結し、ラベル変数Pにラベル変数Yと同じラベル値を付与することを意味している。(Case3)の場合分けは、注目画素の周囲に位置するラベル変数Z,Y,Z,Uの値が全て0であることから、ラベル変数Pが周囲のどのラベル変数とも連結せずに、ラベル変数Pに新たなラベル値を付与することを意味している。(Case4)の場合分けは、ラベル変数Pがラベル変数XまたはUと連結することを意味している。(Case5)〜(Case7)の場合分けは、ラベル変数Pが、ラベル変数Zとラベル変数XまたはUとで連結することを意味しており、さらに変数Z*および変数Vを大小比較して、小さい方の値で更新を行うことを意味している。(Case8)の場合分けは、ラベル変数Pがラベル変数Zと連結することを意味している。
(ss31) k←1を実行
(ss32) LRAM(k)←LRAM(LRAM(k))を実行
(ss33) k←k+1を実行
(ss34) k≦NRの場合はサブステップ(ss32)を実行
それ以外の場合は終了
次に、ステップS4において、注目画素が位置する行が、画像内の最後の行であるか否かを判断する。最後の行である場合はステップS5を実行し、そうでない場合は、図1に示すラスタ走査順の次の画素(即ち、次の行の最初の画素)に対してステップS1を実行する。
ステップS5において、連続したラベル値の付与処理を画像毎に行う。次のサブステップ(ss51)〜(ss56)に示す処理を行って、領域毎に付与したラベル値を連続した値に並び替えした後、もう1度画像109をラスタ走査しながら、テーブルLRAMに記録しておいたラベル間連結情報(ステップS3において行毎に統合処理済み)に基づいてラベル値の読み替えを行い、1つの連結領域には1つのラベルが付与されるようにする。即ち、サブステップ(ss51)〜(ss56)に示す処理により、テーブルLRAMに記録しておいたラベル値を連続した値に並び替えした後、1次ラベリング処理後のラベル画像のラベル値を画素単位で出力する際に、テーブルLRAMをルックアップテーブル方式で参照しながら、ラベル値を読み替えて2次ラベリング後のラベル画像として生成する。
(ss51) k←1,j←1を実行
(ss52) LRAM(k)=kの場合はサブステップ(ss53)を実行
それ以外の場合はサブステップ(ss54)を実行
(ss53) LRAM(k)←jを実行
後処理に j←j+1 を実行し、サブステップ(ss55)を実行
(ss54) LRAM(k)←LRAM(LRAM(k))を実行
(ss55) k←k+1を実行
(ss56) k≦NDの場合はサブステップ(ss52)を実行
それ以外の場合は終了
ステップS5の処理を終了すると、ラベリング処理を終了する。
前記第1のステップが、次の(Case1)〜(Case8)に示す場合分け条件の基で前記ラベル変数Pおよび前記ラベル変数Zにラベル値を付与し、
(Case1)P=0の場合
Z←Z*を実行
(Case2)P≠0かつY≠0の場合
P←Y,
Z←Z*を実行
(Case3)P≠0かつY=0かつZ=0かつV=0の場合
P←LC,
Z←0,
LRAM(LC)←LCを実行
後処理に LC←LC+1 を実行
(Case4)P≠0かつY=0かつZ=0かつV≠0の場合
P←V,
Z←0を実行
(Case5)P≠0かつY=0かつZ≠0かつV≠0かつZ*>Vの場合
P←V,
LRAM(Z*)←V,
Z←Vを実行
(Case6)P≠0かつY=0かつZ≠0かつV≠0かつZ*<Vの場合
P←Z*,
LRAM(V)←Z*,
Z←Z*を実行
(Case7)P≠0かつY=0かつZ≠0かつV≠0かつZ*=Vの場合
P←V,
Z←Z*を実行
(Case8)P≠0かつY=0かつZ≠0かつV=0の場合
P←Z*,
Z←Z*を実行
ここで、前記第1の配列がLRAMであり、ラベルの個数を表す変数がLCであり、変数Vが、V=Max{X,U}であり、変数Z*が、Z*=LRAM(LRAM(Z))であり、
前記第1のラベル変数にラベル値を付与する度に、次のサブステップ(ss21)〜(ss22)に示す処理を行い、
(ss21) 行の開始直前、または前の行の終了後に
Row_Max←LCを実行
(ss22) 上記(Case2)から(Case8)の何れかに該当する場合にのみ次の処理を実行する
label>=Row_Maxの場合は
sub_LC←sub_LC+1,
sub_LRAM(sub_LC)←label,
flag(label)←1を実行
それ以外の場合は flag(label)←1 を実行
ここで、前記第2の配列がsub_LRAMであり、変数labelが、注目画素に付与したラベル値であり、変数sub_LCは、前記第2の配列の添え字であり、変数Row_Maxが、行の先頭での変数LCの値であり、flagが、同じ行中に新たなラベル値が出現したか否かを判断するための第3の配列であり、
前記第2のステップが、次のサブステップ(ss31)〜(ss34)に示す処理を行い、
(ss31) l←1,m←0を実行
(ss32) k←sub_LRAM(l),
LRAM(k)←LRAM(LRAM(k))を実行
k=LRAM(k)かつflag(k)=1の場合はさらに
m←m+1,
sub_LRAM(m)←k,
flag(k)←0を実行
(ss33) l←l+1を実行
(ss34) l<=sub_LCの場合はサブステップ(ss32)を実行
それ以外の場合はsub_LC←mを実行
ここで、変数lおよび変数mが一時変数であり、変数kが、前記第1の配列の添え字であり、
前記第3のステップが、次のサブステップ(ss41)〜(ss46)に示す処理を行い、
(ss41) k←1,j←1を実行
(ss42) LRAM(k)=kの場合はサブステップ(ss43)を実行
それ以外の場合はサブステップ(ss44)を実行
(ss43) LRAM(k)←jを実行
後処理に j←j+1 を実行し、サブステップ(ss45)を実行
(ss44) LRAM(k)←LRAM(LRAM(k))を実行
(ss45) k←k+1を実行
(ss46) k≦NDの場合はサブステップ(ss42)を実行
それ以外の場合は終了
ここで、定数NDが、入力画像内に出現した最大ラベル数であり、変数jがラベル値であることを特徴とする。
前記第1のステップが、次の(Case1)〜(Case12)に示す場合分け条件の基で前記ラベル変数Pおよび前記ラベル変数Zにラベル値を付与し、且つ、前記左端点ラベル変数P+および前記左端点ラベル変数Z+に左端点ラベル値を付与し、
(Case1)P=0かつZ+≠0の場合
LEPT(Z+)←(Z+)*,
LEPT_MIN(Z+)←Lmin(Z+),
Zvector←[(Z+)*,Lmin(Z+)]Tを実行
(Case2)P≠0かつV+=0かつY+=0かつZ+=0の場合
Pvector←[LLC,LC]T,
LEPT(LLC)←LLC,
LEPT_MIN(LLC)←LC,
LRAM(LC)←LCを実行
後処理に (LLC++,LC++) を実行
(Case3)P≠0かつY+≠0かつsign(Y+)=sign(Row)の場合
Pvector←Yvectorを実行
さらに(Z+≠0)の場合は Zvector←[(Z+)*,Lmin(Z+)]T を実行
(Case4)P≠0かつY+≠0かつsign(Y+)≠sign(Row)の場合
Pvector←[LLC,Y]T,
LEPT(LLC)←LLC,
LEPT_MIN(LLC)←Y,
LEPT(Y+)←LLCを実行
後処理に LLC++ を実行
さらに(Z+≠0)の場合は Zvector←[(Z+)*,Lmin(Z+)]T を実行
(Case5)P≠0かつY+=0かつV+≠0かつZ+=0かつsign(V+)=sign(Row)の場合
Pvector←Vvectorを実行
(Case6)P≠0かつY+=0かつV+≠0かつZ+=0かつsign(V+)≠sign(Row)の場合
Pvector←[LLC,V]T,
LEPT(LLC)←LLC,
LEPT_MIN(LLC)←V,
LEPT(V+)←LLCを実行
後処理に LLC++ を実行
(Case7)P≠0かつZ+≠0かつY+=0かつV+=0かつsign((Z+)*)=sign(Row)の場合
Pvector←[(Z+)*,Lmin(Z+)]T,
Zvector←[(Z+)*,Lmin(Z+)]Tを実行
(Case8)P≠0かつZ+≠0かつY+=0かつV+=0かつsign((Z+)*)≠sign(Row)の場合
Pvector←[LLC,Lmin(Z+)]T,
Zvector←[LLC,Lmin(Z+)]T,
LEPT(LLC)←LLC,
LEPT_MIN(LLC)←Lmin(Z+),
LEPT((Z+)*)←LLCを実行
後処理に LLC++ を実行
(Case9)P≠0かつV+≠0かつZ+≠0かつY+=0かつsign(V+)=sign(Row)かつsign((Z+)*)=sign(Row)の場合
Pvector←[(Z+)*,Lmin(Z+)]T,
Zvector←[(Z+)*,Lmin(Z+)]T,
LEPT(V+)←(Z+)*,
LEPT_MIN(V+)←Lmin(Z+),
LRAM(V)←Lmin(Z+)を実行
(Case10)P≠0かつV+≠0かつZ+≠0かつY+=0かつsign(V+)=sign(Row)かつsign((Z+)*)≠sign(Row)の場合
(a)V≧Lmin(Z+)の場合
Pvector←[V+,Lmin(Z+)]T,
Zvector←[V+,Lmin(Z+)]T,
LEPT((Z+)*)←V+,
LEPT_MIN(V+)←Lmin(Z+),
LRAM(V)←Lmin(Z+)を実行
(b)V<Lmin(Z+)の場合
Pvector←[V+,V]T,
Zvector←[V+,V]T,
LEPT((Z+)*)←V+,
LEPT_MIN((Z+)*)←V,
LRAM(Lmin(Z+))←Vを実行
(Case11)P≠0かつV+≠0かつZ+≠0かつY+=0かつsign(V+)≠sign(Row)かつsign((Z+)*)=sign(Row)の場合
Pvector←[(Z+)*,Lmin(Z+)]T,
Zvector←[(Z+)*,Lmin(Z+)]T,
LEPT(V+)←(Z+)*,
LEPT_MIN(V+)←Lmin(Z+),
LRAM(V)←Lmin(Z+)を実行
(Case12)P≠0かつV+≠0かつZ+≠0かつY+=0かつsign(V+)≠sign(Row)かつsign((Z+)*)≠sign(Row)の場合
(a)V≧Lmin(Z+)の場合
Pvector←[LLC,Lmin(Z+)]T,
Zvector←[LLC,Lmin(Z+)]T,
LEPT(LLC)←LLC,
LEPT_MIN(LLC)←Lmin(Z+),
LEPT(V+)←LLC,
LEPT((Z+)*)←LLC,
LRAM(V)←Lmin(Z+)を実行
後処理に LLC++ を実行
(b)V<Lmin(Z+)の場合
Pvector←[LLC,V]T,
Zvector←[LLC,V]T,
LEPT(LLC)←LLC,
LEPT_MIN(LLC)←V,
LEPT(V+)←LLC,
LEPT((Z+)*)←LLC,
LEPT_MIN((Z+)*)←V,
LRAM(Lmin(Z+))←V
後処理に LLC++ を実行
ここで、前記第1の配列がLRAMであり、前記第2の配列がLEPTであり、前記第3の配列がLEPT_MINであり、実ラベルの個数を表す変数がLCであり、左端点ラベルの個数を表す変数がLLCであり、変数Vが、V=Max{X,U}であり、変数(Z+)*が(Z+)*=LEPT(LEPT(Z+))であり、変数Lmin(Z+)がLmin(Z+)=LEPT_MIN(LEPT(Z+))であり、変数V+がV+=((U≠0かつX≠0のとき)U+,(U≠0かつX=0のとき)U+,(U=0かつX≠0のとき)X+,(U=0かつX=0のとき)0)であり、sign(X+)は、左端点ラベル変数X+の符号を表し、sign(Row)は現在行の符号を表し、
前記第2のステップが、次のサブステップ(ss21)〜(ss26)に示す処理を行い、
(ss21) k←1,j←1
(ss22) LRAM(k)=kの場合はサブステップ(ss23)を実行、それ以外の場合はサブステップ(ss24)を実行
(ss23) LRAM(k)←j
後処理に j←j+1 を実行し、サブステップ(ss25)を実行
(ss24) LRAM(k)←LRAM(LRAM(k))
(ss25) k←k+1
(ss26) k≦NDの場合はサブステップ(ss22)を実行、それ以外の場合は終了
ここで、定数NDが、入力画像内に出現した最大ラベル数であり、変数jがラベル値であり、変数kが、前記第1の配列の添え字であることを特徴とする。
本発明の第1の実施形態に係るラベリング処理方法は、画素毎のラベル付け処理においてラベル値を付与する度に、1つの同じ行中に出現したラベル値のうち、今後も出現する可能性のあるラベル値を予め記録しておくことで、行毎のラベル間連結情報の統合処理を行う際に、現在行で出現したラベル値のみを小さい順に統合する処理を行う。
ステップS11において、ラベル付けの処理を画素毎に行う。まず、従来技術に係るステップS1において説明した(Case1)〜(Case8)に示す場合分け条件の基でラベル変数PおよびZにラベルを付与して1次ラベリング後のラベル画像を生成し、テーブルLRAMにラベル間連結情報を記録する。(Case1)〜(Case8)に示すラベル付け処理は、上記した従来技術に係るステップS1において行うラベル付け処理と同じであるため、その説明を省略する。
(ss121) 行の開始直前、または前の行の終了後に
Row_Max←LCを実行
(ss122) (Case2)から(Case8)の何れかに該当する場合にのみ次の処理を実行する。
sub_LC←sub_LC+1,
sub_LRAM(sub_LC)←label,
flag(label)←1を実行
それ以外の場合は flag(label)←1 を実行
次に、ステップS13において、注目画素が行中の最後の画素であるか否かを判断する。最後の画素である場合はステップS14を実行し、そうでない場合は、ラスタ走査順の次の画素に対してステップS11を実行する。
(ss141) l←1,m←0を実行
(ss142) k←sub_LRAM(l),
LRAM(k)←LRAM(LRAM(k))を実行
k=LRAM(k)かつflag(k)=1の場合はさらに
m←m+1,
sub_LRAM(m)←k,
flag(k)←0を実行
(ss143) l←l+1を実行
(ss144) l<=sub_LCの場合はサブステップ(ss142)を実行
それ以外の場合はsub_LC←mを実行
次に、ステップS15において、注目画素が位置する行が、画像内の最後の行であるか否かを判断する。最後の行である場合はステップS16を実行し、そうでない場合は、ラスタ走査順の次の画素(即ち、次の行の最初の画素)に対してステップS11を実行する。
ステップS16において、連続したラベル値の付与処理を画像毎に行う。ステップS16において行う2次ラベリング処理は、上記した従来技術に係るステップS5において行う2次ラベリングの処理と同じであるため、その説明を省略する。ステップS16の処理を終了すると、第1の実施形態に係るラベリング処理を終了する。
本発明の第2の実施形態に係るラベリング処理方法は、画像上部からのラベル値(以下、階層Aのラベル値とも記す)と、各行単位で管理する仮想ラベル値(以下、階層Bのラベル値とも記す)との2階層のラベル対を用いる。そして、この2階層ラベル対を管理しながら、階層Bの仮想ラベルを介して、行毎に、連結領域の最小ラベル値(階層A)と、現在行における左端点のラベル値(階層A)とを連結する。1次ラベリングの処理において実際に画像メモリに記録するのは、階層Aのラベル値である。
ステップS21において、ラベル付けの処理を画素毎に行う。次の(Case1)〜(Case12)に示す場合分け条件の基でラベル変数PおよびZに実ラベルを付与して1次ラベリング後のラベル画像を生成し、テーブルLRAMにラベル間連結情報を記録する。
(Case1)P=0かつZ+≠0の場合
LEPT(Z+)←(Z+)*,
LEPT_MIN(Z+)←Lmin(Z+),
Zvector←[(Z+)*,Lmin(Z+)]Tを実行
(Case2)P≠0かつV+=0かつY+=0かつZ+=0の場合
Pvector←[LLC,LC]T,
LEPT(LLC)←LLC,
LEPT_MIN(LLC)←LC,
LRAM(LC)←LCを実行
後処理に (LLC++,LC++) を実行
(Case3)P≠0かつY+≠0かつsign(Y+)=sign(Row)の場合
Pvector←Yvectorを実行
さらに(Z+≠0)の場合は Zvector←[(Z+)*,Lmin(Z+)]T を実行
(Case4)P≠0かつY+≠0かつsign(Y+)≠sign(Row)の場合
Pvector←[LLC,Y]T,
LEPT(LLC)←LLC,
LEPT_MIN(LLC)←Y,
LEPT(Y+)←LLCを実行
後処理に LLC++ を実行
さらに(Z+≠0)の場合は Zvector←[(Z+)*,Lmin(Z+)]T を実行
(Case5)P≠0かつY+=0かつV+≠0かつZ+=0かつsign(V+)=sign(Row)の場合
Pvector←Vvectorを実行
(Case6)P≠0かつY+=0かつV+≠0かつZ+=0かつsign(V+)≠sign(Row)の場合
Pvector←[LLC,V]T,
LEPT(LLC)←LLC,
LEPT_MIN(LLC)←V,
LEPT(V+)←LLCを実行
後処理に LLC++ を実行
(Case7)P≠0かつZ+≠0かつY+=0かつV+=0かつsign((Z+)*)=sign(Row)の場合
Pvector←[(Z+)*,Lmin(Z+)]T,
Zvector←[(Z+)*,Lmin(Z+)]Tを実行
(Case8)P≠0かつZ+≠0かつY+=0かつV+=0かつsign((Z+)*)≠sign(Row)の場合
Pvector←[LLC,Lmin(Z+)]T,
Zvector←[LLC,Lmin(Z+)]T,
LEPT(LLC)←LLC,
LEPT_MIN(LLC)←Lmin(Z+),
LEPT((Z+)*)←LLCを実行
後処理に LLC++ を実行
(Case9)P≠0かつV+≠0かつZ+≠0かつY+=0かつsign(V+)=sign(Row)かつsign((Z+)*)=sign(Row)の場合
Pvector←[(Z+)*,Lmin(Z+)]T,
Zvector←[(Z+)*,Lmin(Z+)]T,
LEPT(V+)←(Z+)*,
LEPT_MIN(V+)←Lmin(Z+),
LRAM(V)←Lmin(Z+)を実行
(Case10)P≠0かつV+≠0かつZ+≠0かつY+=0かつsign(V+)=sign(Row)かつsign((Z+)*)≠sign(Row)の場合
(a)V≧Lmin(Z+)の場合
Pvector←[V+,Lmin(Z+)]T,
Zvector←[V+,Lmin(Z+)]T,
LEPT((Z+)*)←V+,
LEPT_MIN(V+)←Lmin(Z+),
LRAM(V)←Lmin(Z+)を実行
(b)V<Lmin(Z+)の場合
Pvector←[V+,V]T,
Zvector←[V+,V]T,
LEPT((Z+)*)←V+,
LEPT_MIN((Z+)*)←V,
LRAM(Lmin(Z+))←Vを実行
(Case11)P≠0かつV+≠0かつZ+≠0かつY+=0かつsign(V+)≠sign(Row)かつsign((Z+)*)=sign(Row)の場合
Pvector←[(Z+)*,Lmin(Z+)]T,
Zvector←[(Z+)*,Lmin(Z+)]T,
LEPT(V+)←(Z+)*,
LEPT_MIN(V+)←Lmin(Z+),
LRAM(V)←Lmin(Z+)を実行
(Case12)P≠0かつV+≠0かつZ+≠0かつY+=0かつsign(V+)≠sign(Row)かつsign((Z+)*)≠sign(Row)の場合
(a)V≧Lmin(Z+)の場合
Pvector←[LLC,Lmin(Z+)]T,
Zvector←[LLC,Lmin(Z+)]T,
LEPT(LLC)←LLC,
LEPT_MIN(LLC)←Lmin(Z+),
LEPT(V+)←LLC,
LEPT((Z+)*)←LLC,
LRAM(V)←Lmin(Z+)を実行
後処理に LLC++ を実行
(b)V<Lmin(Z+)の場合
Pvector←[LLC,V]T,
Zvector←[LLC,V]T,
LEPT(LLC)←LLC,
LEPT_MIN(LLC)←V,
LEPT(V+)←LLC,
LEPT((Z+)*)←LLC,
LEPT_MIN((Z+)*)←V,
LRAM(Lmin(Z+))←V
後処理に LLC++ を実行
次に、ステップS22において、注目画素が行中の最後の画素であるか否かを判断する。最後の画素である場合はステップS23を実行し、そうでない場合は、ラスタ走査順の次の画素に対してステップS21を実行する。
ステップS24において、連続したラベル値の付与処理を画像毎に行う。ステップS24において行う2次ラベリング処理は、上記した従来技術に係るステップS5において行う2次ラベリングの処理と同じであるため、その説明を省略する。ステップS24の処理を終了すると、第2の実施形態に係るラベリング処理を終了する。
実施例1では、第1の実施形態に係るラベリング処理方法によるラベリング処理の一実施例を示す。
先ず、行の始めでRow_Max←1とする。注目画素(1,1)は(Case1)の場合分けに該当するので、Z←0とする。注目画素(1,2)〜(1、9)の画素毎の処理については、注目画素(1,1)の画素毎の処理と同じであるので、これらの説明を省略する。
まず、行の始めでRow_Max←2とする。注目画素(2,1)は(Case1)の場合分けに該当するので、Z←0とする。注目画素(2,2)〜(2、7)の画素毎の処理については、注目画素(2,1)の画素毎の処理と同じであるので、これらの説明を省略する。
まず、行の始めでRow_Max←3とする。注目画素(3,1)は(Case1)の場合分けに該当するので、Z←0とする。注目画素(3,2)〜(3、5)の画素毎の処理については、注目画素(3,1)の画素毎の処理と同じであるので、これらの説明を省略する。
まず、行の始めでRow_Max←4とする。注目画素(4,1)は(Case1)の場合分けに該当するので、Z←0とする。注目画素(4,2)〜(4、3)の画素毎の処理については、注目画素(4,1)の画素毎の処理と同じであるので、これらの説明を省略する。
まず、行の始めでRow_Max←5とする。注目画素(5,1)は(Case1)の場合分けに該当するので、Z←0とする。
実施例2では、第1の実施形態に係るラベリング処理方法によるラベリング処理の他の実施例を示す。
実施例3では、第2の実施形態に係るラベリング処理方法によるラベリング処理の一実施例を示す。
10 CPU
11 メモリ
12 記録部
13 バス
14 I/F部
20 2階層論理マスク
100 ラベリング処理装置
101 ラベル付け論理回路101
102 ラベル統合回路102
103 1次ラベリング側のLRAM
104 ラインバッファ
105 画像メモリ
106 2次ラベリング側のLRAM
108 論理マスク
109 画像
109A 走査済領域
A 1次ラベリング部
B 2次ラベリング部
C バス
D バス
E 現在行(点Pが存在する行)
F 連結経路
Claims (10)
- 演算部と記録部とを備えるシステムにおいて、前記記録部に記録されている画像データで表される入力画像に対して論理マスクをラスタ走査することにより、前記演算部が前記画像データのラベリング処理を行う方法であって、
前記論理マスクが、ラベル画像のラベル値を表す第1のラベル変数および第2のラベル変数を含み、前記第1のラベル変数が、前記入力画像内の注目画素が位置する点でのラベル変数であり、前記第2のラベル変数が、前記第1のラベル変数に接続する前記論理マスク内のラベル変数であり、前記第1のラベル変数の初期値が前記画像データの画素値であり、第1の配列が、前記第1のラベル変数と前記第2のラベル変数との間のラベル間連結情報を含み、
前記演算部が、前記画像データ内の画素毎に、前記第1のラベル変数の値と、前記第2のラベル変数のラベル値と、前記ラベル間連結情報とに基づいて、前記第1のラベル変数にラベル値を付与し、前記第1の配列に前記ラベル間連結情報を記録し、前記第1のラベル変数にラベル値を付与する度に、前記注目画素が位置する同じ行中に出現した前記ラベル値のうち、今後も出現する可能性のあるラベル値を、第2の配列に記録することを、前記注目画素が前記入力画像内の行中の最後の画素に達するまで繰り返し実行する第1のステップと、
前記演算部が、前記注目画素が前記入力画像内の行中の最後の画素である場合に、前記ラベル間連結情報および前記第2の配列に記録されている情報に基づいて、同じ行中に出現した前記ラベル値のみを小さい順に統合する第2のステップと、
前記演算部が、前記注目画素が位置する行が、前記入力画像内の最後の行である場合に、前記第1の配列に記録されている前記ラベル間連結情報に基づいて前記ラベル値の変更を行う第3のステップとを含むことを特徴とするラベリング処理方法。 - 前記第1のラベル変数がラベル変数Pであり、前記第2のラベル変数がラベル変数X,Y,Z,およびUを含み、前記ラベル変数Pが、前記ラベル変数X,Y,Z,およびUの各々と、それぞれ左上、上、右上、および左の位置で接続し、
前記第1のステップが、次の(Case1)〜(Case8)に示す場合分け条件の基で前記ラベル変数Pおよび前記ラベル変数Zにラベル値を付与し、
(Case1)P=0の場合
Z←Z*を実行
(Case2)P≠0かつY≠0の場合
P←Y,
Z←Z*を実行
(Case3)P≠0かつY=0かつZ=0かつV=0の場合
P←LC,
Z←0,
LRAM(LC)←LCを実行
後処理に LC←LC+1 を実行
(Case4)P≠0かつY=0かつZ=0かつV≠0の場合
P←V,
Z←0を実行
(Case5)P≠0かつY=0かつZ≠0かつV≠0かつZ*>Vの場合
P←V,
LRAM(Z*)←V,
Z←Vを実行
(Case6)P≠0かつY=0かつZ≠0かつV≠0かつZ*<Vの場合
P←Z*,
LRAM(V)←Z*,
Z←Z*を実行
(Case7)P≠0かつY=0かつZ≠0かつV≠0かつZ*=Vの場合
P←V,
Z←Z*を実行
(Case8)P≠0かつY=0かつZ≠0かつV=0の場合
P←Z*,
Z←Z*を実行
ここで、前記第1の配列がLRAMであり、ラベルの個数を表す変数がLCであり、変数Vが、V=Max{X,U}であり、変数Z*が、Z*=LRAM(LRAM(Z))であり、
前記第1のラベル変数にラベル値を付与する度に、次のサブステップ(ss21)〜(ss22)に示す処理を行い、
(ss21) 行の開始直前、または前の行の終了後に
Row_Max←LCを実行
(ss22) 上記(Case2)から(Case8)の何れかに該当する場合にのみ次の処理を実行する
label>=Row_Maxの場合は
sub_LC←sub_LC+1,
sub_LRAM(sub_LC)←label,
flag(label)←1を実行
それ以外の場合は flag(label)←1 を実行
ここで、前記第2の配列がsub_LRAMであり、変数labelが、注目画素に付与したラベル値であり、変数sub_LCは、前記第2の配列の添え字であり、変数Row_Maxが、行の先頭での変数LCの値であり、flagが、同じ行中に新たなラベル値が出現したか否かを判断するための第3の配列であり、
前記第2のステップが、次のサブステップ(ss31)〜(ss34)に示す処理を行い、
(ss31) l←1,m←0を実行
(ss32) k←sub_LRAM(l),
LRAM(k)←LRAM(LRAM(k))を実行
k=LRAM(k)かつflag(k)=1の場合はさらに
m←m+1,
sub_LRAM(m)←k,
flag(k)←0を実行
(ss33) l←l+1を実行
(ss34) l<=sub_LCの場合はサブステップ(ss32)を実行
それ以外の場合はsub_LC←mを実行
ここで、変数lおよび変数mが一時変数であり、変数kが、前記第1の配列の添え字であり、
前記第3のステップが、次のサブステップ(ss41)〜(ss46)に示す処理を行い、
(ss41) k←1,j←1を実行
(ss42) LRAM(k)=kの場合はサブステップ(ss43)を実行
それ以外の場合はサブステップ(ss44)を実行
(ss43) LRAM(k)←jを実行
後処理に j←j+1 を実行し、サブステップ(ss45)を実行
(ss44) LRAM(k)←LRAM(LRAM(k))を実行
(ss45) k←k+1を実行
(ss46) k≦NDの場合はサブステップ(ss42)を実行
それ以外の場合は終了
ここで、定数NDが、入力画像内に出現した最大ラベル数であり、変数jがラベル値であることを特徴とする請求項1に記載のラベリング処理方法。 - 演算部と記録部とを備え、前記記録部に記録されている画像データで表される入力画像に対して論理マスクをラスタ走査することにより、前記演算部が前記画像データのラベリング処理を行うシステムであって、
前記論理マスクが、ラベル画像のラベル値を表す第1のラベル変数および第2のラベル変数を含み、前記第1のラベル変数が、前記入力画像内の注目画素が位置する点でのラベル変数であり、前記第2のラベル変数が、前記第1のラベル変数に接続する前記論理マスク内のラベル変数であり、前記第1のラベル変数の初期値が前記画像データの画素値であり、第1の配列が、前記第1のラベル変数と前記第2のラベル変数との間のラベル間連結情報を含み、
前記演算部が、
前記画像データ内の画素毎に、前記第1のラベル変数の値と、前記第2のラベル変数のラベル値と、前記ラベル間連結情報とに基づいて、前記第1のラベル変数にラベル値を付与し、前記第1の配列に前記ラベル間連結情報を記録し、前記第1のラベル変数にラベル値を付与する度に、前記注目画素が位置する同じ行中に出現した前記ラベル値のうち、今後も出現する可能性のあるラベル値を、第2の配列に記録することを、前記注目画素が前記入力画像内の行中の最後の画素に達するまで繰り返し実行し、
前記注目画素が前記入力画像内の行中の最後の画素である場合に、前記ラベル間連結情報および前記第2の配列に記録されている情報に基づいて、同じ行中に出現した前記ラベル値のみを小さい順に統合し、
前記注目画素が位置する行が、前記入力画像内の最後の行である場合に、前記第1の配列に記録されている前記ラベル間連結情報に基づいて前記ラベル値の変更を行うことを特徴とするラベリング処理システム。 - ラベル付け論理回路と、ラベル統合回路と、ラインバッファと、画像メモリとを備え、画像データで表される入力画像に対して論理マスクをラスタ走査することにより、前記画像データのラベリング処理を行う装置であって、
前記論理マスクが、ラベル画像のラベル値を表す第1のラベル変数および第2のラベル変数を含み、前記第1のラベル変数が、前記入力画像内の注目画素が位置する点でのラベル変数であり、前記第2のラベル変数が、前記第1のラベル変数に接続する前記論理マスク内のラベル変数であり、前記第1のラベル変数の初期値が前記画像データの画素値であり、第1の配列が、前記第1のラベル変数と前記第2のラベル変数との間のラベル間連結情報を含み、
前記ラベル付け論理回路が、前記画像データ内の画素毎に、前記第1のラベル変数の値と、前記第2のラベル変数のラベル値と、前記ラベル間連結情報とに基づいて、前記第1のラベル変数にラベル値を付与し、前記第1の配列に前記ラベル間連結情報を記録し、前記ラベル付け論理回路が、前記第1のラベル変数にラベル値を付与する度に、前記注目画素が位置する同じ行中に出現した前記ラベル値のうち、今後も出現する可能性のあるラベル値を、第2の配列に記録することを、前記注目画素が前記入力画像内の行中の最後の画素に達するまで繰り返し実行し、
前記ラベル統合回路が、前記注目画素が前記入力画像内の行中の最後の画素である場合に、前記ラベル間連結情報および前記第2の配列に記録されている情報に基づいて、同じ行中に出現した前記ラベル値のみを小さい順に統合し、
前記ラベル統合回路が、前記注目画素が位置する行が、前記入力画像内の最後の行である場合に、前記第1の配列に記録されている前記ラベル間連結情報に基づいて前記ラベル値の変更を行うことを特徴とするラベリング処理装置。 - コンピュータに画像データのラベリング処理を行わせるプログラムであって、
論理マスクが、ラベル画像のラベル値を表す第1のラベル変数および第2のラベル変数を含み、前記第1のラベル変数が、入力画像内の注目画素が位置する点でのラベル変数であり、前記第2のラベル変数が、前記第1のラベル変数に接続する前記論理マスク内のラベル変数であり、前記第1のラベル変数の初期値が前記画像データの画素値であり、第1の配列が、前記第1のラベル変数と前記第2のラベル変数との間のラベル間連結情報を含み、
コンピュータに、
前記画像データ内の画素毎に、前記第1のラベル変数の値と、前記第2のラベル変数のラベル値と、前記ラベル間連結情報とに基づいて、前記第1のラベル変数にラベル値を付与し、前記第1の配列に前記ラベル間連結情報を記録し、前記第1のラベル変数にラベル値を付与する度に、前記注目画素が位置する同じ行中に出現した前記ラベル値のうち、今後も出現する可能性のあるラベル値を、第2の配列に記録することを、前記注目画素が前記入力画像内の行中の最後の画素に達するまで繰り返し実行する第1の機能と、
前記注目画素が前記入力画像内の行中の最後の画素である場合に、前記ラベル間連結情報および前記第2の配列に記録されている情報に基づいて、同じ行中に出現した前記ラベル値のみを小さい順に統合する第2の機能と、
前記注目画素が位置する行が、前記入力画像内の最後の行である場合に、前記第1の配列に記録されている前記ラベル間連結情報に基づいて前記ラベル値の変更を行う第3の機能とを実現させることを特徴とするラベリング処理プログラム。 - 演算部と記録部とを備えるシステムにおいて、前記記録部に記録されている画像データで表される入力画像に対して論理マスクをラスタ走査することにより、前記演算部が前記画像データのラベリング処理を行う方法であって、
前記論理マスクが第1の階層と第2の階層とを含む2階層の論理マスクであり、前記第1の階層が、ラベル画像の実ラベル値を表す第1のラベル変数および第2のラベル変数を含み、前記第2の階層が、左端点ラベル値を表す第3のラベル変数および第4のラベル変数を含み、前記第1のラベル変数が、前記入力画像内の注目画素が位置する点でのラベル変数であり、前記第2のラベル変数が、前記第1のラベル変数に接続する前記論理マスク内のラベル変数であり、前記第1のラベル変数の初期値が前記画像データの画素値であり、前記第3のラベル変数および前記第4のラベル変数の各々が、前記第1のラベル変数および前記第2のラベル変数の各々の位置に対応し、
第1の配列が、前記第1のラベル変数と前記第2のラベル変数との間の実ラベルの第1のラベル間連結情報を含み、第2の配列が、前記第3のラベル変数と前記第4のラベル変数との間の左端点ラベルの第2のラベル間連結情報を含み、第3の配列が、左端点ラベルと結合する実ラベルの最小値を含み、
前記演算部が、前記画像データ内の画素毎に、前記第1のラベル変数の値と、前記第4のラベル変数の左端点ラベル値と、前記第1のラベル間連結情報と、前記第2のラベル間連結情報と、前記実ラベルの最小値とに基づいて、前記第1のラベル変数に実ラベル値を付与し、且つ、前記第3のラベル変数に左端点ラベル値を付与し、前記第1の配列、前記第2の配列、および前記第3の配列の各々に、第1のラベル間連結情報、第2のラベル間連結情報、および実ラベルの最小値を各々記録することを、前記入力画像内の全ての画素に対して実行し、前記ラベル画像全体における前記実ラベル値と、前記注目画素が位置する行および前記注目画素が位置する1つ前の行の2行のみにおいて有効な前記左端点ラベル値との2重対を管理する第1のステップと、
前記演算部が、前記第1の配列に記録されている前記第1のラベル間連結情報に基づいて前記実ラベル値の変更を行う第2のステップとを含むことを特徴とするラベリング処理方法。 - 前記第1のラベル変数がラベル変数Pであり、前記第2のラベル変数がラベル変数X,Y,Z,およびUを含み、前記ラベル変数Pが、前記ラベル変数X,Y,Z,およびUの各々と、それぞれ左上、上、右上、および左の位置で接続し、前記第3のラベル変数が左端点ラベル変数P+であり、前記第4のラベル変数が左端点ラベル変数X+,Y+,Z+,およびU+を含み、前記左端点ラベル変数P+が、前記左端点ラベル変数X+,Y+,Z+,およびU+の各々と、それぞれ左上、上、右上、および左の位置で接続し、
前記第1のステップが、次の(Case1)〜(Case12)に示す場合分け条件の基で前記ラベル変数Pおよび前記ラベル変数Zにラベル値を付与し、且つ、前記左端点ラベル変数P+および前記左端点ラベル変数Z+に左端点ラベル値を付与し、
(Case1)P=0かつZ+≠0の場合
LEPT(Z+)←(Z+)*,
LEPT_MIN(Z+)←Lmin(Z+),
Zvector←[(Z+)*,Lmin(Z+)]Tを実行
(Case2)P≠0かつV+=0かつY+=0かつZ+=0の場合
Pvector←[LLC,LC]T,
LEPT(LLC)←LLC,
LEPT_MIN(LLC)←LC,
LRAM(LC)←LCを実行
後処理に (LLC++,LC++) を実行
(Case3)P≠0かつY+≠0かつsign(Y+)=sign(Row)の場合
Pvector←Yvectorを実行
さらに(Z+≠0)の場合は Zvector←[(Z+)*,Lmin(Z+)]T を実行
(Case4)P≠0かつY+≠0かつsign(Y+)≠sign(Row)の場合
Pvector←[LLC,Y]T,
LEPT(LLC)←LLC,
LEPT_MIN(LLC)←Y,
LEPT(Y+)←LLCを実行
後処理に LLC++ を実行
さらに(Z+≠0)の場合は Zvector←[(Z+)*,Lmin(Z+)]T を実行
(Case5)P≠0かつY+=0かつV+≠0かつZ+=0かつsign(V+)=sign(Row)の場合
Pvector←Vvectorを実行
(Case6)P≠0かつY+=0かつV+≠0かつZ+=0かつsign(V+)≠sign(Row)の場合
Pvector←[LLC,V]T,
LEPT(LLC)←LLC,
LEPT_MIN(LLC)←V,
LEPT(V+)←LLCを実行
後処理に LLC++ を実行
(Case7)P≠0かつZ+≠0かつY+=0かつV+=0かつsign((Z+)*)=sign(Row)の場合
Pvector←[(Z+)*,Lmin(Z+)]T,
Zvector←[(Z+)*,Lmin(Z+)]Tを実行
(Case8)P≠0かつZ+≠0かつY+=0かつV+=0かつsign((Z+)*)≠sign(Row)の場合
Pvector←[LLC,Lmin(Z+)]T,
Zvector←[LLC,Lmin(Z+)]T,
LEPT(LLC)←LLC,
LEPT_MIN(LLC)←Lmin(Z+),
LEPT((Z+)*)←LLCを実行
後処理に LLC++ を実行
(Case9)P≠0かつV+≠0かつZ+≠0かつY+=0かつsign(V+)=sign(Row)かつsign((Z+)*)=sign(Row)の場合
Pvector←[(Z+)*,Lmin(Z+)]T,
Zvector←[(Z+)*,Lmin(Z+)]T,
LEPT(V+)←(Z+)*,
LEPT_MIN(V+)←Lmin(Z+),
LRAM(V)←Lmin(Z+)を実行
(Case10)P≠0かつV+≠0かつZ+≠0かつY+=0かつsign(V+)=sign(Row)かつsign((Z+)*)≠sign(Row)の場合
(a)V≧Lmin(Z+)の場合
Pvector←[V+,Lmin(Z+)]T,
Zvector←[V+,Lmin(Z+)]T,
LEPT((Z+)*)←V+,
LEPT_MIN(V+)←Lmin(Z+),
LRAM(V)←Lmin(Z+)を実行
(b)V<Lmin(Z+)の場合
Pvector←[V+,V]T,
Zvector←[V+,V]T,
LEPT((Z+)*)←V+,
LEPT_MIN((Z+)*)←V,
LRAM(Lmin(Z+))←Vを実行
(Case11)P≠0かつV+≠0かつZ+≠0かつY+=0かつsign(V+)≠sign(Row)かつsign((Z+)*)=sign(Row)の場合
Pvector←[(Z+)*,Lmin(Z+)]T,
Zvector←[(Z+)*,Lmin(Z+)]T,
LEPT(V+)←(Z+)*,
LEPT_MIN(V+)←Lmin(Z+),
LRAM(V)←Lmin(Z+)を実行
(Case12)P≠0かつV+≠0かつZ+≠0かつY+=0かつsign(V+)≠sign(Row)かつsign((Z+)*)≠sign(Row)の場合
(a)V≧Lmin(Z+)の場合
Pvector←[LLC,Lmin(Z+)]T,
Zvector←[LLC,Lmin(Z+)]T,
LEPT(LLC)←LLC,
LEPT_MIN(LLC)←Lmin(Z+),
LEPT(V+)←LLC,
LEPT((Z+)*)←LLC,
LRAM(V)←Lmin(Z+)を実行
後処理に LLC++ を実行
(b)V<Lmin(Z+)の場合
Pvector←[LLC,V]T,
Zvector←[LLC,V]T,
LEPT(LLC)←LLC,
LEPT_MIN(LLC)←V,
LEPT(V+)←LLC,
LEPT((Z+)*)←LLC,
LEPT_MIN((Z+)*)←V,
LRAM(Lmin(Z+))←V
後処理に LLC++ を実行
ここで、前記第1の配列がLRAMであり、前記第2の配列がLEPTであり、前記第3の配列がLEPT_MINであり、実ラベルの個数を表す変数がLCであり、左端点ラベルの個数を表す変数がLLCであり、変数Vが、V=Max{X,U}であり、変数(Z+)*が(Z+)*=LEPT(LEPT(Z+))であり、変数Lmin(Z+)がLmin(Z+)=LEPT_MIN(LEPT(Z+))であり、変数V+がV+=((U≠0かつX≠0のとき)U+,(U≠0かつX=0のとき)U+,(U=0かつX≠0のとき)X+,(U=0かつX=0のとき)0)であり、sign(X+)は、左端点ラベル変数X+の符号を表し、sign(Row)は現在行の符号を表し、
前記第2のステップが、次のサブステップ(ss21)〜(ss26)に示す処理を行い、
(ss21) k←1,j←1
(ss22) LRAM(k)=kの場合はサブステップ(ss23)を実行、それ以外の場合はサブステップ(ss24)を実行
(ss23) LRAM(k)←j
後処理に j←j+1 を実行し、サブステップ(ss25)を実行
(ss24) LRAM(k)←LRAM(LRAM(k))
(ss25) k←k+1
(ss26) k≦NDの場合はサブステップ(ss22)を実行、それ以外の場合は終了
ここで、定数NDが、入力画像内に出現した最大ラベル数であり、変数jがラベル値であり、変数kが、前記第1の配列の添え字であることを特徴とする請求項6に記載のラベリング処理方法。 - 演算部と記録部とを備え、前記記録部に記録されている画像データで表される入力画像に対して論理マスクをラスタ走査することにより、前記演算部が前記画像データのラベリング処理を行うシステムであって、
前記論理マスクが第1の階層と第2の階層とを含む2階層の論理マスクであり、前記第1の階層が、ラベル画像の実ラベル値を表す第1のラベル変数および第2のラベル変数を含み、前記第2の階層が、左端点ラベル値を表す第3のラベル変数および第4のラベル変数を含み、前記第1のラベル変数が、前記入力画像内の注目画素が位置する点でのラベル変数であり、前記第2のラベル変数が、前記第1のラベル変数に接続する前記論理マスク内のラベル変数であり、前記第1のラベル変数の初期値が前記画像データの画素値であり、前記第3のラベル変数および前記第4のラベル変数の各々が、前記第1のラベル変数および前記第2のラベル変数の各々の位置に対応し、
第1の配列が、前記第1のラベル変数と前記第2のラベル変数との間の実ラベルの第1のラベル間連結情報を含み、第2の配列が、前記第3のラベル変数と前記第4のラベル変数との間の左端点ラベルの第2のラベル間連結情報を含み、第3の配列が、左端点ラベルと結合する実ラベルの最小値を含み、
前記演算部が、
前記画像データ内の画素毎に、前記第1のラベル変数の値と、前記第4のラベル変数の左端点ラベル値と、前記第1のラベル間連結情報と、前記第2のラベル間連結情報と、前記実ラベルの最小値とに基づいて、前記第1のラベル変数に実ラベル値を付与し、且つ、前記第3のラベル変数に左端点ラベル値を付与し、前記第1の配列、前記第2の配列、および前記第3の配列の各々に、第1のラベル間連結情報、第2のラベル間連結情報、および実ラベルの最小値を各々記録することを、前記入力画像内の全ての画素に対して実行し、前記ラベル画像全体における前記実ラベル値と、前記注目画素が位置する行および前記注目画素が位置する1つ前の行の2行のみにおいて有効な前記左端点ラベル値との2重対を管理し、
前記第1の配列に記録されている前記第1のラベル間連結情報に基づいて前記実ラベル値の変更を行うことを特徴とするラベリング処理システム。 - ラベル付け論理回路と、ラベル統合回路と、ラインバッファと、画像メモリとを備え、画像データで表される入力画像に対して論理マスクをラスタ走査することにより、前記画像データのラベリング処理を行う装置であって、
前記論理マスクが第1の階層と第2の階層とを含む2階層の論理マスクであり、前記第1の階層が、ラベル画像の実ラベル値を表す第1のラベル変数および第2のラベル変数を含み、前記第2の階層が、左端点ラベル値を表す第3のラベル変数および第4のラベル変数を含み、前記第1のラベル変数が、前記入力画像内の注目画素が位置する点でのラベル変数であり、前記第2のラベル変数が、前記第1のラベル変数に接続する前記論理マスク内のラベル変数であり、前記第1のラベル変数の初期値が前記画像データの画素値であり、前記第3のラベル変数および前記第4のラベル変数の各々が、前記第1のラベル変数および前記第2のラベル変数の各々の位置に対応し、
第1の配列が、前記第1のラベル変数と前記第2のラベル変数との間の実ラベルの第1のラベル間連結情報を含み、第2の配列が、前記第3のラベル変数と前記第4のラベル変数との間の左端点ラベルの第2のラベル間連結情報を含み、第3の配列が、左端点ラベルと結合する実ラベルの最小値を含み、
前記ラベル付け論理回路が、前記画像データ内の画素毎に、前記第1のラベル変数の値と、前記第4のラベル変数の左端点ラベル値と、前記第1のラベル間連結情報と、前記第2のラベル間連結情報と、前記実ラベルの最小値とに基づいて、前記第1のラベル変数に実ラベル値を付与し、且つ、前記第3のラベル変数に左端点ラベル値を付与し、前記第1の配列、前記第2の配列、および前記第3の配列の各々に、第1のラベル間連結情報、第2のラベル間連結情報、および実ラベルの最小値を各々記録することを、前記入力画像内の全ての画素に対して実行し、前記ラベル画像全体における前記実ラベル値と、前記注目画素が位置する行および前記注目画素が位置する1つ前の行の2行のみにおいて有効な前記左端点ラベル値との2重対を管理し、
前記ラベル統合回路が、前記第1の配列に記録されている前記第1のラベル間連結情報に基づいて前記実ラベル値の変更を行うことを特徴とするラベリング処理装置。 - コンピュータに画像データのラベリング処理を行わせるプログラムであって、
論理マスクが第1の階層と第2の階層とを含む2階層の論理マスクであり、前記第1の階層が、ラベル画像の実ラベル値を表す第1のラベル変数および第2のラベル変数を含み、前記第2の階層が、左端点ラベル値を表す第3のラベル変数および第4のラベル変数を含み、前記第1のラベル変数が、入力画像内の注目画素が位置する点でのラベル変数であり、前記第2のラベル変数が、前記第1のラベル変数に接続する前記論理マスク内のラベル変数であり、前記第1のラベル変数の初期値が前記画像データの画素値であり、前記第3のラベル変数および前記第4のラベル変数の各々が、前記第1のラベル変数および前記第2のラベル変数の各々の位置に対応し、
第1の配列が、前記第1のラベル変数と前記第2のラベル変数との間の実ラベルの第1のラベル間連結情報を含み、第2の配列が、前記第3のラベル変数と前記第4のラベル変数との間の左端点ラベルの第2のラベル間連結情報を含み、第3の配列が、左端点ラベルと結合する実ラベルの最小値を含み、
コンピュータに、
前記画像データ内の画素毎に、前記第1のラベル変数の値と、前記第4のラベル変数の左端点ラベル値と、前記第1のラベル間連結情報と、前記第2のラベル間連結情報と、前記実ラベルの最小値とに基づいて、前記第1のラベル変数に実ラベル値を付与し、且つ、前記第3のラベル変数に左端点ラベル値を付与し、前記第1の配列、前記第2の配列、および前記第3の配列の各々に、第1のラベル間連結情報、第2のラベル間連結情報、および実ラベルの最小値を各々記録することを、前記入力画像内の全ての画素に対して実行し、前記ラベル画像全体における前記実ラベル値と、前記注目画素が位置する行および前記注目画素が位置する1つ前の行の2行のみにおいて有効な前記左端点ラベル値との2重対を管理する第1の機能と、
前記第1の配列LRAMに記録されている前記第1のラベル間連結情報に基づいて前記実ラベル値の変更を行う第2の機能とを実現させることを特徴とするラベリング処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009202922A JP5300666B2 (ja) | 2009-09-02 | 2009-09-02 | ラベリング処理方法、並びにそのシステム、装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009202922A JP5300666B2 (ja) | 2009-09-02 | 2009-09-02 | ラベリング処理方法、並びにそのシステム、装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011053965A JP2011053965A (ja) | 2011-03-17 |
JP5300666B2 true JP5300666B2 (ja) | 2013-09-25 |
Family
ID=43942892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009202922A Expired - Fee Related JP5300666B2 (ja) | 2009-09-02 | 2009-09-02 | ラベリング処理方法、並びにそのシステム、装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5300666B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2503293B1 (en) * | 2011-03-22 | 2015-05-20 | Harman Becker Automotive Systems GmbH | Labelling of map elements in digital maps |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01245366A (ja) * | 1988-03-28 | 1989-09-29 | Toshiba Eng Co Ltd | ラベリングプロセッサ |
-
2009
- 2009-09-02 JP JP2009202922A patent/JP5300666B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011053965A (ja) | 2011-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102326165B1 (ko) | 영상 처리 방법 및 이를 이용한 표시 장치 | |
JP2013114655A (ja) | 画像処理装置、画像処理方法、及びコンピュータプログラム | |
JP5300666B2 (ja) | ラベリング処理方法、並びにそのシステム、装置及びプログラム | |
JP2023511868A (ja) | 画像処理のためのシステム、方法、および装置 | |
CN108876701B (zh) | 一种基于游程的单次扫描连通域标记方法及其硬件结构 | |
JP2007293829A (ja) | 画像処理方法及び画像処理装置 | |
EP0569657B1 (en) | Apparatus for detection and correction of digitized image defects | |
Kim et al. | Real-time component labeling and boundary tracing system based on FPGA | |
JP3652754B2 (ja) | 減色画像処理装置 | |
KR960003871B1 (ko) | 레이블링 방법 및 이것에 사용하는 장치 | |
JP2008186124A (ja) | 画像データ処理方法、画像データ処理プログラム及び画像データ処理装置 | |
JP2007122594A (ja) | 画像処理装置 | |
JP4720805B2 (ja) | 画像処理装置及びプログラム | |
WO2006077504A2 (en) | An algorithm for growing 4-connected cores in image segmentation | |
JP2002269574A (ja) | 囲み領域抽出アルゴリズムの性能を向上させるランレングスに基づく連結成分と輪郭追跡 | |
JP2008186123A (ja) | 画像データ処理方法、画像データ処理プログラム及び画像データ処理装置 | |
JPH0962845A (ja) | 画像デ−タのラベリング方法 | |
JPS5914782B2 (ja) | 2値パタ−ンの数値化処理方式 | |
JPH0332723B2 (ja) | ||
CN117544734A (zh) | 一种基于rgb三原色图像的有损压缩的方法 | |
JP3297145B2 (ja) | パターン欠陥検査装置 | |
JP2006091790A (ja) | パターン検査方法 | |
JP2020013225A (ja) | 高画質化学習装置および高画質化装置 | |
CN118071981A (zh) | 一种fpga芯片及基于该芯片的弱小目标检测与质心提取方法 | |
TWI488142B (zh) | 應用於向量圖形點陣化之階層式緩衝器之運算方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120730 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130517 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130528 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130618 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5300666 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |