Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

imrotate

説明

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

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

J = imrotate(I,angle,method,bbox) は、bbox 引数も使用して、出力イメージのサイズを定義します。入力イメージと同じサイズになるように出力をトリミングすることも、回転したイメージ全体を返すこともできます。

すべて折りたたむ

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

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 配列、または categorical 配列として指定します。

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

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

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

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

説明

'nearest'

最近傍内挿。出力ピクセルには、対象の点が含まれるピクセルの値が代入されます。周りの他のピクセルは、考慮に入れません。

最近傍内挿は、categorical イメージでサポートされている唯一のメソッドです。

'bilinear'

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

'bicubic'

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

メモ

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

データ型: char | string

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

説明

'crop'

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

'loose'

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

データ型: char | string

出力引数

すべて折りたたむ

回転したイメージ。入力イメージ I と同じデータ型の数値配列、logical 配列、または categorical 配列として返されます。

ヒント

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

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

拡張機能

R2006a より前に導入