如何在MATLAB中存储小图像

时间:2019-03-24 22:38:14

标签: image matlab

我正在尝试将1x8数组转换为图像,我知道生成的图像将很小。我使用以下代码来做到这一点:

$headers = [
    'User-Agent:Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X; en-us) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53\r\n',
    'header 2',
    'header n'
];
$header = $headers[array_rand($headers)];

问题是MATLAB显示的图像如下所示:

displayed image

但是实际保存的完全不同,看起来像这样:

saved image, which is different

这是为什么?

1 个答案:

答案 0 :(得分:1)

getimage获取显示的数据。也就是说,在

之后
test = getimage(imshow(a, []));

testa相同。

您正在显示带有对比度拉伸的图像,使最小值变为黑色,最大值变为白色。但是从这些轴中检索数据并没有考虑任何因素,它只是返回显示的数据。

相反,您可以自己扩展数据:

test = double(a);
test = test - min(test(:));
test = test / max(test(:));