ネームスペース | 関数
ガウシアンフィルタ
線形フィルタ

ネームスペース

namespace  mist::gaussian
 ガウシアンフィルタの実装(コールバック関数を指定することが可能)

関数

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 )

説明

次のヘッダをインクルードする

配列の端(カーネルがはみ出すところ)の要素の計算値は保障しません. 使用可能な要素型は,算術型か mist::rgb< 算術型 > に限ります. 内部の計算は,出力配列の要素型が算術型の場合は double 型, mist::rgb< 算術型 > の場合は mist::rgb< double > で行います.

関数

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 )

任意サイズのガウシアンフィルタ

注意
入力と出力は,別のMISTコンテナオブジェクトでなくてはならない
スレッド数は無視され,常にシングルスレッドで動作する
引数
[in]in… 入力配列
[out]out… 出力配列
[in]sigma… フィルタの標準偏差(画素の大きさを考慮した値を指定)
[in]thread_num… 使用するスレッド数
戻り値
true… フィルタリングに成功
false… 入力と出力が同じオブジェクトを指定した場合

参照先 mist::linear::filter().

参照元 mist::harris().

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 )

任意サイズのガウシアンフィルタ

注意
入力と出力は,別のMISTコンテナオブジェクトでなくてはならない
スレッド数は無視され,常にシングルスレッドで動作する
引数
[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 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 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 )

任意サイズのガウシアンフィルタ

出力のデータ方が float や double や rgb< float > などの浮動小数点型の場合は, ガウシアンカーネルを1次元分解し,高速にフィルタを計算する.それ以外のデータ型 (int等)の場合は各画素ごとにカーネルを適用する(計算コスト大)

注意
入力と出力は,別のMISTコンテナオブジェクトでなくてはならない
スレッド数に0を指定した場合は,使用可能なCPU数を自動的に取得する
引数
[in,out]in… 入力・出力配列
[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().

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 )

任意サイズのガウシアンフィルタ

出力のデータ方が float や double や rgb< float > などの浮動小数点型の場合は, ガウシアンカーネルを1次元分解し,高速にフィルタを計算する.それ以外のデータ型 (int等)の場合は各画素ごとにカーネルを適用する(計算コスト大)

注意
入力と出力は,別のMISTコンテナオブジェクトでなくてはならない
スレッド数に0を指定した場合は,使用可能なCPU数を自動的に取得する
引数
[in,out]in… 入力・出力配列
[in]sigma… フィルタの標準偏差(画素の大きさを考慮した値を指定)
[in]thread_num… 使用するスレッド数
戻り値
true… フィルタリングに成功
false… 入力と出力が同じオブジェクトを指定した場合

参照先 mist::linear::filter().


Generated on Wed Nov 12 2014 19:44:28 for MIST by doxygen 1.8.1.2