如何用MATLAB将图片转换只含有0,1的矩阵
1、首先,读取目标图像;matlab代码如图所示tu=imread('C:\Users\Administrator\Desktop\111.png'); %也可以直接读取,但图像须在默认目录内。

2、将目标图像灰度化,代码如下,如图所示。x=rgb2gray(tu);>> subplot(122);>> imshow(x);>> title('灰度图像');

3、灰度图像二值化:设定阈值,将灰度图转化为黑白图像,阈值的设定根据自己的情况而定,比如设置0.48,也可以使用matlab调用graythresh(x)自动获取阈值。自动阈值:thresh1=graythresh(x): %thresh1=0.5216 tu2 = im2bw(x,thresh1); %如图所示

4、RGB图像二值化:和灰度二值化相同,既可以自己设置阈值,也可以调用函数获取阈值。自动获取:thresh2=graythresh(tu):%thresh1=0.5843 tu3 = im2bw(x,thresh2);%如图所示由于两图阈值比较接近,故二值化图像没有明显变化。

5、将二值化图像转化为矩阵,就能实现将图像转化为只含有0和1的矩阵。图像转换数字矩阵只需用Matlab读取二值化图像即可。例:Matrix1=imread('tu2'); Matrix3=imread('tu3');2、或者在以上步骤的基础上导出二值化(tu2,tu3)结果即可(在Matlab中Workspace) ,csvwrite('0和1矩阵x.csv',tu2); % 导出矩阵csvwrite('0和1矩阵tu.csv',tu3); % 导出矩阵如图所示。
