関数
ネームスペース mist::cubic

3次のsinc関数を用いた補間 [詳細]

関数

template<class T1 , class Allocator1 , class T2 , class Allocator2 >
void transform (const array2< T1, Allocator1 > &in, array2< T1, Allocator1 > &out, const matrix< T2, Allocator2 > &mat)
 transform array2
template<class Value_type1 , class Allocator1 , class Value_type2 , class Allocator2 >
void transform (const mist::array2< Value_type1, Allocator1 > &in, mist::array2< Value_type2, Allocator2 > &out, const double &delta_x, const double &delta_y)
 平行移動と拡大を考慮して変形する
template<class T1 , class Allocator1 , class T2 , class Allocator2 >
bool interpolate (const array< T1, Allocator1 > &in, array< T2, Allocator2 > &out, typename array< T1, Allocator1 >::size_type width, typename array1< T1, Allocator1 >::size_type thread_num=0)
 1次元配列に対する3次のsinc関数を用いた補間
template<class T1 , class Allocator1 , class T2 , class Allocator2 >
bool interpolate (const array1< T1, Allocator1 > &in, array1< T2, Allocator2 > &out, typename array1< T1, Allocator1 >::size_type width, typename array1< T1, Allocator1 >::size_type thread_num=0)
 1次元配列に対する3次のsinc関数を用いた補間
template<class T1 , class Allocator1 , class T2 , class Allocator2 >
bool interpolate (const array2< T1, Allocator1 > &in, array2< T2, Allocator2 > &out, typename array2< T1, Allocator1 >::size_type width, typename array2< T1, Allocator1 >::size_type height, typename array2< T1, Allocator1 >::size_type thread_num=0)
 2次元配列に対する3次のsinc関数を用いた補間
template<class T1 , class Allocator1 , class T2 , class Allocator2 >
bool interpolate (const array3< T1, Allocator1 > &in, array3< T2, Allocator2 > &out, typename array3< T1, Allocator1 >::size_type width, typename array3< T1, Allocator1 >::size_type height, typename array3< T1, Allocator1 >::size_type depth, typename array3< T1, Allocator1 >::size_type thread_num=0)
 3次元配列に対する3次のsinc関数を用いた補間

説明

3次のsinc関数を用いた補間

関数

template<class T1 , class Allocator1 , class T2 , class Allocator2 >
bool mist::cubic::interpolate ( const array< T1, Allocator1 > &  in,
array< T2, Allocator2 > &  out,
typename array< T1, Allocator1 >::size_type  width,
typename array1< T1, Allocator1 >::size_type  thread_num = 0 
)

1次元配列に対する3次のsinc関数を用いた補間

拡大縮小に伴う画素の内挿を,近傍の4点を用いて3次のsinc関数で決定する

注意
拡大縮小に伴い,画像の解像度も自動的に変換される
入力と出力は,別のMISTコンテナオブジェクトでなくてはならない
スレッド数に0を指定した場合は,使用可能なCPU数を自動的に取得する
引数
[in]in… 入力データ
[out]out… 出力データ
[in]width… 出力データのサイズ
[in]thread_num… 使用するスレッド数
戻り値
true… 補間に成功
false… 入力と出力が同じオブジェクトを指定した場合,もしくは出力サイズが0の場合

参照先 mist::do_threads(), mist::get_cpu_num(), mist::is_same_object(), mist::array< T, Allocator >::resize(), mist::array< T, Allocator >::size(), と mist::array< T, Allocator >::width().

template<class T1 , class Allocator1 , class T2 , class Allocator2 >
bool mist::cubic::interpolate ( const array1< T1, Allocator1 > &  in,
array1< T2, Allocator2 > &  out,
typename array1< T1, Allocator1 >::size_type  width,
typename array1< T1, Allocator1 >::size_type  thread_num = 0 
)

1次元配列に対する3次のsinc関数を用いた補間

拡大縮小に伴う画素の内挿を,近傍の4点を用いて3次のsinc関数で決定する

注意
拡大縮小に伴い,画像の解像度も自動的に変換される
入力と出力は,別のMISTコンテナオブジェクトでなくてはならない
スレッド数に0を指定した場合は,使用可能なCPU数を自動的に取得する
引数
[in]in… 入力データ
[out]out… 出力データ
[in]width… 出力データのサイズ
[in]thread_num… 使用するスレッド数
戻り値
true… 補間に成功
false… 入力と出力が同じオブジェクトを指定した場合,もしくは出力サイズが0の場合

