ドキュメンテーション

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

impyramid

イメージ ピラミッドの縮小と拡張

構文

B = impyramid(A,direction)

説明

B = impyramid(A,direction) は、A の 1 レベルによるガウス ピラミッドの縮小または拡張を計算します。ここで、direction は縮小か拡大かを決定します。

コード生成 サポート: あり。

MATLAB Function ブロック サポート: あり。

すべて折りたたむ

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

I = imread('cameraman.tif');

縮小を連続して実行します。最初の呼び出しで元のイメージを縮小します。他の impyramid の呼び出しは、その前に縮小されたイメージを使用します。

I1 = impyramid(I, 'reduce');
I2 = impyramid(I1, 'reduce');
I3 = impyramid(I2, 'reduce');

元のイメージと縮小されたイメージを表示します。

figure, imshow(I)
figure, imshow(I1)
figure, imshow(I2)
figure, imshow(I3)

入力引数

すべて折りたたむ

縮小または拡大するイメージ。数値配列または論理配列として指定します。

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

縮小または拡大。次のいずれかの値に指定します。

説明
'reduce'元のイメージより小さいイメージを返します。
'expand'元のイメージより大きいイメージを返します。

データ型: char

出力引数

すべて折りたたむ

縮小または拡大されたイメージ。A と同じクラスの数値配列または論理配列として返されます。

詳細

すべて折りたたむ

コード生成

この関数では MATLAB® Coder™ を使用した C コードの生成がサポートされています。詳細は、「画像処理のコード生成」を参照してください。

コード生成時には、以下の点に注意してください。

  • direction はコンパイル時の定数でなければなりません。

MATLAB Function ブロック

この関数は Simulink の MATLAB Function ブロックで使用できます。

アルゴリズム

Amn 列で、direction'reduce' の場合、B のサイズは ceil(M/2)ceil(N/2) 列になります。direction'expand' の場合、B のサイズは (2*M-1)(2*N-1) 列になります。

縮小と拡張は、最初の 2 次元でのみ行われます。たとえば、A が 100 × 100 × 3 で、direction'reduce' の場合、B は 50 × 50 × 3 になります。

impyramid は、後述の Burt and Adelson 論文の 533 ページで指定したカーネルを使用することに注意してください。

w=[14a2,14,a,14,14a2]。ここで、a = 0.375 です。同等の重み付け関数がガウス形状に近くなり、固定小数点演算を使用して重みを簡単に適用できるように、パラメーター a として 0.375 が選択されます。

参照

[1] Burt and Adelson, "The Laplacian Pyramid as a Compact Image Code," IEEE Transactions on Communications, vol. COM-31, no. 4, April 1983, pp. 532-540.

[2] Burt, "Fast Filter Transforms for Image Processing," Computer Graphics and Image Processing, vol. 16, 1981, pp. 20-51

参考

R2007b で導入

この情報は役に立ちましたか?