This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.


Image pyramid reduction and expansion


B = impyramid(A,direction)



B = impyramid(A,direction) computes a Gaussian pyramid reduction or expansion of A by one level. direction determines whether impyramid performs a reduction or an expansion.


collapse all

Read image into the workspace.

I = imread('cameraman.tif');

Perform a series of reductions. The first call reduces the original image. The other calls to impyramid use the previously reduced image.

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

View the original image and the reduced versions.

figure, imshow(I)

figure, imshow(I1)

figure, imshow(I2)

figure, imshow(I3)

Input Arguments

collapse all

Image to reduced or expanded, specified as a numeric or logical array.

Data Types: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

Reduction or expansion, specified as one of the following values:

'reduce'Return an image, smaller than the original image.
'expand'Return an image that is larger than the original image.

Data Types: char | string

Output Arguments

collapse all

Reduced or expanded image, returned as a numeric or logical array, the same class as A.


If A is m-by-n and direction is 'reduce', the size of B is ceil(M/2)-by-ceil(N/2). If direction is 'expand', the size of B is (2*M-1)-by-(2*N-1).

Reduction and expansion take place only in the first two dimensions. For example, if A is 100-by-100-by-3 and direction is 'reduce', then B is 50-by-50-by-3.

impyramid uses the kernel specified on page 533 of the Burt and Adelson paper:

w=[14a2,14,a,14,14a2], where a = 0.375. The parameter a is set to 0.375 so that the equivalent weighting function is close to a Gaussian shape. In addition, the weights can be readily applied using fixed-point arithmetic.


[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

Extended Capabilities

See Also

Introduced in R2007b