正如标题所说,问题是如何通过调整位深度将矩阵转换为图像?
我正在创建一个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'
我在矩阵中看到所有的零。
您可以使用Image = mat2gray(A)
将矩阵A转换为灰度图像。基本上,mat2gray()
只会将矩阵中的值从0..1 缩放
之后imwrite(Image, 'Path.png', 'Bitdepth', 2)
工作良好。