MATLAB矩阵保存为图像问题,为啥保存图像为空白? RGB值为255。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB矩阵保存为图像问题,为啥保存图像为空白? RGB值为255。相关的知识,希望对你有一定的参考价值。

有如下的矩阵数据:
img =
[ 57,67,45,34,23,56,87,53,75,54;
34,43,54,23,16,34,65,76,53,45;
57,67,45,34,23,56,87,53,75,54;
]
imshow(img) 是有图案的,然后我 imwrite(img , './temp/~test.bmp'), 保存的图像为白色的,即结果如下。
[文件头][信息头][调色板][255,255,255,255,255,255,255,255,255,255; 255,255,255,255,255,255,255,255,255,255; 255,255,255,255,255,255,255,255,255,255; ]
请问我需要怎么保存这个图像? 我该怎么做?

保存图像为空白,是由于数值超范围了。
保存图像原理:
MATLAB矩阵保存的是二进制的整形,数据范围在0-10之间,做处理
A = A/10*255;
A = uint8(A);
然后再存储,就能最大地利用0-255的范围了。
本题应为:
[文件头][信息头][调色板][255,255,255,255,255,255,255,255,255,255; 255,255,255,255,255,255,255,255,255,255; 255,255,255,255,255,255,255,255,255,255; ]
img=uint8(img)(加上这句,即可)
参考技术A 加一句img=uint8(img)再保存试试本回答被提问者采纳

以上是关于MATLAB矩阵保存为图像问题,为啥保存图像为空白? RGB值为255。的主要内容,如果未能解决你的问题,请参考以下文章

matlab中保存tif图像堆栈能保留原图像格式吗

matlab [x,map]=imread('huoying.png');导入图像后,map为啥会是空矩阵啊!

如何将二值图象转化为数据矩阵,运用MATLAB或者VC?

请问在MATLAB如何中保存大量的gif图像。

数字图像处理 MATLAB 为啥把图像类型转换为 double

matlab 矩阵是如何显示为图像,就是怎样将存入的数据流转化为图片显示?