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

関数
ラベリング

## 関数
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を反転させて穴埋め処理を行う

## 説明

次のヘッダをインクルードする
#include <mist/filter/labeling.h>

## 関数

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近傍型ラベリング

3次元画像に対する18近傍型ラベリング

注意
  入力と出力が同じ画像オブジェクトでも正しくラベリングすることが可能です

ただし，データ型が char 型を利用する場合は，ラベル数がオーバーフローしないように注意が必要なため，short や int を利用することをお勧めします． ここで，ラベル数とは最終的に得られる領域の数ではなく，作業中に発生する一時的なラベル数を指すため，データ型が char の場合にはオーバーフローする可能性が非常に大きくなります． また，最大ラベル数を超えた場合は自動的に最大ラベル数を更新する．そのため，メモリ使用量が増加する可能性がある． 初期値の max_label を大きくとることでメモリの再確保が減り高速に動作するようになる（そのかわり，初期メモリ量が増加する）．

引数

  [in] | in | … 入力画像
  [out] | out | … 出力画像
  [in] | max_label | … 最大で割り当てるラベル数のデフォルト値
  [in] | f | … 進行状況を返すコールバック関数

戻り値
  割り当てられたラベル数

参照先 mist::array3< T, Allocator >::resize(), mist::array1< T, Allocator >::reso1(), mist::array2< T, Allocator >::reso2(), mist::array3< T, Allocator >::reso3(), mist::array< T, Allocator >::size(), mist::array3< T, Allocator >::size1(), mist::array3< T, Allocator >::size2(), と mist::array3< T, Allocator >::size3().

参照元 mist::labeling18().

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`
| ) |  |
| inline

3次元画像に対する18近傍型ラベリング

3次元画像に対する18近傍型ラベリング

注意
  入力と出力が同じ画像オブジェクトでも正しくラベリングすることが可能です

ただし，データ型が char 型を利用する場合は，ラベル数がオーバーフローしないように注意が必要なため，short や int を利用することをお勧めします． ここで，ラベル数とは最終的に得られる領域の数ではなく，作業中に発生する一時的なラベル数を指すため，データ型が char の場合にはオーバーフローする可能性が非常に大きくなります． また，最大ラベル数を超えた場合は自動的に最大ラベル数を更新する．そのため，メモリ使用量が増加する可能性がある． 初期値の max_label を大きくとることでメモリの再確保が減り高速に動作するようになる（そのかわり，初期メモリ量が増加する）．

引数

  [in] | in | … 入力画像
  [out] | out | … 出力画像
  [in] | max_label | … 最大で割り当てるラベル数のデフォルト値

戻り値
  割り当てられたラベル数

参照先 mist::labeling18().

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近傍型ラベリング

3次元画像に対する26近傍型ラベリング

注意
  入力と出力が同じ画像オブジェクトでも正しくラベリングすることが可能です

ただし，データ型が char 型を利用する場合は，ラベル数がオーバーフローしないように注意が必要なため，short や int を利用することをお勧めします． ここで，ラベル数とは最終的に得られる領域の数ではなく，作業中に発生する一時的なラベル数を指すため，データ型が char の場合にはオーバーフローする可能性が非常に大きくなります． また，最大ラベル数を超えた場合は自動的に最大ラベル数を更新する．そのため，メモリ使用量が増加する可能性がある． 初期値の max_label を大きくとることでメモリの再確保が減り高速に動作するようになる（そのかわり，初期メモリ量が増加する）．

引数

  [in] | in | … 入力画像
  [out] | out | … 出力画像
  [in] | max_label | … 最大で割り当てるラベル数のデフォルト値
  [in] | f | … 進行状況を返すコールバック関数

戻り値
  割り当てられたラベル数

参照先 mist::array3< T, Allocator >::resize(), mist::array1< T, Allocator >::reso1(), mist::array2< T, Allocator >::reso2(), mist::array3< T, Allocator >::reso3(), mist::array< T, Allocator >::size(), mist::array3< T, Allocator >::size1(), mist::array3< T, Allocator >::size2(), と mist::array3< T, Allocator >::size3().

参照元 mist::labeling26(), と mist::maximum_region().

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`
| ) |  |
| inline

3次元画像に対する26近傍型ラベリング

3次元画像に対する26近傍型ラベリング

注意
  入力と出力が同じ画像オブジェクトでも正しくラベリングすることが可能です

