Main Content

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

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)

Figure contains an axes. The axes contains an object of type image.

Figure contains an axes. The axes contains an object of type image.

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

I = imread('ngc6543a.jpg');

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

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

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

figure 
imshow(I)

Figure contains an axes. The axes contains an object of type image.

figure
imshow(J)

Figure contains an axes. The axes contains an object of type image.

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

RGB = imread('peppers.png');

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

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

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

figure
imshow(RGB)

Figure contains an axes. The axes contains an object of type image.

figure
imshow(RGB2)

Figure contains an axes. The axes contains an object of type image.

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

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

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

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

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

figure
imshow(X,map)

Figure contains an axes. The axes contains an object of type image.

figure
imshow(Y, newmap)

Figure contains an axes. The axes contains an object of type image.

入力引数

すべて折りたたむ

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

データ型: 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 を使用します。

拡張機能

参考

(Image Processing Toolbox) | (Image Processing Toolbox) | (Image Processing Toolbox) | (Image Processing Toolbox) | | (Parallel Computing Toolbox)

R2006a より前に導入