Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

affineOutputView

ワーピング イメージの出力表示の作成

説明

Rout = affineOutputView(sizeA,tform) は、入力イメージのサイズ sizeA とアフィン幾何学的変換 tform を受け取り、空間参照オブジェクト Rout を返します。このオブジェクトを imwarp への入力として使用し、ワープされたイメージの出力範囲とグリッド間隔を制御できます。

また、Rout = affineOutputView(sizeA,tform,'BoundsStyle',style) では、出力表示に出力イメージ全体が含まれるかどうか、出力表示が入力範囲に一致するかどうかなど、出力表示の空間範囲の制約も指定します。

すべて折りたたむ

イメージを読み取って表示します。イメージの空間範囲を確認するには、座標軸を表示します。

A = imread('kobi.png');
iptsetpref('ImshowAxesVisible','on')
imshow(A)

2 次元アフィン変換を作成します。この例では、範囲 [1.2, 2.4] の係数でのスケーリング、範囲 [-45, 45] 度の角度での回転、範囲 [100, 200] ピクセルの距離での水平方向の平行移動で構成されるランダムな変換を作成します。

tform = randomAffine2d('Scale',[1.2,2.4],'XTranslation',[100 200],'Rotation',[-45,45]);

イメージと変換について 3 つの異なる出力表示を作成します。

centerOutput = affineOutputView(size(A),tform,'BoundsStyle','CenterOutput');
followOutput = affineOutputView(size(A),tform,'BoundsStyle','FollowOutput');
sameAsInput = affineOutputView(size(A),tform,'BoundsStyle','SameAsInput');

異なる出力表示スタイルをそれぞれ使用して、入力イメージに変換を適用します。

BCenterOutput = imwarp(A,tform,'OutputView',centerOutput);
BFollowOutput = imwarp(A,tform,'OutputView',followOutput);
BSameAsInput = imwarp(A,tform,'OutputView',sameAsInput);

結果のイメージを表示します。

imshow(BCenterOutput)
title('CenterOutput Bounds Style');

imshow(BFollowOutput)
title('FollowOutput Bounds Style');

imshow(BSameAsInput)
title('SameAsInput Bounds Style');

iptsetpref('ImshowAxesVisible','off')

入力引数

すべて折りたたむ

入力イメージのサイズ。2 次元イメージ入力の 2 要素数値ベクトルまたは 3 次元ボリューム イメージ入力の 3 要素数値ベクトルとして指定します。

アフィン幾何学的変換。affine2d または affine3d オブジェクトとして指定します。

境界のスタイル。次のいずれかの値に指定します。

スタイル説明
'CenterOutput'表示を出力空間内のイメージの中心に配置し、平行移動で出力イメージが表示の外に移動できるようにします。
'FollowOutput'出力イメージを完全に含むように出力表示の範囲を設定します。
'SameAsInput'出力範囲が入力範囲と同じになるように設定します。

出力引数

すべて折りたたむ

空間参照。imref2d または imref3d オブジェクトとして返されます。Rout を関数 imwarpOutputView 引数として使用し、ワープされた出力の空間参照を指定します。

R2019b で導入