ただし，データ型が char 型を利用する場合は，ラベル数がオーバーフローしないように注意が必要なため，short や int を利用することをお勧めします． ここで，ラベル数とは最終的に得られる領域の数ではなく，作業中に発生する一時的なラベル数を指すため，データ型が char の場合にはオーバーフローする可能性が非常に大きくなります． また，最大ラベル数を超えた場合は自動的に最大ラベル数を更新する．そのため，メモリ使用量が増加する可能性がある． 初期値の max_label を大きくとることでメモリの再確保が減り高速に動作するようになる（そのかわり，初期メモリ量が増加する）．

引数

  [in] | in | … 入力画像
  [out] | out | … 出力画像
  [in] | max_label | … 最大で割り当てるラベル数のデフォルト値

参照先 mist::labeling26().

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近傍型ラベリング

2次元画像に対する4近傍型ラベリング

注意
  入力と出力が同じ画像オブジェクトでも正しくラベリングすることが可能です

ただし，データ型が char 型を利用する場合は，ラベル数がオーバーフローしないように注意が必要 ここで，ラベル数とは最終的に得られる領域の数ではなく，作業中に発生する一時的なラベル数を指すため，データ型が char の場合にはオーバーフローする可能性が非常に大きくなります． また，最大ラベル数を超えた場合は自動的に最大ラベル数を更新する．そのため，メモリ使用量が増加する可能性がある． 初期値の max_label を大きくとることでメモリの再確保が減り高速に動作するようになる（そのかわり，初期メモリ量が増加する）．

引数

  [in] | in | … 入力画像
  [out] | out | … 出力画像
  [in] | max_label | … 最大で割り当てるラベル数のデフォルト値
  [in] | f | … 進行状況を返すコールバック関数

戻り値
  割り当てられたラベル数

参照先 mist::array2< T, Allocator >::resize(), mist::array1< T, Allocator >::reso1(), mist::array2< T, Allocator >::reso2(), mist::array< T, Allocator >::size(), mist::array2< T, Allocator >::size1(), と mist::array2< T, Allocator >::size2().

参照元 mist::extract_mesh(), mist::labeling4(), と mist::remove_hole_region().

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近傍型ラベリング

2次元画像に対する4近傍型ラベリング

注意
  入力と出力が同じ画像オブジェクトでも正しくラベリングすることが可能です

ただし，データ型が char 型を利用する場合は，ラベル数がオーバーフローしないように注意が必要なため，short や int を利用することをお勧めします． ここで，ラベル数とは最終的に得られる領域の数ではなく，作業中に発生する一時的なラベル数を指すため，データ型が char の場合にはオーバーフローする可能性が非常に大きくなります． また，最大ラベル数を超えた場合は自動的に最大ラベル数を更新する．そのため，メモリ使用量が増加する可能性がある． 初期値の max_label を大きくとることでメモリの再確保が減り高速に動作するようになる（そのかわり，初期メモリ量が増加する）．

引数

  [in] | in | … 入力画像
  [out] | out | … 出力画像
  [in] | max_label | … 最大で割り当てるラベル数のデフォルト値

戻り値
  割り当てられたラベル数

参照先 mist::labeling4().

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近傍型ラベリング

3次元画像に対する6近傍型ラベリング

注意
  入力と出力が同じ画像オブジェクトでも正しくラベリングすることが可能です

ただし，データ型が char 型を利用する場合は，ラベル数がオーバーフローしないように注意が必要なため，short や int を利用することをお勧めします． ここで，ラベル数とは最終的に得られる領域の数ではなく，作業中に発生する一時的なラベル数を指すため，データ型が char の場合にはオーバーフローする可能性が非常に大きくなります． また，最大ラベル数を超えた場合は自動的に最大ラベル数を更新する．そのため，メモリ使用量が増加する可能性がある． 初期値の max_label を大きくとることでメモリの再確保が減り高速に動作するようになる（そのかわり，初期メモリ量が増加する）．

引数

  [in] | in | … 入力画像
  [out] | out | … 出力画像
  [in] | max_label | … 最大で割り当てるラベル数のデフォルト値
  [in] | f | … 進行状況を返すコールバック関数

戻り値
  割り当てられたラベル数

参照先 mist::array3< T, Allocator >::resize(), mist::array1< T, Allocator >::reso1(), mist::array2< T, Allocator >::reso2(), mist::array3< T, Allocator >::reso3(), mist::array< T, Allocator >::size(), mist::array3< T, Allocator >::size1(), mist::array3< T, Allocator >::size2(), と mist::array3< T, Allocator >::size3().

