如何将矩阵转换为图像?

时间:2014-10-12 18:02:58

标签: image matlab matrix bit-depth

如标题所述,问题是如何通过调整bitdepth将矩阵转换为图像?

我在所有单元格中创建5x5矩阵设置值。像,

A=[.....;.....;.....;.....;.....]

然后使用imwrite函数,

imwrite(A, Path, 'BitDepth', 2)

使用此功能后,图像文件出现在' Path'中。当我检查图像的bitdepth时,它是正确的(2位)但是当我读取该图像时,我在图像数据矩阵中看到全部为零。

我想创建一个2位深度的5x5图像文件,我可以定义所有像素值。我如何克服这个问题?

编辑:

完整代码:

A=[0 0 2 1 1;1 2 2 2 2;2 2 2 2 3;1 2 3 3 2;2 3 1 3 2];
imwrite(A, 'Path', 'BitDepth', 2);
I=imread('Path'); //Path is 'C:\Users\...\...\...\...\...\...\A.png'

我看到I矩阵中的所有零。

1 个答案:

答案 0 :(得分:1)

您可以使用Image = mat2gray(A)将矩阵A转换为灰度图像。基本上mat2gray()只会将矩阵中的值从0..1

缩放

之后imwrite(Image, 'Path.png', 'Bitdepth', 2)工作正常。