参照先 mist::do_threads(), mist::get_cpu_num(), mist::is_same_object(), mist::array< T, Allocator >::resize(), mist::array1< T, Allocator >::reso1(), mist::array< T, Allocator >::size(), と mist::array< T, Allocator >::width().

template<class T1 , class Allocator1 , class T2 , class Allocator2 >
bool mist::cubic::interpolate ( const array2< T1, Allocator1 > &  in,
array2< T2, Allocator2 > &  out,
typename array2< T1, Allocator1 >::size_type  width,
typename array2< T1, Allocator1 >::size_type  height,
typename array2< T1, Allocator1 >::size_type  thread_num = 0 
)

2次元配列に対する3次のsinc関数を用いた補間

拡大縮小に伴う画素の内挿を,近傍の16点を用いて3次のsinc関数で決定する

注意
拡大縮小に伴い,画像の解像度も自動的に変換される
入力と出力は,別のMISTコンテナオブジェクトでなくてはならない
スレッド数に0を指定した場合は,使用可能なCPU数を自動的に取得する
引数
[in]in… 入力データ
[out]out… 出力データ
[in]width… 出力データのX軸方向のサイズ
[in]height… 出力データのY軸方向のサイズ
[in]thread_num… 使用するスレッド数
戻り値
true… 補間に成功
false… 入力と出力が同じオブジェクトを指定した場合,もしくは出力サイズが0の場合

参照先 mist::do_threads(), mist::get_cpu_num(), mist::array2< T, Allocator >::height(), mist::is_same_object(), mist::array2< T, Allocator >::resize(), mist::array1< T, Allocator >::reso1(), mist::array2< T, Allocator >::reso2(), mist::array< T, Allocator >::size(), と mist::array2< T, Allocator >::width().

template<class T1 , class Allocator1 , class T2 , class Allocator2 >
bool mist::cubic::interpolate ( const array3< T1, Allocator1 > &  in,
array3< T2, Allocator2 > &  out,
typename array3< T1, Allocator1 >::size_type  width,
typename array3< T1, Allocator1 >::size_type  height,
typename array3< T1, Allocator1 >::size_type  depth,
typename array3< T1, Allocator1 >::size_type  thread_num = 0 
)

3次元配列に対する3次のsinc関数を用いた補間

拡大縮小に伴う画素の内挿を,近傍の64点を用いて3次のsinc関数で決定する

注意
拡大縮小に伴い,画像の解像度も自動的に変換される
入力と出力は,別のMISTコンテナオブジェクトでなくてはならない
スレッド数に0を指定した場合は,使用可能なCPU数を自動的に取得する
引数
[in]in… 入力データ
[out]out… 出力データ
[in]width… 出力データのX軸方向のサイズ
[in]height… 出力データのY軸方向のサイズ
[in]depth… 出力データのZ軸方向のサイズ
[in]thread_num… 使用するスレッド数
戻り値
true… 補間に成功
false… 入力と出力が同じオブジェクトを指定した場合,もしくは出力サイズが0の場合

参照先 mist::array3< T, Allocator >::depth(), mist::do_threads(), mist::get_cpu_num(), mist::array3< T, Allocator >::height(), mist::is_same_object(), 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 >::width().

template<class T1 , class Allocator1 , class T2 , class Allocator2 >
void mist::cubic::transform ( const array2< T1, Allocator1 > &  in,
array2< T1, Allocator1 > &  out,
const matrix< T2, Allocator2 > &  mat 
)

transform array2

引数
[in]inis input array
[out]outis output array
int]mat is transformation matrix

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

template<class Value_type1 , class Allocator1 , class Value_type2 , class Allocator2 >
void mist::cubic::transform ( const mist::array2< Value_type1, Allocator1 > &  in,
mist::array2< Value_type2, Allocator2 > &  out,
const double &  delta_x,
const double &  delta_y 
)

平行移動と拡大を考慮して変形する

引数
[in]in… 入力画像
[out]out… 基準画像
[in]delta_x… x方向位置ずれ
[in]delta_y… y方向位置ずれ
[in]factor… 拡大率
戻り値
なし

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


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