Main Content

このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。

imresize

イメージのサイズ変更

説明

J = imresize(I,scale) は、I のサイズの scale 倍のイメージ J を返します。入力イメージ I には、グレースケール イメージ、RGB イメージ、バイナリ イメージ、または categorical イメージを指定できます。

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

[Y,newmap] = imresize(X,map,___) はカラーマップ map を使用してインデックス付きイメージ X をサイズ変更します。既定の設定では、imresize は、サイズ変更されたインデックス付きイメージとともに最適化されたカラーマップ newmap を返します。元のカラーマップと同じカラーマップを返す場合は、名前と値のペアの引数 Colormap を使用します。

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

___ = imresize(___,Name,Value) は、サイズ変更操作のさまざまな特性を制御する名前と値のペアの引数を使用します。

すべて折りたたむ

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

I = imread('rice.png');

倍率を指定し、既定の内挿法およびアンチエイリアス処理を使用してイメージをサイズ変更します。

J = imresize(I, 0.5);

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

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

Figure contains an axes. The axes with title Original Image contains an object of type image.

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

Figure contains an axes. The axes with title Resized Image contains an object of type image.

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

I = imread('rice.png');

倍率と内挿法を指定してイメージをサイズ変更します。

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

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

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

Figure contains an axes. The axes with title Original Image contains an object of type image.

figure
imshow(J)
title('Resized Image Using Nearest-Neighbor')

Figure contains an axes. The axes with title Resized Image Using Nearest-Neighbor contains an object of type image.

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

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

倍率を指定してイメージをサイズ変更します。既定の設定では、imresize は、サイズ変更されたインデックス付きイメージとともに最適化されたカラーマップを返します。

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

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

figure
imshow(X,map)
title('Original Image')

Figure contains an axes. The axes with title Original Image contains an object of type image.

figure
imshow(Y,newmap)
title('Resized Image')

Figure contains an axes. The axes with title Resized Image contains an object of type image.

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

RGB = imread('peppers.png');

出力イメージを 64 行にするように指定してイメージをサイズ変更します。縦横比を維持するのに必要な列数を、imresize で計算します。

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

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

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

Figure contains an axes. The axes with title Original Image contains an object of type image.

figure
imshow(RGB2)
title('Resized Image')

Figure contains an axes. The axes with title Resized Image contains an object of type image.

入力引数

すべて折りたたむ

サイズを変更するイメージ。任意の次元の数値配列、logical 配列、categorical 配列として指定します。I が 2 次元より大きい場合、imresize は最初の 2 次元のサイズのみを変更します。

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

サイズ変更係数。正の数値として指定します。

  • scale が 1 より小さい場合、出力イメージは入力イメージより小さくなります。

  • scale が 1 より大きい場合、出力イメージは入力イメージより大きくなります。

imresize はイメージの各次元に倍率を適用します。次元ごとに異なるサイズ変更係数を適用するには、代わりに Scale の名前と値のペアの引数を使用します。

データ型: 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

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

データ型: double | uint8 | uint16

インデックス付きイメージ X に関連付けられたカラーマップ。範囲 [0, 1] の値をもつ c 行 3 列の数値行列として指定します。各行は、カラーマップの単一色を構成する赤、緑、青の成分を指定する 3 要素の RGB 3 成分です。

データ型: double

内挿法またはカーネル。string スカラー、文字ベクトルまたは 2 要素 cell 配列として指定します。

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

メソッド説明

'nearest'

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

最近傍内挿は、categorical イメージでサポートされている唯一の内挿法であり、このタイプのイメージに対する既定のメソッドです。

'bilinear'

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

'bicubic'

双三次内挿。出力ピクセル値は、最近傍の 4 行 4 列のピクセルの重み付き平均です。双三次内挿は、数値イメージと論理イメージに対する既定のメソッドです。

メモ

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

内挿カーネル説明
'box'

箱型のカーネル

箱型のカーネルは、categorical イメージでサポートされている唯一の内挿カーネルです。

'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 | string | cell

名前と値のペアの引数

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

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

イメージ縮小時のアンチエイリアシングの実行。'Antialiasing'true または false で構成されるコンマ区切りのペアとして指定します。

  • method'nearest' の場合、'Antialiasing' の既定値は false になります。

  • 内挿 method'box' 内挿カーネルで、入力イメージがカテゴリカルの場合、'Antialiasing' の既定値は false になります。

  • その他すべての内挿法の場合、既定値は true です。

データ型: logical

インデックス付きイメージの最適化されたカラーマップまたは元のカラーマップの出力。'Colormap' と次のいずれかから構成されるコンマ区切りのペアとして指定します。

説明
'original'出力カラーマップ newmap は入力カラーマップ map と同じになります。
'optimized'imresize は新たに最適化されたカラーマップを返します。

'Colormap' 引数は、インデックス付きイメージのサイズを変更する場合のみ有効です。

データ型: char | string

カラー ディザリングの実行。'Dither'true または false で構成されるコンマ区切りのペアとして指定します。ディザリングでは、量子化誤差のランダム化や大規模パターンの回避のために、一種のノイズをイメージに適用します。

'Dither' 引数は、インデックス付きイメージのサイズを変更する場合のみ有効です。

データ型: logical

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

データ型: char | string | cell

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

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

サイズ変更の倍率。'Scale' と正の数値または正の数値の 2 要素ベクトルで構成されるコンマ区切りのペアとして指定します。スカラーを指定する場合、imresize はイメージの各次元に同じ倍率を適用します。2 要素ベクトルを指定する場合、imresize は各次元に異なるスケール値を適用します。

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

出力引数

すべて折りたたむ

サイズ変更されたイメージ。入力イメージ I と同じクラスの数値配列、logical 配列、または categorical 配列として返されます。

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

最適化されたカラーマップ。範囲 [0, 1] の値をもつ c 行 3 列の数値行列として返されます。各行は、カラーマップの単一色を構成する赤、緑、青の成分を指定する 3 要素の RGB 3 成分です。

ヒント

  • 関数 imresize は Version 5.4 (R2007a) で変更されました。以前のバージョンの Image Processing Toolbox™ は、既定の設定では異なるアルゴリズムを使用していました。以前の実装時と同じ結果を得る必要がある場合、関数 imresize_old を使用してください。

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

拡張機能

R2006a より前に導入