如何保存bmp-image,matlab

时间:2017-05-09 09:34:07

标签: matlab

我已在matlab中更改了图像,现在我想将其写入我的文件系统。

我的代码现在看起来像这样:

save('newimage.bmp', 'newimage'); 
在matlab程序中

没有显示错误。 但是当我尝试在我的文件夹中打开保存的图片时,我收到错误: “无法读取文件头!未知的文件格式,空/损坏的文件或文件未找到!”

所以我尝试了“imwrite”函数: 代码:

imwrite(newimage , 'newimage.bmp');

但现在我在matlab中遇到了很多错误:

  

“警告:带符号的像素可能会导致数据丢失和意外结果   数据。在imwrite中(第447行)在项目中(第35行)使用时出错   writebmp(第14行)

     

预期X是以下类型之一:

     

logical,uint8,single,double相反,它的类型是int16。

     

imwrite中的错误(第472行)feval(fmt_s.write,data,map,filename,   paramPairs {:}); “

我找不到错误。提前感谢您的帮助,对不起的英语感到抱歉

1 个答案:

答案 0 :(得分:1)

你的图像是int16类型,adn位图显然不支持它。

将图片转换为其他类型以使用bmp(或使用png

imwrite(im2single(newimage) , 'newimage.bmp');

imwrite(im2double(newimage) , 'newimage.bmp');

imwrite(im2uint8(newimage) , 'newimage.bmp');

取决于您的数据和所需的精确度。