makeresampler
リサンプリング構造体の作成
説明
は、R = makeresampler(interpolant,padMethod)tformarray で使用する分離可能な resampler 構造体を作成します。引数 interpolant は、分離可能なリサンプラーが使用する内挿カーネルを指定します。padMethod 引数は、入力配列のエッジの近くやエッジの外側の部分をマッピングしたときに、リサンプラーが出力要素に値をどのように内挿するか、または割り当てるかを制御します。
は、名前と値の引数を使用してユーザー設定のリサンプラーを作成します。R = makeresampler(Name,Value)
例
イメージをワークスペースに読み取って表示します。
A = imread('moon.tif');
imshow(A)
分離可能なリサンプラーを作成します。
resamp = makeresampler({'nearest','cubic'},'fill');アフィン変換を定義する空間変換構造体 (TFORM) を作成します。
stretch = maketform('affine',[1 0; 0 1.3; 0 0]);カスタム リサンプラーを指定して変換を適用します。
B = imtransform(A,stretch,resamp);
変換後のイメージを表示します。
imshow(B)

入力引数
内挿カーネル。"nearest"、"linear"、"cubic"、または cell 配列として指定します。これらのカーネルは、それぞれ最近傍内挿、双一次内挿、双三次内挿、およびカスタム内挿を実行します。
カスタムの内挿カーネルは、次のどちらかの形式で 2 要素の cell 配列として定義します。
| 形式 | 説明 |
|---|---|
|
|
|
|
要素数が変換次元の数と等しい cell 配列 を指定することで、各変換次元に沿って内挿法を個別に定義することができます。cell 配列の各要素は、上記の内挿カーネル タイプのいずれかでなければなりません。たとえば、3 次元内挿カーネルの interpolant の次の値について考えてみましょう。
{"nearest","linear",{2 KERNEL_TABLE}}この例では、リサンプラーは、最初の変換次元に沿って最近傍内挿を、2 番目の次元に沿って線形内挿を、3 番目の次元に沿ってカスタム仕様の表をベースにした内挿を使います。
データ型: char | string | cell
入力配列の外側にマッピングされる出力要素に値を割り当てるために使用するパディング方法。次のいずれかの値として指定します。
パディング方法 | 説明 |
|---|---|
| 塗りつぶしの値の配列から入力配列の外側にマッピングされる点に値を割り当てます。配列内にマッピングされる点には、配列の境界要素を繰り返します ( |
| 次元内で巡回的に要素を繰り返して、配列をパディングします。 |
| 最近傍内挿を使用する以外は、平滑化したようなエッジをもつ出力配列を作成します。入力配列のエッジ (内側または外側) の近傍にマッピングする出力点に対して、入力イメージと塗りつぶしの値を組み合わせます。 |
| 配列の境界の要素を繰り返すことによって配列をパディングします。 |
| 配列自体の鏡像で配列をパディングします。 |
"fill"、"replicate"、"circular"、または "symmetric" の場合、tformarray により実行されるリサンプリングは、2 つの論理ステップを経由します。
入力変換空間すべてを塗りつぶすために、配列
Aを制限なくパディングします。幾何学的なマップで指定される出力点で、リサンプリング カーネルとパディングされた
Aの畳み込みを評価します。
変換されない各次元は、別々に取り扱われます。パディングは、性能やメモリの効率的な観点で使用する仮想的なものです (配列の添字の再マッピングにより実行)。カスタムのリサンプラーを実装する場合、これらの動作を実装することになります。
データ型: char | string
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。
例: "Type","separable" は分離可能なリサンプラーを作成します。
リサンプラー タイプ。次のいずれかの値を指定します。
| 型 | 説明 |
|---|---|
"separable" | 分離可能なリサンプラーを作成します。この値を指定した場合、他に指定可能な引数は、Interpolant と PadMethod のみになります。結果は makeresampler(interpolant,padMethod) の構文を使用する場合と等価です。 |
"custom" | カスタムのリサンプラーを作成します。この値を指定した場合、NDims および ResampleFcn の各引数を指定しなければなりません。オプションとして CustomData 引数を指定することもできます。 |
データ型: char | string
詳細については、padMethod 引数を参照してください。
データ型: char | string
詳細については、interpolant 引数を参照してください。
データ型: char | string | cell
取り扱い可能なカスタム リサンプラーの次元。正の整数として指定します。Inf 値を使って、カスタム リサンプラーが任意の次元を取り扱うことができることを示します。"Type" が "custom" の場合、NDims を指定しなければなりません。
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
リサンプリングを実行する関数。関数ハンドルとして指定します。この関数は、次のインターフェイスで呼び出します。
B = resample_fcn(A,M,TDIMS_A,TDIMS_B,FSIZE_A,FSIZE_B,F,R)
この関数の入力引数の詳細については、tformarray のヘルプを参照してください。引数 M は配列で、B の変換添字空間を A の変換添字空間にマッピングするものです。A が N の変換次元 (N = length(TDIMS_A)) をもち、B が P の変換次元 (P = length(TDIMS_B)) をもつ場合、N > 1 の場合、ndims(M) = P + 1、N == 1 の場合 P です。また、size(M,P + 1) = N です。
M の最初の P 次元は、出力変換空間に対応し、TDIMS_B にリストされる出力変換次元の順番に従って、置換されます (一般的に、TDIMS_A と TDIMS_B は、昇順に並べ替える必要はありませんが、このような制限を設けるリサンプラーもあります)。そして、size(M) の最初の P 要素は、B の変換次元のサイズを決定します。各点がマッピングされる入力変換座標は、TDIMS_A に与えられる順番に従って、M の最後の次元をまたいで配置されます。M は double でなければなりません。FSIZE_A および FSIZE_B は、A および B のフル サイズで、必要に応じて、TDIMS_A、TDIMS_B、および size(A) と整合性を保つ必要がある場合、1 でパディングします。
データ型: function_handle
ユーザー定義データ。string スカラー、文字ベクトルまたは数値配列を使用して指定します。
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string
出力引数
リサンプラー。構造体として返されます。
拡張機能
この関数は、スレッドベースの環境を完全にサポートします。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
バージョン履歴
R2006a より前に導入makeresampler は、スレッドベースの環境をサポートするようになりました。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)