How does the function "imresize" work in details ?

During my internship I discovered the function "imresize" which I used it to enhance the resolution of images (for example : I transformed a 32x32 image into a 128x128 image) and it gave me really good results.
So I read the code of the function and it didn't help me to understand it.
So I am asking you to explain to me how it works or to give me links to articles and publications on resolution enhancement theories. The second choice would be better for me.
Thanks to all and sorry for my english.
BELAFDIL Chakib

1 Comment

Can you provide the code of the function? Any link or publications?

Sign in to comment.

 Accepted Answer

Elad
Elad on 23 Jul 2013
I'm not sure, (did'nt look at the function's code). but, probably using some kind of bi-linear interrpolation: http://en.wikipedia.org/wiki/Bilinear_interpolation

1 Comment

I think imresize function using Bicubic Interpolation as default.

Sign in to comment.

More Answers (1)

I would take at the series on spatial transformations from Steve on Image Processing, starting with Terminology and Notation:
Imresize is simply applying a scale transformation to the original image. You could think of this operation as the application of the following affine transformation matrix to the original image:
T = [4 0 0; 0 4 0; 0 0 1];
Imresize uses inverse mapping to figure out where each point in the output grid maps in the input grid. We then interpolate within the input grid to determine the output grid values. By default, imresize uses bicubic interpolation by default.
Applying a scale geometric transformation to an image is not a "resolution enhancement" technique. You do not have any more information in the output image than you started with in the input image, you have simply interpolated to create a larger grid than you started with.
This is not applicable to your particular problem, because you are increasing the size of your original image, but if you resize with a scale factor of less than 1, imresize applies an anti-aliasing filter prior to resizing.

1 Comment

Hello Alex,
I have a question regarding the grid values. If I slice an image for the row elements only (e.g. 360 by 360 grid image is sliced to 180 by 360), how does that affect the grid size and values? Does it reduce the grid values too?

Sign in to comment.

Asked:

on 23 Jul 2013

Commented:

on 16 Jul 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!