ドキュメンテーション

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

imrotate

構文

B = imrotate(A,angle)
B = imrotate(A,angle,method)
B = imrotate(A,angle,method,bbox)
gpuarrayB = imrotate(gpuarrayA,method)

説明

B = imrotate(A,angle) は、中心点を中心にしてイメージ A を反時計回りに angle 度回転します。イメージを時計回りに回転させるには、angle の値を負の値に指定します。imrotate は、回転したイメージ全体が含まれる大きさの出力イメージ B を作成します。imrotate は、最近傍内挿法を使用して、回転したイメージの外側の B のピクセルの値を 0 (ゼロ) に設定します。

B = imrotate(A,angle,method) は、method で指定された内挿法を使用して、イメージ A を回転します。

B = imrotate(A,angle,method,bbox) は、イメージ A を回転します。ここで、bbox は出力されるイメージのサイズを指定します。

gpuarrayB = imrotate(gpuarrayA,method) は GPU (グラフィックス処理装置) で処理を実行します。ここで、gpuarrayA はグレースケール イメージまたはバイナリ イメージを含む gpuArray オブジェクトで、出力イメージは gpuArray オブジェクトです。この構文では Parallel Computing Toolbox™ が必要です。

コード生成 サポート: あり。

MATLAB Function ブロック サポート: あり。

すべて折りたたむ

イメージをワークスペースに読み取ります。

I = fitsread('solarspectra.fts');

グレースケールに変換します。

I = mat2gray(I);

イメージを時計回りの方向に 1 度回転し、水平に合わせます。この例では、双一次内挿を指定し、結果が元のイメージと同じサイズにトリミングされるように要求しています。

J = imrotate(I,-1,'bilinear','crop');

元のイメージと回転したイメージを表示します。

figure
imshow(I)
title('Original Image')
figure
imshow(J)
title('Rotated Image')

イメージを gpuArray オブジェクトに読み取ります。

 X = gpuArray(imread('pout.tif'));

グラフィックス処理装置 (GPU) での操作実行により、イメージを回転させます。

Y = imrotate(X, 37, 'loose', 'bilinear');

回転させたイメージを表示します。

figure; imshow(Y)

入力引数

すべて折りたたむ

回転するイメージ。実数、非スパースの数値配列または論理配列として指定します。

例: J = imrotate(I,-1);

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

回転量 (度単位)。数値スカラーとして指定します。

例: J = imrotate(I,-1);

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

内挿法。次のいずれかの値に指定します。

説明

'nearest'

最近傍内挿

'bilinear'

双一次内挿

'bicubic'

双三次内挿

    メモ:   双三次内挿は、元の範囲外のピクセル値を生成します。

例: [ = imrotate(I,-1,'bilinear');

データ型: char

出力イメージのサイズを定義する境界ボックス。次のいずれかの値に指定します。

説明

'crop'

出力イメージ B と入力イメージ A のサイズが同じになるように、回転したイメージが適合するように切り取ります。

{'loose'}

回転したイメージ全体が出力イメージ B に含まれます。BA より大きくなっています。

例: J = imrotate(I,-1,'bilinear','crop');

データ型: char

回転するイメージ。gpuArray として指定します。

例: X = gpuArray(imread('pout.tif')); Y = imrotate(X, 37, 'loose', 'bilinear');

出力引数

すべて折りたたむ

回転したイメージ。実数、非スパースの数値配列または論理配列として返されます。

回転したイメージ。gpuArray として返されます。

詳細

すべて折りたたむ

コード生成

この関数では MATLAB® Coder™ を使用した C コードの生成がサポートされています。汎用の MATLAB Host Computer ターゲット プラットフォームを選択した場合、プリコンパイルされたプラットフォーム固有の共有ライブラリを使用するコードが、この関数によって生成されます。共有ライブラリを使用するとパフォーマンスの最適化は維持されますが、コードを生成できるターゲット プラットフォームが限定されます。詳細は、「Image Processing Toolbox のコード生成について」を参照してください。

コード生成時には、以下の点に注意してください。

  • 引数 method および bbox はコンパイル時の定数でなければなりません。

MATLAB Function ブロック

この関数は Simulink の MATLAB Function ブロックで使用できます。

この関数を MATLAB Function ブロックで使用する場合、入力引数 angle はコンパイル時の定数でなければなりません。

ヒント

  • この関数は Version 9.3 (R2015b) で変更されました。以前のバージョンの Image Processing Toolbox™ は異なる空間規則を使用しています。以前の実装時と同じ結果を得る必要がある場合、関数 imrotate_old を使用してください。

  • この関数は、データ型が uint8uint16 および single の場合、ハードウェアの最適化を利用して実行を高速化できる可能性があります。

R2006a より前に導入

この情報は役に立ちましたか?