参照元 mist::labeling6(), と mist::remove_hole_region().

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`
| ) |  |
| inline

3次元画像に対する6近傍型ラベリング

3次元画像に対する6近傍型ラベリング

注意
  入力と出力が同じ画像オブジェクトでも正しくラベリングすることが可能です

ただし，データ型が char 型を利用する場合は，ラベル数がオーバーフローしないように注意が必要なため，short や int を利用することをお勧めします． ここで，ラベル数とは最終的に得られる領域の数ではなく，作業中に発生する一時的なラベル数を指すため，データ型が char の場合にはオーバーフローする可能性が非常に大きくなります． また，最大ラベル数を超えた場合は自動的に最大ラベル数を更新する．そのため，メモリ使用量が増加する可能性がある． 初期値の max_label を大きくとることでメモリの再確保が減り高速に動作するようになる（そのかわり，初期メモリ量が増加する）．

引数

  [in] | in | … 入力画像
  [out] | out | … 出力画像
  [in] | max_label | … 最大で割り当てるラベル数のデフォルト値

戻り値
  割り当てられたラベル数

参照先 mist::labeling6().

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近傍型ラベリング

2次元画像に対する8近傍型ラベリング

注意
  入力と出力が同じ画像オブジェクトでも正しくラベリングすることが可能です

ただし，データ型が char 型を利用する場合は，ラベル数がオーバーフローしないように注意が必要なため，short や int を利用することをお勧めします． ここで，ラベル数とは最終的に得られる領域の数ではなく，作業中に発生する一時的なラベル数を指すため，データ型が char の場合にはオーバーフローする可能性が非常に大きくなります． また，最大ラベル数を超えた場合は自動的に最大ラベル数を更新する．そのため，メモリ使用量が増加する可能性がある． 初期値の max_label を大きくとることでメモリの再確保が減り高速に動作するようになる（そのかわり，初期メモリ量が増加する）．

引数

  [in] | in | … 入力画像
  [out] | out | … 出力画像
  [in] | max_label | … 最大で割り当てるラベル数のデフォルト値
  [in] | f | … 進行状況を返すコールバック関数

戻り値
  割り当てられたラベル数

参照先 mist::array2< T, Allocator >::resize(), mist::array1< T, Allocator >::reso1(), mist::array2< T, Allocator >::reso2(), mist::array< T, Allocator >::size(), mist::array2< T, Allocator >::size1(), と mist::array2< T, Allocator >::size2().

参照元 mist::labeling8(), と mist::maximum_region().

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`
| ) |  |
| inline

2次元画像に対する8近傍型ラベリング

2次元画像に対する8近傍型ラベリング

注意
  入力と出力が同じ画像オブジェクトでも正しくラベリングすることが可能です

ただし，データ型が char 型を利用する場合は，ラベル数がオーバーフローしないように注意が必要なため，short や int を利用することをお勧めします． ここで，ラベル数とは最終的に得られる領域の数ではなく，作業中に発生する一時的なラベル数を指すため，データ型が char の場合にはオーバーフローする可能性が非常に大きくなります． また，最大ラベル数を超えた場合は自動的に最大ラベル数を更新する．そのため，メモリ使用量が増加する可能性がある． 初期値の max_label を大きくとることでメモリの再確保が減り高速に動作するようになる（そのかわり，初期メモリ量が増加する）．

引数

  [in] | in | … 入力画像
  [out] | out | … 出力画像
  [in] | max_label | … 最大で割り当てるラベル数のデフォルト値

戻り値
  割り当てられたラベル数

参照先 mist::labeling8().

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`
| ) |  |

ある範囲内での最大のラベルを抽出する

2次元画像に対する8近傍型ラベリングを用いて，最大連結成分を抽出する

注意
  入力と出力が同じ画像オブジェクトでも正しく動作する

引数

  [in] | in | … 入力画像
  [out] | out | … 出力画像
  [in] | sx | … X軸方向の小さい側の位置
  [in] | ex | … X軸方向の大きい側の位置
  [in] | sy | … Y軸方向の小さい側の位置
  [in] | ey | … Y軸方向の大きい側の位置
  [in] | max_label | … 最大で割り当てるラベル数

参照先 mist::array2< T, Allocator >::height(), mist::labeling8(), mist::array2< T, Allocator >::resize(), mist::array1< T, Allocator >::reso1(), mist::array2< T, Allocator >::reso2(), mist::array< T, Allocator >::size(), mist::array2< T, Allocator >::size1(), mist::array2< T, Allocator >::size2(), と mist::array2< T, Allocator >::width().

参照元 mist::maximum_region().

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`
| ) |  |

画像の全範囲内での最大のラベルを抽出する

3次元画像に対する8近傍型ラベリングを用いて，最大連結成分を抽出する

注意
  入力と出力が同じ画像オブジェクトでも正しく動作する

引数

  [in] | in | … 入力画像
  [out] | out | … 出力画像
  [in] | max_label | … 最大で割り当てるラベル数

