- メインページ
- モジュール
- ネームスペース
- データ構造
- ファイル

- ファイル一覧
- グローバル

ネームスペース | 関数
labeling.h

各次元の画像に対応した，ラベリングアルゴリズム [詳細]

`#include "../mist.h"`
`#include "../limits.h"`
`#include <vector>`
`#include <list>`

ソースコードを見る。

## ネームスペース
namespace | mist

## 関数
template<class T1 , class T2 , class Allocator1 , class Allocator2 , class Functor >
array2< T2, Allocator2 >::size_type | mist::labeling4 (const array2< T1, Allocator1 > &in, array2< T2, Allocator2 > &out, typename array2< T2, Allocator2 >::size_type max_label, Functor f)
| 2次元画像に対する4近傍型ラベリング
template<class T1 , class T2 , class Allocator1 , class Allocator2 >
array2< T2, Allocator2 >::size_type | mist::labeling4 (const array2< T1, Allocator1 > &in, array2< T2, Allocator2 > &out, typename array2< T2, Allocator2 >::size_type max_label=__labeling_controller__::default_label_num2< T2 >::value)
| 2次元画像に対する4近傍型ラベリング
template<class T1 , class T2 , class Allocator1 , class Allocator2 , class Functor >
array2< T2, Allocator2 >::size_type | mist::labeling8 (const array2< T1, Allocator1 > &in, array2< T2, Allocator2 > &out, typename array2< T2, Allocator2 >::size_type max_label, Functor f)
| 2次元画像に対する8近傍型ラベリング
template<class T1 , class T2 , class Allocator1 , class Allocator2 >
array2< T2, Allocator2 >::size_type | mist::labeling8 (const array2< T1, Allocator1 > &in, array2< T2, Allocator2 > &out, typename array2< T2, Allocator2 >::size_type max_label=__labeling_controller__::default_label_num2< T2 >::value)
| 2次元画像に対する8近傍型ラベリング
template<class T1 , class T2 , class Allocator1 , class Allocator2 , class Functor >
array3< T2, Allocator2 >::size_type | mist::labeling6 (const array3< T1, Allocator1 > &in, array3< T2, Allocator2 > &out, typename array3< T2, Allocator2 >::size_type max_label, Functor f)
| 3次元画像に対する6近傍型ラベリング
template<class T1 , class T2 , class Allocator1 , class Allocator2 >
array3< T2, Allocator2 >::size_type | mist::labeling6 (const array3< T1, Allocator1 > &in, array3< T2, Allocator2 > &out, typename array3< T2, Allocator2 >::size_type max_label=__labeling_controller__::default_label_num3< T2 >::value)
| 3次元画像に対する6近傍型ラベリング
template<class T1 , class T2 , class Allocator1 , class Allocator2 , class Functor >
array3< T2, Allocator2 >::size_type | mist::labeling18 (const array3< T1, Allocator1 > &in, array3< T2, Allocator2 > &out, typename array3< T2, Allocator2 >::size_type max_label, Functor f)
| 3次元画像に対する18近傍型ラベリング
template<class T1 , class T2 , class Allocator1 , class Allocator2 >
array3< T2, Allocator2 >::size_type | mist::labeling18 (const array3< T1, Allocator1 > &in, array3< T2, Allocator2 > &out, typename array3< T2, Allocator2 >::size_type max_label=__labeling_controller__::default_label_num3< T2 >::value)
| 3次元画像に対する18近傍型ラベリング
template<class T1 , class T2 , class Allocator1 , class Allocator2 , class Functor >
array3< T2, Allocator2 >::size_type | mist::labeling26 (const array3< T1, Allocator1 > &in, array3< T2, Allocator2 > &out, typename array3< T2, Allocator2 >::size_type max_label, Functor f)
| 3次元画像に対する26近傍型ラベリング
template<class T1 , class T2 , class Allocator1 , class Allocator2 >
array3< T2, Allocator2 >::size_type | mist::labeling26 (const array3< T1, Allocator1 > &in, array3< T2, Allocator2 > &out, typename array3< T2, Allocator2 >::size_type max_label=__labeling_controller__::default_label_num3< T2 >::value)
| 3次元画像に対する26近傍型ラベリング
template<class T1 , class T2 , class Allocator1 , class Allocator2 >
void | mist::maximum_region (const array2< T1, Allocator1 > &in, array2< T2, Allocator2 > &out, typename array2< T1, Allocator1 >::size_type sx, typename array2< T1, Allocator1 >::size_type ex, typename array2< T1, Allocator1 >::size_type sy, typename array2< T1, Allocator1 >::size_type ey, typename array2< T1, Allocator1 >::size_type max_label=__labeling_controller__::default_label_num2< T2 >::value)
| ある範囲内での最大のラベルを抽出する
template<class T1 , class T2 , class Allocator1 , class Allocator2 >
void | mist::maximum_region (const array2< T1, Allocator1 > &in, array2< T2, Allocator2 > &out, typename array2< T1, Allocator1 >::size_type max_label=__labeling_controller__::default_label_num2< T2 >::value)
| 画像の全範囲内での最大のラベルを抽出する
template<class T1 , class T2 , class Allocator1 , class Allocator2 >
void | mist::maximum_region (const array3< T1, Allocator1 > &in, array3< T2, Allocator2 > &out, typename array3< T1, Allocator1 >::size_type sx, typename array3< T1, Allocator1 >::size_type ex, typename array3< T1, Allocator1 >::size_type sy, typename array3< T1, Allocator1 >::size_type ey, typename array3< T1, Allocator1 >::size_type sz, typename array3< T1, Allocator1 >::size_type ez, typename array3< T1, Allocator1 >::size_type max_label=__labeling_controller__::default_label_num3< T2 >::value)
| ある範囲内での最大のラベルを抽出する
template<class T1 , class T2 , class Allocator1 , class Allocator2 >
void | mist::maximum_region (const array3< T1, Allocator1 > &in, array3< T2, Allocator2 > &out, typename array3< T1, Allocator1 >::size_type max_label=__labeling_controller__::default_label_num3< T2 >::value)
| 画像の全範囲内での最大のラベルを抽出する
template<class T1 , class T2 , class Allocator1 , class Allocator2 >
void | mist::remove_hole_region (const array2< T1, Allocator1 > &in, array2< T2, Allocator2 > &out, const bool include_corner_labels, typename array2< T1, Allocator1 >::size_type max_label=__labeling_controller__::default_label_num2< T2 >::value)
| 画像の0/1を反転させて穴埋め処理を行う
template<class T1 , class T2 , class Allocator1 , class Allocator2 >
void | mist::remove_hole_region (const array2< T1, Allocator1 > &in, array2< T2, Allocator2 > &out, typename array2< T1, Allocator1 >::size_type max_label=__labeling_controller__::default_label_num2< T2 >::value)
| 画像の0/1を反転させて穴埋め処理を行う
template<class T1 , class T2 , class Allocator1 , class Allocator2 >
void | mist::remove_hole_region (const array3< T1, Allocator1 > &in, array3< T2, Allocator2 > &out, const bool include_corner_labels, typename array3< T1, Allocator1 >::size_type max_label=__labeling_controller__::default_label_num3< T2 >::value)
| 画像の0/1を反転させて穴埋め処理を行う
template<class T1 , class T2 , class Allocator1 , class Allocator2 >
void | mist::remove_hole_region (const array3< T1, Allocator1 > &in, array3< T2, Allocator2 > &out, typename array3< T1, Allocator1 >::size_type max_label=__labeling_controller__::default_label_num3< T2 >::value)
| 画像の0/1を反転させて穴埋め処理を行う
template<typename T1 , class Allocator1 , typename T2 , class Allocator2 >
array2< T2, Allocator2 >::size_type | mist::he::labeling8 (const array2< T1, Allocator1 > &b, array2< T2, Allocator2 > &v)
| Heらの2次元画像に対する8近傍型ラベリング
template<typename T1 , class Allocator1 , typename T2 , class Allocator2 >
array3< T2, Allocator2 > ::value_type | mist::he::labeling26 (const array3< T1, Allocator1 > &b, array3< T2, Allocator2 > &l)
| Heらの3次元画像に対する26近傍型ラベリング

## 説明

各次元の画像に対応した，ラベリングアルゴリズム

- 参考文献
  - 米倉達広, 横井茂樹, 鳥脇純一郎, 福村晃夫, "三次元ディジタル空間における図形の連結性とオイラー数," 電子通信学会論文誌D, J65-D, No.1, pp.80-87, 1982
  - 鳥脇純一郎, "3次元ディジタル画像処理," 昭晃堂, 2002
  - 何 立風, 巣 宇燕, 鈴木 賢治, 中村 剛士, 伊藤 英則, "高速2回走査ラベル付けアルゴリズム," 電子情報通信学会論文誌 D, Vol.J91-D, No.4, pp.1016-1024, 2008/4