在MATLAB中对“ imresize”感到困惑?

时间:2020-04-27 16:56:07

标签: matlab image-processing computer-vision

我已在下面的网络链接上阅读到“ imresize”命令可用于更改图像的分辨率?是真的吗因为很明显关键字“ imresize”建议更改大小?

此大小表示存储(千比特大小)还是显示大小?

here

1 个答案:

答案 0 :(得分:1)

我会谨慎地说imresize可以更改分辨率。这取决于您如何定义分辨率,但我定义图像分辨率的方式是分辨率是区分图像中两个相邻精细对象的能力。例如,可以通过计算图像中拍摄的非常细的线或点的轮廓的FWHM来确定。 imresize会更改图像的像素数和像素密度,但是如果两个对象在原始图像中无法区分,它实际上可以将两个对象彼此分开吗?尽管您可以使用imresize增强图像,但我认为您无法使用它来增强图像的分辨率。假设我有一个像这样的高分辨率相机拍摄的鸟的清晰“高分辨率”图像:

Original image

此图像具有400 x 400像素。因此,如果每个像素3个字节,则此图像的大小为3x400x400字节(468.75 KB)。现在,我通过im_downsampled = imresize(im, 0.1)对图像进行降采样,以使最终的图像将具有40 x 40像素(图像大小为40x40x3字节或〜4.7 KB),像这样

Original image downsampled

结果图像模糊,尺寸减小。现在可以通过执行im_upsampled = imresize(im_downsampled, 10)将图像恢复到原始的分辨率吗?好吧,让我们看看:

Recovered image

如您所见,图像看起来更平滑时,无法恢复精细的结构。生成的图像im_upsampled具有与原始图像相同的大小(400x400x3字节),但是分辨率已被忽略。我希望我提到的文件大小可以消除对图像KB大小的困惑。

相关问题