求解释matlab的演示里看到的一段画图程序 clear X map; imglist = {'flujet', ... Fluid Jet 'spine', ...

clear X map;
imglist = {'flujet', ... Fluid Jet
'spine', ... Bone
'gatlin', ... Gatlinburg
'durer', ... Durer
'detail', ... Durer Detal
'cape', ... Cape Cod
'clown', ... Clown
'earth', ... Earth
'mandrill', ... Mandrill
'spiral'};
colorlabels = {'default', 'hsv','hot','pink',...
'cool','bone','prism','flag',...
'gray','rand'};
load(imglist{4},'X','map');
imagesc(X);
colormap(map);
%colormap(colorlabels{1});
axis off;
输入这段程序后,得到这样一幅画
这是怎么一回事?

这段程序其实可以这样理解:
imglist是matlab中的元胞类型,其中每一个元素包含了matlab目录中的图片,列举了好几张图片,如第一张图片是flujet,第二张图片是spine...,这些图片都有三个属性,X代表图像数据,map代表图像固有的格式,caption。
colorlabels定义了下面要用到的colormap模式,有default,hot,hsv等。
定义好了所需的图片及模式后,进入
load(imglist{4},'X','map');这句话的含义是加载进第四张名字为durer的图片,同时加载进图片的X属性和map值。imagesc是一个图像显示函数,将数据X用图片显示出来,紧接着colormap(map)指定显示图片的图像模式,此处map为图像固有的模式。最后再去掉坐标轴。
这就是整个程序的执行过程。
另外需要注意,
load(imglist{4},'X','map');
将4改为其他的1或者2等其他参数,显示的将是其他的图片,
将colormap(colorlabels{1})句子解注释,改变参数1为2或者3等其他值,图像将会呈现其它的风格。
整个程序需要理解几个重要的函数colormap,imagesc,load就可以了。
温馨提示:内容为网友见解,仅供参考
无其他回答

...clear X map; imglist = {'flujet', ... Fluid Jet 'spine...
这段程序其实可以这样理解:imglist是matlab中的元胞类型,其中每一个元素包含了matlab目录中的图片,列举了好几张图片,如第一张图片是flujet,第二张图片是spine...,这些图片都有三个属性,X代表图像数据,map代表图像固有的格式,caption。colorlabels定义了下面要用到的colormap模式,有default,hot,h...

一段画牛顿迭代收敛域的matlab程序,求解释
所以root=exp(2*pi*1i\/d)^j,当j取1时就是第一个根,j取2时就是第二个根,...

求一个二元不等式的matlab画图代码,万分感谢
clear;clc;[x,y]=meshgrid(linspace(0,1),linspace(-1,1));z=x.*(1+y);z(z>1)=nan;mesh(x,y,z);xlabel('x');ylabel('y');view(2)另一种 clear;clc;[x,y]=meshgrid(linspace(0,1),linspace(-1,1));z=x.*(1+y);contourf(x,y,z,1);colormap([0 1 0;1 1 1])...

怎样用matlab将一幅图像转化为灰度图像
1、首先在电脑上打开matlab程序,然后输入指令【 clear; clc;】,进行清屏。2、然后将准备好的图片复制到matlab的工作目录中。3、在主界面输入指令【data=imread('文件夹图标.bmp');】,将图片转换成数据。4、然后双击工作空间中的data,就可以看到图片数据的具体信息。5、 输入指令【imshow(data);...

帮忙解释一下matlab中这些程序的意义
xlim([mu-3*sigma,mu+3*sigma]) %设置x轴显示范围 a2=axes; %新建一个坐标轴 ezplot(@(x)normpdf(x,mu,sigma),[mu-3*sigma,mu+3*sigma]) %在新坐标轴里画拟合得到的正态分布,显示范围在x取[mu-3*sigma,mu+3*sigma]之间 set(a2,'box','off','yaxislocation','right','color','...

求解下面一段MATLAB代码,关于直方图均衡化的图像增强算法。
s=fftshift(fft2(img_i));[M,N]=size(s); %分别返回s的行数到M中,列数到N中 n=2; %对n赋初值 GLPF滤波,d0=5,15,30(程序中以d0=30为例)d0=30; %初始化d0 n1=floor(M\/2);n2=floor(N\/2);for i=1:M for j=1:N d=sqrt((i-n1)^2+(j-n2)^2); %...

用matlab绘图时,如何只设定一个轴范围?
用matlab绘图时,只设定一个轴范围可以通过以下方法来实现:使用 axis([XMIN XMAX YMIN YMAX]) ,对于不需要设置范围的轴,使用参数-inf,inf,即正负无穷之间 示例代码:>> x = 1:10;>> y = x.^2;>> subplot(3,1,1)>> plot(x,y,'r')>> subplot(3,1,2)>> plot(x,y,'g')>>...

MATLAB如何保存索引图
clear all figure [x,map]=imread('D:\\nice3.bmp');% 所得x为一375x420x3的矩阵 [w1,w2,w3]=size(x); % 375 X 420 w22=floor(w2\/2);w33=floor(w3\/2);cmap=map;ax(1)=subplot(1,2,1);image(x); %显示出图像 title('HELLO! @This is the first pose of me')%则显示出...

相似回答