Image resize image in matlab
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaire
Jan
le 13 Juin 2013
You forgot to mention any dteilas about the problem. What exactly do you see and what do you expect?
Réponse acceptée
Benoît THOUY
le 13 Juin 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
Plus de réponses (3)
Chandra Shekhar
le 13 Juin 2013
Modifié(e) : Chandra Shekhar
le 13 Juin 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 commentaires
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!