MATLAB ヘルプ センター
ワーピング イメージの出力表示の作成
Rout = affineOutputView(sizeA,tform)
Rout = affineOutputView(sizeA,tform,BoundsStyle=style)
Rout = affineOutputView(sizeA,tform) は、入力イメージのサイズ sizeA とアフィン幾何学的変換 tform を受け取り、空間参照オブジェクト Rout を返します。このオブジェクトを imwarp への入力として使用し、ワーピングされたイメージの出力範囲とグリッド間隔を制御できます。
Rout
sizeA
tform
imwarp
また、Rout = affineOutputView(sizeA,tform,BoundsStyle=style) では、出力表示に出力イメージ全体が含まれるかどうか、出力表示が入力範囲に一致するかどうかなど、出力表示の空間範囲の制約も指定します。
style
例
すべて折りたたむ
イメージを読み取って表示します。イメージの空間範囲を確認するには、座標軸を表示します。
A = imread("kobi.png"); A = imresize(A,0.25); 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 要素数値ベクトルとして指定します。
幾何学的変換。表に記載されている幾何学的変換オブジェクトとして指定します。
transltform2d
rigidtform2d
simtform2d
affinetform2d
transltform3d
rigidtform3d
simtform3d
affinetform3d
メモ
tform は、affine2d オブジェクトまたは affine3d オブジェクトとして指定することもできます。ただし、これらのオブジェクトは推奨されません。詳細については、バージョン履歴を参照してください。
affine2d
affine3d
"CenterOutput"
"FollowOutput"
"SameAsInput"
境界のスタイル。次のいずれかの値に指定します。
imref2d
imref3d
空間参照。imref2d または imref3d オブジェクトとして返されます。Rout を関数 imwarp の OutputView 引数として使用し、ワーピングされた出力の空間参照を指定します。
OutputView
すべて展開する
backgroundPool
ThreadPool
この関数は、スレッドベースの環境を完全にサポートします。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
R2022b 以降、ほとんどの Image Processing Toolbox™ 関数は、左から乗算する規則を使用して幾何学的変換を作成し、実行します。そのため、tform を、affinetform2d や affinetform3d オブジェクトなどの左から乗算する規則を使用する幾何学的変換オブジェクトとして指定できるようになりました。
tform は affine2d や affine3d オブジェクトとして指定することもできますが、これらのオブジェクトは右から乗算する規則を使用しているため推奨されません。左から乗算する規則を使用するオブジェクトに切り替えることで、幾何学的変換のワークフローを効率化できます。詳細については、Migrate Geometric Transformations to Premultiply Conventionを参照してください。
affineOutputView は、スレッドベースの環境をサポートするようになりました。
affineOutputView
imwarp | randomAffine2d | randomAffine3d
randomAffine2d
randomAffine3d
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 のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