ドキュメンテーション

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

imresize

イメージのサイズ変更

説明

B = imresize(A,scale) は、A のサイズの scale 倍のイメージ B を返します。入力イメージ A は、グレースケール イメージ、RGB イメージ、バイナリ イメージのいずれでも構いません。A が 2 次元より大きい場合、imresize は最初の 2 次元のサイズのみを変更します。scale が [0, 1] の範囲にある場合、BA より小さくなります。scale が 1 より大きい場合、BA より大きくなります。既定では、imresize は双三次内挿を使用します。

B = imresize(A,[numrows numcols]) は、2 要素ベクトル [numrows numcols] で指定された行数と列数をもつイメージ B を返します。

[Y,newmap] = imresize(X,map,___) はインデックス付きイメージ X のサイズを変更します。ここで、map はイメージに関連付けられたカラーマップです。既定では、imresize は、サイズの変更されたイメージとともに最適化された新しいカラーマップ (newmap) を返します。元のカラーマップと同じカラーマップを出力する場合は、'Colormap' パラメーターを使用します。

___ = imresize(___,method) は使用する内挿法を指定します。

___ = imresize(___,Name,Value) は、Name,Value のペアでサイズ変更操作のさまざまな特性を制御し、サイズの変更されたイメージを返します。

すべて折りたたむ

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

I = imread('ngc6543a.jpg');

イメージを 2 分の 1 に縮小します。

J = imresize(I, 0.5);

元のイメージとサイズの変更されたイメージを表示します。

figure, imshow(I), figure, imshow(J)

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

I = imread('ngc6543a.jpg');

最近傍内挿を使用して 2 分の 1 に縮小します。これは最も高速な方法ですが、品質は最も低くなります。

J = imresize(I, 0.5, 'nearest');

元のイメージとサイズの変更されたイメージを表示します。

figure 
imshow(I)

figure
imshow(J)

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

RGB = imread('peppers.png');

RGB イメージが 64 行になるようにサイズを変更します。imresize は列数を自動的に計算します。

RGB2 = imresize(RGB, [64 NaN]);

元のイメージとサイズの変更されたイメージを表示します。

figure
imshow(RGB)

figure
imshow(RGB2)

インデックス付きイメージをワークスペースに読み取ります。

[X, map] = imread('corn.tif');

インデックス付きイメージを 2 分の 1 に縮小します。

[Y, newmap] = imresize(X, map, 0.5);

元のイメージとサイズの変更されたイメージを表示します。

figure
imshow(X,map)

figure
imshow(Y, newmap)

入力引数

すべて折りたたむ

サイズを変更するイメージ。非スパースの実数値配列として指定します。

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

サイズ変更係数。実数値スカラーとして指定します。

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

出力イメージの行と列の次元。正の値の 2 要素数値ベクトルとして指定します。numrows または numcols のいずれかを NaN にすることができます。その場合、imresize は、イメージの縦横比を保つように自動的に行数または列数を計算します。

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

サイズを変更するインデックス付きイメージ。非スパースの実数値配列として指定します。

例: [X2, newmap] = imresize(X,map,0.75);

データ型: double | uint8 | uint16

インデックス付きイメージに関連付けられたカラーマップ。m 行 3 列の数値配列です。

データ型: double

内挿法。文字ベクトルまたは 2 要素 cell 配列として指定します。

method が文字ベクトルの場合、次の表にリストされる特定のメソッドまたは名前付き内挿カーネルを識別します。

メソッド説明

'nearest'

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

'bilinear'

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

'bicubic'

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

メモ

双三次内挿は、元の範囲外のピクセル値を生成する可能性があります。

内挿カーネル説明
'box'箱型のカーネル
'triangle'三角カーネル ('bilinear' と等価)
'cubic'3 次カーネル ('bicubic' と等価)
'lanczos2'Lanczos-2 カーネル
'lanczos3'Lanczos-3 カーネル

method が 2 要素の cell 配列である場合、これはカスタム内挿カーネルを定義します。この cell 配列の形式は {f,w} です。ここで、f はカスタム内挿カーネルの関数ハンドル、w はカスタム カーネルの幅です。f(x) は -w/2 <= x < w/2 の区間外でゼロでなければなりません。関数ハンドル f は、スカラーまたはベクトル入力を指定して呼び出すことができます。ユーザー指定の内挿カーネルの場合、出力イメージのいくつかの値が、入力イメージのピクセル値の範囲からわずかに外れる可能性があります。

データ型: char | cell

名前と値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

例: I2 = imresize(I,0.5,'Antialiasing',false);

イメージ縮小時のアンチエイリアシングの実行。'Antialiasing' と論理ブール値 true または false で構成されるコンマ区切りのペアとして指定します。既定値は内挿法に依存します。メソッドが最近傍 ('nearest') の場合、既定値は false です。その他すべての内挿法の場合、既定値は true です。

データ型: logical

最適化されたカラーマップの出力。'Colormap' と文字ベクトル 'optimized' または 'original' で構成されるコンマ区切りのペアとして指定します (インデックス付きイメージのみ)。'original' に設定されている場合、出力されるカラーマップ (newmap) は入力されたカラーマップ (map) と同じになります。'optimized' に設定された場合、imresize は新たに最適化されたカラーマップを出力します。

データ型: char

カラー ディザリングの実行。'Dither' と論理ブール値 true または false で構成されるコンマ区切りのペアとして指定します (インデックス付きイメージのみ)。

ディザリングでは、量子化誤差のランダム化や大規模パターンの回避のために、一種のノイズをイメージに適用します。

データ型: logical

内挿法。'Method' と文字ベクトルまたは 2 要素 cell 配列で構成されるコンマ区切りのペアとして指定します。詳細については、method を参照してください。

データ型: char | cell

出力イメージのサイズ。'OutputSize'[numrows numcols] の形式の 2 要素ベクトルで構成されるコンマ区切りのペアとして指定します。

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

サイズ変更の倍率。'Scale' と正の数値スカラーまたは正の値の 2 要素ベクトルで構成されるコンマ区切りのペアとして指定します。

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

出力引数

すべて折りたたむ

サイズの変更されたイメージ。入力イメージと同じクラスの非スパースの実数値配列として返されます。

サイズの変更されたインデックス付きイメージ。入力イメージと同じクラスの非スパースの実数値配列として返されます。

最適化されたカラーマップ。m 行 3 列の数値配列として返されます。

ヒント

  • 出力イメージのサイズが整数にならない場合、imresize は指定されたスケールを使用しません。出力イメージのサイズを計算するときに、imresizeceil を使用します。

拡張機能

R2006a より前に導入