0

正如标题所声明的那样清楚,问题是如何将矩阵转换为具有调整位深度的图像?

我正在所有单元格中创建一个 5x5 矩阵设置值。喜欢,

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

然后使用 imwrite 功能,

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

使用此功能后,图像文件会出现在“路径”中。当我检查图像的位深度时,它是正确的(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 矩阵中看到所有零。

4

1 回答 1

1

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

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

于 2014-10-13T13:14:21.507 回答