Image 在不损失质量的情况下调整图像大小?
例如,如果我有一个大小为400 x 600的图像。我知道如何通过使用以下代码调整其大小,使其达到80 x 80的大小:Image 在不损失质量的情况下调整图像大小?,image,matlab,image-processing,resize,Image,Matlab,Image Processing,Resize,例如,如果我有一个大小为400 x 600的图像。我知道如何通过使用以下代码调整其大小,使其达到80 x 80的大小: original_image = imread(my_image); original_image_gray = rgb2gray(original_image); Image_resized = imresize(original_image_gray, [80 80]); 但我认为,imresize将调整图像大小,但会降低图像质量。那么,如何在不损失任何质量的情况下调整其
original_image = imread(my_image);
original_image_gray = rgb2gray(original_image);
Image_resized = imresize(original_image_gray, [80 80]);
但我认为,imresize
将调整图像大小,但会降低图像质量。那么,如何在不损失任何质量的情况下调整其大小?本身将丢失部分图像信息,即图像质量
您可以通过设置相应的参数来选择适合您目的的调整大小方法:
[...] = imresize(...,method)
^^^^^^
本身将丢失部分图像信息,即图像质量
您可以通过设置相应的参数来选择适合您目的的调整大小方法:
[...] = imresize(...,method)
^^^^^^
Matlab将图像存储为像素阵列。不可能将400x600元素矩阵中包含的所有信息存储在80x80矩阵中,因此在调整像素阵列大小时,质量损失是不可避免的,imresize就是这样做的 如果要减小输出的物理大小,应查看,尤其是创建png图像时的XResolution和YResolution参数
original_image = imread(my_image);
imwrite(original_image_grey,'image.png','png','ResolutionUnit','cm','XResolution',400)
上述代码将以400px/cm的分辨率创建原始图像的png,从而生成1cm宽的图像。png仍然是一个400x600px位图。Matlab将图像存储为像素阵列。不可能将400x600元素矩阵中包含的所有信息存储在80x80矩阵中,因此在调整像素阵列大小时,质量损失是不可避免的,imresize就是这样做的 如果要减小输出的物理大小,应查看,尤其是创建png图像时的XResolution和YResolution参数
original_image = imread(my_image);
imwrite(original_image_grey,'image.png','png','ResolutionUnit','cm','XResolution',400)
上述代码将以400px/cm的分辨率创建原始图像的png,从而生成1cm宽的图像。png仍将是400x600px位图。调整大小总是意味着质量有所下降。键入
help imresize
,查看可用的插值选项,并测试哪一个更适合您。缩放总是意味着质量有所下降。键入help imresize
查看可用的插值选项,并测试哪一个更适合您Jajajajajaja但无论如何我要感谢您的回答:)jajajaja但无论如何我要感谢您的回答:)