如标题所述,问题是如何通过调整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矩阵中的所有零。
答案 0 :(得分:1)
您可以使用Image = mat2gray(A)
将矩阵A转换为灰度图像。基本上mat2gray()
只会将矩阵中的值从0..1
之后imwrite(Image, 'Path.png', 'Bitdepth', 2)
工作正常。