Image resize image in matlab
2 views (last 30 days)
Show older comments
Hi, I am facing a blurring issue in the below code:
I = imread('waterframe-1.png');
I=imresize(I,[16 16]);
I=rgb2ycbcr(I);
I=ycbcr2rgb(I);
I=imresize(I,[256 256]);
I=ycbcr2rgb(I);
imshow(I);
Any help in this will be very highly appreciated
Thanks Mehwish
1 Comment
Jan
on 13 Jun 2013
You forgot to mention any dteilas about the problem. What exactly do you see and what do you expect?
Accepted Answer
Benoît THOUY
on 13 Jun 2013
Hi,
When upsampling, you have to deal with interpolation in order to predict missing pixels. As you do not know all 256*256 pixels with only 16*16 pixels, it uses some kind of "averaging" closest pixels to compute all pixels.
imresize uses bilinear interpolation by default. You can change to bicubic interpolation to have more "sharp" edges, but it will be blurred anyway. Nearest-neighbor interpolation will give you a "block" effect so no blur but big [16 16] squares. It is up to your choice. See documentation of imresize: www.mathworks.com/help/images/ref/imresize.html
More Answers (3)
Chandra Shekhar
on 13 Jun 2013
Edited: Chandra Shekhar
on 13 Jun 2013
dont resize original image to [16 16] make it as it is.
follow following code to get more info
I = imread('waterframe-1.png');
I=imresize(I,[256 256]);
I=rgb2ycbcr(I);
I=ycbcr2rgb(I);
I=imresize(I,[256 256]);
I=ycbcr2rgb(I);
figure;imshow(I);
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!