戻り値
  割り当てられたラベル数

参照先 mist::array2< T, Allocator >::height(), mist::maximum_region(), と mist::array2< T, Allocator >::width().

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`
| ) |  |

ある範囲内での最大のラベルを抽出する

3次元画像に対する26近傍型ラベリングを用いて，最大連結成分を抽出する

注意
  入力と出力が同じ画像オブジェクトでも正しく動作する

引数

  [in] | in | … 入力画像
  [out] | out | … 出力画像
  [in] | sx | … X軸方向の小さい側の位置
  [in] | ex | … X軸方向の大きい側の位置
  [in] | sy | … Y軸方向の小さい側の位置
  [in] | ey | … Y軸方向の大きい側の位置
  [in] | sz | … Z軸方向の小さい側の位置
  [in] | ez | … Z軸方向の大きい側の位置
  [in] | max_label | … 最大で割り当てるラベル数

戻り値
  割り当てられたラベル数

参照先 mist::array3< T, Allocator >::depth(), mist::array3< T, Allocator >::height(), mist::labeling26(), mist::array3< T, Allocator >::resize(), mist::array1< T, Allocator >::reso1(), mist::array2< T, Allocator >::reso2(), mist::array3< T, Allocator >::reso3(), mist::array< T, Allocator >::size(), mist::array3< T, Allocator >::size1(), mist::array3< T, Allocator >::size2(), mist::array3< T, Allocator >::size3(), と mist::array3< T, Allocator >::width().

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`
| ) |  |

画像の全範囲内での最大のラベルを抽出する

3次元画像に対する6近傍型ラベリングを用いて，最大連結成分を抽出する

注意
  入力と出力が同じ画像オブジェクトでも正しく動作する

引数

  [in] | in | … 入力画像
  [out] | out | … 出力画像
  [in] | max_label | … 最大で割り当てるラベル数

戻り値
  割り当てられたラベル数

参照先 mist::array3< T, Allocator >::depth(), mist::array3< T, Allocator >::height(), mist::maximum_region(), と mist::array3< T, Allocator >::width().

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を反転させて穴埋め処理を行う

2次元画像に対する4近傍型ラベリングを用いて，穴埋め処理を行う

注意
  入力と出力が同じ画像オブジェクトでも正しく動作する

引数

  [in] | in | … 入力画像
  [out] | out | … 出力画像
  [in] | include_corner_labels | … whether to also remove holes of the labels containing the corners of the image
  [in] | max_label | … 最大で割り当てるラベル数

参照先 mist::array2< T, Allocator >::height(), mist::labeling4(), mist::array2< T, Allocator >::resize(), mist::array1< T, Allocator >::reso1(), mist::array2< T, Allocator >::reso2(), mist::array< T, Allocator >::size(), mist::array2< T, Allocator >::size1(), mist::array2< T, Allocator >::size2(), と mist::array2< T, Allocator >::width().

参照元 mist::remove_hole_region().

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を反転させて穴埋め処理を行う

2次元画像に対する4近傍型ラベリングを用いて，穴埋め処理を行う

注意
  入力と出力が同じ画像オブジェクトでも正しく動作する

引数

  [in] | in | … 入力画像
  [out] | out | … 出力画像
  [in] | max_label | … 最大で割り当てるラベル数

参照先 mist::remove_hole_region().

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を反転させて穴埋め処理を行う

3次元画像に対する4近傍型ラベリングを用いて，穴埋め処理を行う

注意
  入力と出力が同じ画像オブジェクトでも正しく動作する

引数

  [in] | in | … 入力画像
  [out] | out | … 出力画像
  [in] | include_corner_labels | … whether to also remove holes of the labels containing the corners of the image
  [in] | max_label | … 最大で割り当てるラベル数

参照先 mist::array3< T, Allocator >::depth(), mist::array3< T, Allocator >::height(), mist::labeling6(), mist::array3< T, Allocator >::resize(), mist::array1< T, Allocator >::reso1(), mist::array2< T, Allocator >::reso2(), mist::array3< T, Allocator >::reso3(), mist::array< T, Allocator >::size(), mist::array3< T, Allocator >::size1(), mist::array3< T, Allocator >::size2(), mist::array3< T, Allocator >::size3(), と mist::array3< T, Allocator >::width().

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を反転させて穴埋め処理を行う

3次元画像に対する4近傍型ラベリングを用いて，穴埋め処理を行う

注意
  入力と出力が同じ画像オブジェクトでも正しく動作する

引数

  [in] | in | … 入力画像
  [out] | out | … 出力画像
  [in] | max_label | … 最大で割り当てるラベル数

参照先 mist::remove_hole_region().