答案 0 :(得分:1)
我会谨慎地说imresize
可以更改分辨率。这取决于您如何定义分辨率,但我定义图像分辨率的方式是分辨率是区分图像中两个相邻精细对象的能力。例如,可以通过计算图像中拍摄的非常细的线或点的轮廓的FWHM来确定。 imresize
会更改图像的像素数和像素密度,但是如果两个对象在原始图像中无法区分,它实际上可以将两个对象彼此分开吗?尽管您可以使用imresize
来增强图像,但我认为您无法使用它来增强图像的分辨率。假设我有一个像这样的高分辨率相机拍摄的鸟的清晰“高分辨率”图像:
此图像具有400 x 400像素。因此,如果每个像素3个字节,则此图像的大小为3x400x400字节(468.75 KB)。现在,我通过im_downsampled = imresize(im, 0.1)
对图像进行降采样,以使最终的图像将具有40 x 40像素(图像大小为40x40x3字节或〜4.7 KB),像这样
结果图像模糊,尺寸减小。现在可以通过执行im_upsampled = imresize(im_downsampled, 10)
将图像恢复到原始的分辨率吗?好吧,让我们看看:
如您所见,图像看起来更平滑时,无法恢复精细的结构。生成的图像im_upsampled
具有与原始图像相同的大小(400x400x3字节),但是分辨率已被忽略。我希望我提到的文件大小可以消除对图像KB大小的困惑。