如何用MATLAB将图片转换只含有0,1的矩阵

 时间:2026-02-13 23:21:14

1、首先,读取目标图像;matlab代码如图所示

tu=imread('C:\Users\Administrator\Desktop\111.png'); %也可以直接读取,但图像须在默认目录内。

如何用MATLAB将图片转换只含有0,1的矩阵

如何用MATLAB将图片转换只含有0,1的矩阵

2、将目标图像灰度化,代码如下,如图所示。

x=rgb2gray(tu);

>> subplot(122);

>> imshow(x);

>> title('灰度图像');

如何用MATLAB将图片转换只含有0,1的矩阵

如何用MATLAB将图片转换只含有0,1的矩阵

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

 自动阈值:thresh1=graythresh(x):   %thresh1=0.5216

                 tu2 = im2bw(x,thresh1); %如图所示

如何用MATLAB将图片转换只含有0,1的矩阵

如何用MATLAB将图片转换只含有0,1的矩阵

4、RGB图像二值化:和灰度二值化相同,既可以自己设置阈值,也可以调用函数获取阈值。

自动获取:thresh2=graythresh(tu):%thresh1=0.5843

                tu3 = im2bw(x,thresh2);%如图所示

由于两图阈值比较接近,故二值化图像没有明显变化。

  

如何用MATLAB将图片转换只含有0,1的矩阵

如何用MATLAB将图片转换只含有0,1的矩阵

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); % 导出矩阵

如图所示。

如何用MATLAB将图片转换只含有0,1的矩阵

如何用MATLAB将图片转换只含有0,1的矩阵

  • matlab中cell元胞数组的使用方法和实例
  • matlab画散点图并连线
  • matlab怎么打开工作空间
  • MATLAB如何对数据进行取整操作?
  • matlab如何调用函数
  • 热门搜索
    长沙博物馆 qq空间音乐怎么设置 怎么调整照片大小 怎么加盟快递公司 怎么练习普通话 神往的近义词 怎么制作海报 境界的近义词 劫怎么玩 用处的近义词