imtransform
(非推奨) イメージへの 2 次元空間変換の適用
imtransform
は推奨されません。2 次元および 3 次元の変換では、代わりに imwarp
を使用します。高次元の変換では、tformarray
を使用します。
構文
説明
は、空間変換のさまざまな特性を制御する名前と値の引数を使用します。B
= imtransform(___,Name,Value
)
例
入力引数
出力引数
ヒント
"イメージのレジストレーション"。関数
imtransform
は、出力イメージの原点を自動的にシフトして、変換されたイメージをできるだけ見やすくします。imtransform
を使用してイメージのレジストレーションを実行すると、構文B = imtransform(A,tform)
では、予想どおりの結果が得られない場合があります。出力イメージの空間的な位置を制御するには、XData
とYData
を明示的に設定します。"平行移動のみ"。純粋に平行移動のみを行う変換によって関数
imtransform
を呼び出すと、imtransform
の呼び出し時にXData
値とYData
値を指定していない場合、入力イメージとまったく同じ出力イメージが生成されます。たとえば、入力イメージに関連する平行移動を示し、出力と入力のサイズを同じ大きさにする場合、次の構文に示すようにimtransform
を呼び出します。B = imtransform(A,T,"XData",[1 size(A,2)],... "YData",[1 size(A,1)])
このトピックの詳細については、シンプルな 2 次元平行移動変換の実行を参照してください。
"変換速度"。
XData
とYData
を使用して、B
に対する出力空間の位置を設定していない場合、imtransform
は、関数findbounds
を使用して、自動的に位置を決定します。アフィン変換や射影変換など、いくつかの一般的に使われる変換に対して、高速フォワード マッピングのオプションとしてfindbounds
を使用できます。フォワード マッピングを行わない変換、たとえば、fitgeotform2d
で計算される多項式変換に対して、findbounds
はかなりの時間を要します。このような変換に対してXData
とYData
を直接指定できる場合、imtransform
は、かなり高速になる可能性があります。"クリッピング"。
findbounds
を使用したXData
とYData
の自動推定によって、出力イメージがクリッピングされる場合があります。クリッピングを防止するには、XData
とYData
を直接設定します。
バージョン履歴
R2006a より前に導入