如何在matlab中保存图像

时间:2014-03-12 07:38:37

标签: image matlab

我使用以下命令显示图像

imshow(img,[]);

当我使用以下命令保存图像时,它将保存为空白页

imsave;

在这种情况下如何保存图像任何命令都可以

3 个答案:

答案 0 :(得分:1)

将图像数据转换为实际图像,然后重试:

h = image(img); %Convert to object
imsave(h); %Save image object

请注意,如果关闭image()生成的图形窗口,则会删除该对象,并且句柄将指向任何内容。虽然这可能超出了你的要求。

希望这项调整能解决您的问题

答案 1 :(得分:1)

您可能遇到矩阵类型和范围问题。如果img类型为double,则需要在0和1之间进行缩放。

常见问题是在uint8中加载图像(在0到255之间缩放),转换为double以便对其进行一些处理,而不进行缩放,然后尝试保存出。执行此操作时,MATLAB会尝试转换回uint8,并剪切[0 1]范围之外的图像中的任何值。在许多图像上,这意味着该文件全部为白色。

要解决此问题,请在转换图片时使用im2doubleim2uint8等功能,而不仅仅是doubleuint8

尝试在命令行之间区别:

img = imread('pout.tif');
img = double(img);
imshow(img,[]);
imsave; 

img = imread('pout.tif');
img = im2double(img);
imshow(img,[]);
imsave; 

答案 2 :(得分:1)

首先使用

将图像转换为rgb
img1=label2rgb(img);

然后再次使用

将图像转换为灰色图像
img2=rgb2gray(img1);

然后你可以使用imshow来显示图像并使用imsave保存它

imshow(img2);
imsave();