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

- ネームスペース一覧
- ネームスペースメンバ

関数
ネームスペース mist::BSpline
画像補間

3次のBスプライン関数を用いた補間 [詳細]

## 関数
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次のBスプライン関数を用いた補間
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次のBスプライン関数を用いた補間
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次のBスプライン関数を用いた補間
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次のBスプライン関数を用いた補間

## 説明

3次のBスプライン関数を用いた補間

## 関数

template<class T1 , class Allocator1 , class T2 , class Allocator2 >

bool mist::BSpline::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次のBスプライン関数を用いた補間

拡大縮小に伴う画素の内挿を，近傍の4点を用いて3次のBスプライン関数で決定する

注意
  拡大縮小に伴い，画像の解像度も自動的に変換される
  入力と出力は，別の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::BSpline::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次のBスプライン関数を用いた補間

拡大縮小に伴う画素の内挿を，近傍の4点を用いて3次のBスプライン関数で決定する

注意
  拡大縮小に伴い，画像の解像度も自動的に変換される
  入力と出力は，別の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::BSpline::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次のBスプライン関数を用いた補間

拡大縮小に伴う画素の内挿を，近傍の16点を用いて3次のBスプライン関数で決定する

注意
  拡大縮小に伴い，画像の解像度も自動的に変換される
  入力と出力は，別の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::BSpline::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次のBスプライン関数を用いた補間

拡大縮小に伴う画素の内挿を，近傍の64点を用いて3次のBスプライン関数で決定する

注意
  拡大縮小に伴い，画像の解像度も自動的に変換される
  入力と出力は，別の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().