MATLAB中将数值矩阵转换为灰度图像 |
您所在的位置:网站首页 › 灰度图转化为二值图用命令怎么写 › MATLAB中将数值矩阵转换为灰度图像 |
在MATLAB中,一个数据矩阵就相当于一副数字图像,只是在数字图像中对应的数组元素必须在一定的取值范围,因此,只要将对应数据矩阵中的元素按一定规律进行转换,就可以将矩阵转换为图像了。 在MATLAB中可以利用函数mat2gray()将一个数据矩阵转换为一副灰度图像。 其调用格式如下: I=mat2gray(X,[xmin,xmax]):该函数是按照指定区间[xmin,xmax]将数据矩阵X转换为灰度图像I。xmin对应灰度值0,即黑色,xmax对应灰度值1,即白色。数据矩阵中小于xmin的值取为0,大于xmax的值取为1.如果不指定取值区间[xmin,xmax],即默认情况下,将数据矩阵X中的最小值设为xmin,最大值设为xmax。 例1.将矩阵转换为灰度图像,具体实现代码如下: close all; %关闭当前所有图形窗口 clear all;% 清除工作空间所有变量 clc; %清空命令行 X=magic(256); %利用魔方矩阵magic()产生一个256*256的方阵X I=mat2gray(X);%将数值矩阵X转换为灰度图像 figure,imshow(I); %显示转换后的灰度图像 运行程序,运行结果如图:
例2.利用MATLAB读取一个txt文本,将其保存到矩阵中,并显示处图形。我的txt文本是一个超声成像测井数据,它一共有1203行,181列的数据。 编程实现: clc; clear all; C=textread('text.txt','%f');%读取原始数据,C是一个列向量,为总的数据数 [p,q]=size(C); % size()获取矩阵的行数和列数 D=reshape(C,181,1203); %reshape函数重新调整矩阵的行和列 % reshape(A,m,n) 将矩阵A的元素返回到一个m×n的矩阵 F = D'; %进行矩阵转置 H = double(F); %matlab里面主要用于运算的数据类型是双精度浮点数double Im=mat2gray(H); %将数值矩阵转换为灰度图 figure imshow(Im); title('测井图像') rgb = label2rgb(gray2ind(Im,255),jet(255));% 对灰度图像添加伪彩色 imtool(uint8(rgb)); %imtool可以调节图像的比例运行程序: 灰度图像 : 添加伪彩色后的图像: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |