将一个方阵用灰度图表示出来后,怎样在该图片中添加横坐标、纵坐标呢?
生成一个方阵,取值都在,用mat2gray语句将此矩阵转化为一个灰度图,这些都搞定了,我还需要对得到的灰度图添加横坐标和纵坐标,该怎么弄呢?请大家帮帮忙! 不懂楼主的意思,imshow不是就有横坐标和纵坐标 我用imshow生成的图片保存成.jpg格式在附件中,我想要的结果是横坐标起至值为,纵坐标也是。
不知道我有没有表达清楚我遇到的问题。还是很谢谢您的回复。
[ 本帖最后由 ChaChing 于 2009-7-16 17:14 编辑 ] 参考:
iptsetpref('ImshowAxesVisible','on')
imshow(mat2gray(round(rand(128))),[])
请问你的纵横坐标终值3.5是怎么定的。 该图片是表示随两个参数(这两个参数的取值范围分别作为横坐标和纵坐标,范围为0~3.5)变化下,某些可以由系统生成的在的矩阵的灰度图。
你给出的语句我修改成这样:
iptsetpref('ImshowAxesVisible','on');
imshow(mat2gray(f1),[])%f1为生成的351×351的矩阵;
生成的图形见附件f1.jpg;
横纵坐标的表示还是有问题,我希望得到的是,而且纵坐标的表示方法也和我们常见的不一致。
还要麻烦你给出解决的方法了。
[ 本帖最后由 ChaChing 于 2009-7-16 17:21 编辑 ] 所用的数据f1,太大,不能上传…… 您给的程序运行的结果是这样的:
对照这个结果,横纵坐标是对照随机生成点次序 而生成相应的坐标吗?
我希望是能将横纵坐标按自己的需要(譬如像我所遇到的问题)修改;且纵坐标能够按我们习惯的表示方式;
[ 本帖最后由 ChaChing 于 2009-7-16 17:24 编辑 ]
回复 5楼 wh_Helen 的帖子
参考:f1=351;
iptsetpref('ImshowAxesVisible','on');
imshow(mat2gray(round(rand(f1))),[])
lenx=get(gca,'XTick');
leny=get(gca,'YTick');
x=(lenx-1)*3.5/(f1-1);
y=(leny-1)*3.5/(f1-1);
set(gca,'XTickLabel',x)
set(gca,'YTickLabel',fliplr(y))
回复 7楼 friendchj 的帖子
呵呵,谢谢了!:@):handshake
谢谢您的帮助,还是存在一点问题,尽管坐标轴范围可以转变为,但得出来的图形中,纵轴的坐标还是不对,好像一副图片一旦生成,坐标轴就给划分了区域似的。
这样讲吧,横坐标与纵坐标不是对称的,如横轴0.49和纵轴0.49到原点的距离明显不一致。
能力有限,调不出来。麻烦您了,麻烦大家了!
[ 本帖最后由 ChaChing 于 2009-7-16 17:27 编辑 ] axis()
回复 9楼 wh_Helen 的帖子
不好意思,原先的是有问题,下面的程序是正确的。clc
clear
f1=351;
iptsetpref('ImshowAxesVisible','on');
imshow(mat2gray(round(rand(f1))),[])
set(gca,'YDir','normal')
lenx=get(gca,'XTick');
leny=get(gca,'YTick');
x=(lenx-1)*3.5/(f1-1);
y=(leny-1)*3.5/(f1-1);
set(gca,'XTickLabel',x)
set(gca,'YTickLabel',y)
回复 8楼 wh_Helen 的帖子
help pcolor & axis不确定是否LZ要的! 但感觉pcolor即可达到目的! LZ参考试下
pcolor(x,y,f); colormap(gray)
axis ij; axis square
回复 10楼 friendchj 的帖子
非常感谢!
页:
[1]