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

imrotate

説明

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

オプションで、回転を GPU を使用して実行できます (Parallel Computing Toolbox™ が必要)。

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

J = imrotate(I,angle,method,bbox) は、bbox で出力イメージのサイズを指定し、イメージ I を回転します。'crop' が指定されると、imrotate は出力イメージのサイズを入力イメージと同じにします。'loose' が指定されると、imrotate は回転したイメージ全体が出力イメージに含まれるようにします。

すべて折りたたむ

イメージをワークスペースに読み取った後、グレースケール イメージに変換します。

I = fitsread('solarspectra.fts');
I = rescale(I);

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

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

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

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

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

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

入力引数

すべて折りたたむ

回転するイメージ。数値配列または logical 配列として指定します。

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

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

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

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

説明

'nearest'

最近傍内挿。出力ピクセル値として、対象となる位置の中に存在している値を割り当てます。周りの他のピクセルは、考慮に入れません。

'bilinear'

双一次内挿。出力ピクセル値は、最近傍の 2 行 2 列のピクセルの重み付き平均です。

'bicubic'

双三次内挿。出力ピクセル値は、最近傍の 4 行 4 列のピクセルの重み付き平均です。

メモ

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

データ型: char | string

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

説明

'crop'

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

'loose'

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

データ型: char | string

出力引数

すべて折りたたむ

回転したイメージ。数値配列または logical 配列として返されます。

ヒント

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

  • 場合によって、この関数は、uint8uint16single および double の各データ型に対し、ハードウェア最適化を利用して実行を高速化します。

拡張機能

R2006a より前に導入