matlab中image和colormap是什么关系?像这个代码,image中的元素(0到255),对应于干gray(256)中的256个元素么?但如果使用的是colormap(gray),这样gray默认的只有64行,而不是256,行,matlab是怎么处理的cle
像这个代码,image中的元素(0到255),对应于干gray(256)中的256个元素么?但如果使用的是colormap(gray),这样gray默认的只有64行,而不是256,行,matlab是怎么处理的
clear all
close all
x=linspace(-pi,pi,100);
sf=6; % spatial freq in cycles per image
sinewave=sin(x*sf);
close all
onematrix=ones(size(sinewave));
sinewave2D=(onematrix'*sinewave);
scaled_sinewave2D=((sinewave2D+1)*127.5)+1;
image(scaled_sinewave2D)
% rescales numbers between -1 and 1 to lie between 1 and 256
colormap(gray(256))
axis equal
axis off
您好,我仔细阅读了帮助文档并进行实验,有如下结论,希望共同探讨:
关于image函数:在您的程序中,scaled_sinewave2D是double类型二维矩阵,其取值在[1,256]之间,matlab会认为其是一个indexed图像,即像素取值对应于colormap中的颜色索引.因此其应当对应于一个256行的colormap.但在未显式指明colormap前,matlab的帮助文档中有个说法是colormap的行数与scaled_sinewave2D的行数一样,但实际测试表明默认colormap(也就是直接调用gray后返回的行数)是64行的,这点暂不清楚原因.但我认为可以忽略之,毕竟只有指定了正确的colormap才有意义,错误的情形可以不管它.
关于gray函数:在没有参数时,gray会获取当前figure的colormap,并转换成行数相同的灰度map.在给出参数是就形成指定行数的灰度map.所以gray本身并没有”默认“一个什么行数.英语单词填空(组成单词)1)d.l.e.d.m.i2)l.e.p.o.i.ee3)u.y.g.o. 2020-04-25 …
用所给字母拼成单词.1.a,l,a,d,s.2.a,d,o,s.3.c,o,r,p,n用所给字母拼 2020-05-15 …
已知直线7x+7y-28=0和x-y=0的交点为A.(1)求A的坐标(2)若l经过点A,且坐标原点 2020-05-16 …
已知圆O方程为x^2+(y-1)^2=5,直线L方程Mx-y+1-M=0(1)求证当M∈R时,L与 2020-05-23 …
用r,l,a,l,d,o组成一个单词==r,l,a,l,d,o突然想不起来了=3= 2020-06-05 …
设直线l的方程为(a+1)x-y+2-a=o(a∈R)(1)若L在两坐标轴上截距相等,求L的方程( 2020-06-07 …
这个通达信指标是什么意思内外盘差}PJ:=(H+L+C)/3;V1:=IF(H=L,1,H-MAX 2020-07-09 …
推断题:现有如下反应(反应条件均不给),推断物质⑴A→B+C+D⑵C+E→C+F+D⑶D+G→H⑷ 2020-07-30 …
点A在圆O上.若直线L切圆O于点A,过点O做L的垂线M,则M必过切点A.这句话为什么是错误的?不懂 2020-07-31 …
英文单词分类填空动物类1.O()t()p()s2.k()t()e()3.l()b()t()r4.a( 2021-02-05 …