-2

我正在通过我的相机佳能 SX-120 IS 拍摄图像。但是当我尝试在 Matlab 中处理这些图像时,会显示“内存不足”错误。我的图像尺寸是 2736x3648x3 uint8 类型。大小为 1.05 MB。如何克服这个问题?是因为图像大小还是图像尺寸?是否有任何 matlab 函数可以减小图像的大小以保持质量不变?

4

1 回答 1

1

当您将其读入matlab矩阵时,内存中每个图像的大小将为

2736x3648x3 bites = 29942784 bites ~ 30 MB

有时为了处理图像必须从 转换uint8double,在这种情况下,大小会更大,为 8*30 = 240 MB。如果您有这些图像的数组(或进行大量处理),您可能会耗尽内存。您可以使用函数缩小图像的大小,imresize但图像质量会下降。

存储在文件中的图像可能已被压缩(这就是为什么我认为它只需要 1.05 MB 的磁盘空间)。考虑通过一次将较少数量的图像读取到内存来批量处理图像。

于 2013-05-22T15:25:36.520 回答