関数 |
template<class T1 , class Allocator1 , class T2 , class Allocator2 > |
bool | mist::gaussian_filter (const array< T1, Allocator1 > &in, array< T2, Allocator2 > &out, const double sigma=1.0, typename array< T1, Allocator1 >::size_type thread_num=0) |
| ガウシアンフィルタ( array )
|
template<class T1 , class Allocator1 , class T2 , class Allocator2 > |
bool | mist::gaussian_filter (const array1< T1, Allocator1 > &in, array1< T2, Allocator2 > &out, const double sigma=1.0, typename array1< T1, Allocator1 >::size_type thread_num=0) |
| ガウシアンフィルタ( array1 )
|
template<class T1 , class Allocator1 , class T2 , class Allocator2 > |
bool | mist::gaussian_filter (const array2< T1, Allocator1 > &in, array2< T2, Allocator2 > &out, const double sigma=1.0, typename array2< T1, Allocator1 >::size_type thread_num=0) |
| ガウシアンフィルタ( array2 )
|
template<class T , class Allocator > |
bool | mist::gaussian_filter (array2< T, Allocator > &in, const double sigma=1.0, typename array2< T, Allocator >::size_type thread_num=0) |
| ガウシアンフィルタ( array2 )
|
template<class T1 , class Allocator1 , class T2 , class Allocator2 > |
bool | mist::gaussian_filter (const array3< T1, Allocator1 > &in, array3< T2, Allocator2 > &out, const double sigma=1.0, typename array3< T1, Allocator1 >::size_type thread_num=0) |
| ガウシアンフィルタ( array3 )
|
template<class T , class Allocator > |
bool | mist::gaussian_filter (array3< T, Allocator > &in, const double sigma=1.0, typename array3< T, Allocator >::size_type thread_num=0) |
| ガウシアンフィルタ( array3 )
|
template<class T1 , class Allocator1 , class T2 , class Allocator2 >
bool mist::gaussian_filter |
( |
const array2< T1, Allocator1 > & |
in, |
|
|
array2< T2, Allocator2 > & |
out, |
|
|
const double |
sigma = 1.0 , |
|
|
typename array2< T1, Allocator1 >::size_type |
thread_num = 0 |
|
) |
| |
ガウシアンフィルタ( array2 )
任意サイズのガウシアンフィルタ
出力のデータ方が float や double や rgb< float > などの浮動小数点型の場合は, ガウシアンカーネルを1次元分解し,高速にフィルタを計算する.それ以外のデータ型 (int等)の場合は各画素ごとにカーネルを適用する(計算コスト大)
- 注意
- 入力と出力は,別のMISTコンテナオブジェクトでなくてはならない
-
スレッド数に0を指定した場合は,使用可能なCPU数を自動的に取得する
- 引数
-
[in] | in | … 入力配列 |
[out] | out | … 出力配列 |
[in] | sigma | … フィルタの標準偏差(画素の大きさを考慮した値を指定) |
[in] | thread_num | … 使用するスレッド数 |
- 戻り値
-
true | … フィルタリングに成功 |
false | … 入力と出力が同じオブジェクトを指定した場合 |
参照先 mist::linear::filter().
template<class T1 , class Allocator1 , class T2 , class Allocator2 >
bool mist::gaussian_filter |
( |
const array3< T1, Allocator1 > & |
in, |
|
|
array3< T2, Allocator2 > & |
out, |
|
|
const double |
sigma = 1.0 , |
|
|
typename array3< T1, Allocator1 >::size_type |
thread_num = 0 |
|
) |
| |
ガウシアンフィルタ( array3 )
任意サイズのガウシアンフィルタ
出力のデータ方が float や double や rgb< float > などの浮動小数点型の場合は, ガウシアンカーネルを1次元分解し,高速にフィルタを計算する.それ以外のデータ型 (int等)の場合は各画素ごとにカーネルを適用する(計算コスト大)
- 注意
- 入力と出力は,別のMISTコンテナオブジェクトでなくてはならない
-
スレッド数に0を指定した場合は,使用可能なCPU数を自動的に取得する
- 引数
-
[in] | in | … 入力配列 |
[out] | out | … 出力配列 |
[in] | sigma | … フィルタの標準偏差(画素の大きさを考慮した値を指定) |
[in] | thread_num | … 使用するスレッド数 |
- 戻り値
-
true | … フィルタリングに成功 |
false | … 入力と出力が同じオブジェクトを指定した場合 |
参照先 mist::linear::filter().