Image resize image in matlab
5 次查看(过去 30 天)
显示 更早的评论
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 个评论
Jan
2013-6-13
You forgot to mention any dteilas about the problem. What exactly do you see and what do you expect?
采纳的回答
Benoît THOUY
2013-6-13
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
更多回答(3 个)
Chandra Shekhar
2013-6-13
编辑:Chandra Shekhar
2013-6-13
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Color 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!