No BSD License  

Highlights from
Gaussian Pyramid - Expand and Reduce routines

3.11111

3.1 | 9 ratings Rate this file 16 Downloads (last 30 days) File Size: 1.56 KB File ID: #5115

Gaussian Pyramid - Expand and Reduce routines

by Karthik A

 

06 Jun 2004 (Updated 09 Jun 2004)

This contains set of routines, for the 'expand' and 'reduce' operations of Gaussian Image Pyramids.

| Watch this File

File Information
Description

This contains the code for the 'Expand' and 'Reduce' routines for Gaussian image pyramids, as discussed in the Paper - "
The Laplacian Pyramid as a Compact Image Code" - Burt and Adelson, 1983.

Important applications of the same include motion estimation.

Acknowledgements
This submission has inspired the following:
Gaussian Pyramid - Expand and Reduce routines 1D, 2D and 3D
Required Products Image Processing Toolbox
MATLAB release MATLAB 6.1 (R12.1)
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (13)
16 Jun 2004 Isabel Sargent

Doesn't give information about required inputs. Can figure this out fairly easily from code. Code looks a little crude however, not really taking advantage of matrix functionality of Matlab. This was useful to help me understand the paper from which it was taken and I'm sure it works well.

16 Jun 2004 Izz S

Having said the above, I can see how this method works better for larger data sets - sorry!

11 Dec 2004 KGD -

As noted this is a very poor Matlab implementation (i.e., 3 NESTED loops). A far more efficient Matlab implementation can be had by utilizing Matlab's 2D convolution (conv2) with a separable filter lowpass filter (i.e., two 1D convolutions).

05 Apr 2005 simon rohl

i can not iúnderstand input parameter Wt. some body please descibe it.

13 May 2005 nana nana

i also can understand Wt?

31 May 2005 Abdella Gr

w is what Burt refers to as the "generating kernel" (it's a filter, 5-tap in this case). What is really happening here is that rather than using a 2D kernel w(m,n) the code is using the a separable formulation of w(m,n) (i.e., filtering in each of the dimensions with a 1D filter). This reduces the computational cost of the filtering. Here is a common w = (1/16)*[1 4 6 4 1]. If you refer to some of Peter Burt's earlier papers he provides a set of constraints for building the weight.

01 Jun 2005 Kashif Riaz  
11 Oct 2005 Mikel Rodriguez

I set Wt to [.05; .25 ;.4; .25;.05].

01 Aug 2006 P. S.

Changing the line "A = [A, tmpval] ;" to "A = A + sum(tmpval);" highly increases speed because memory has not to be allocated in each loop.

23 Aug 2006 Deshan Yang

There are an error with the 'expand' function.

The most inner loop should be as:

                if ( (floor(pixeli) == pixeli) & (floor(pixelj) == pixelj ) )
                    pixeli = pixeli + 2;
                    pixelj = pixelj + 2;
                    tmpval = I (pixeli, pixelj) * Wt(m + 3) * Wt(n + 3);
                    A = [A, tmpval] ;
                end

Otherwise, the expanded image will have 1 pixel shifting to right and down.

21 Mar 2007 Amirzeb Badshah

it helped me a lot

10 Sep 2008 ss sharif

i could not undrestant what does means ?

28 Jun 2010 Rachel

Bad MATLAB implementation.

Please login to add a comment or rating.
Tag Activity for this File
Tag Applied By Date/Time
transforms Karthik A 22 Oct 2008 07:22:24
gaussian pyramid Karthik A 22 Oct 2008 07:22:24
reduce Karthik A 22 Oct 2008 07:22:24
expand Karthik A 22 Oct 2008 07:22:24
expand Nilesh 30 Nov 2009 06:40:52
expand Hiren Mewada 05 Apr 2010 02:03:30
transforms anna anna 28 May 2010 11:18:41
gaussian pyramid Rajeshwari 09 Oct 2011 01:24:20

Contact us at files@mathworks.com