Main Content

affineOutputView

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

説明

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

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

すべて折りたたむ

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

A = imread("kobi.png");
A = imresize(A,0.25);
iptsetpref("ImshowAxesVisible","on")
imshow(A)

Figure contains an axes object. The axes object contains an object of type image.

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");

Figure contains an axes object. The axes object with title CenterOutput Bounds Style contains an object of type image.

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

Figure contains an axes object. The axes object with title FollowOutput Bounds Style contains an object of type image.

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

Figure contains an axes object. The axes object with title SameAsInput Bounds Style contains an object of type image.

iptsetpref("ImshowAxesVisible","off")

入力引数

すべて折りたたむ

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

幾何学的変換。表に記載されている幾何学的変換オブジェクトとして指定します。

幾何学的変換オブジェクト説明
2 次元幾何学的変換
transltform2d平行移動変換
rigidtform3d剛体変換: 平行移動と回転
simtform2d相似変換: 平行移動、回転、等方性スケーリング
affinetform2dアフィン変換: 平行移動、回転、異方性スケーリング、鏡映、せん断
3 次元幾何学的変換
transltform3d平行移動変換
rigidtform3d剛体変換: 平行移動と回転
simtform3d相似変換: 平行移動、回転、等方性スケーリング
affinetform3dアフィン変換: 平行移動、回転、異方性スケーリング、鏡映、せん断

メモ

tform は、affine2d オブジェクトまたは affine3d オブジェクトとして指定することもできます。ただし、これらのオブジェクトは推奨されません。詳細については、互換性の考慮事項を参照してください。

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

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

出力引数

すべて折りたたむ

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

拡張機能

バージョン履歴

R2019b で導入

すべて展開する