声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2998|回复: 11

[图像处理] 将一个方阵用灰度图表示出来后,怎样在该图片中添加横坐标、纵坐标呢?

[复制链接]
发表于 2009-7-12 10:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
生成一个方阵,取值都在[0 1],用mat2gray语句将此矩阵转化为一个灰度图,这些都搞定了,我还需要对得到的灰度图添加横坐标和纵坐标,该怎么弄呢?
  请大家帮帮忙!
回复
分享到:

使用道具 举报

发表于 2009-7-12 10:54 | 显示全部楼层
不懂楼主的意思,imshow不是就有横坐标和纵坐标
 楼主| 发表于 2009-7-15 16:35 | 显示全部楼层
我用imshow生成的图片保存成.jpg格式在附件中,我想要的结果是横坐标起至值为[0 3.5],纵坐标也是[0 3.5]。
不知道我有没有表达清楚我遇到的问题。还是很谢谢您的回复。

[ 本帖最后由 ChaChing 于 2009-7-16 17:14 编辑 ]
发表于 2009-7-15 18:54 | 显示全部楼层
参考:
iptsetpref('ImshowAxesVisible','on')
imshow(mat2gray(round(rand(128))),[])
请问你的纵横坐标终值3.5是怎么定的。
 楼主| 发表于 2009-7-16 13:03 | 显示全部楼层
该图片是表示随两个参数(这两个参数的取值范围分别作为横坐标和纵坐标,范围为0~3.5)变化下,某些可以由系统生成的在[0 1]的矩阵的灰度图。
你给出的语句我修改成这样:
iptsetpref('ImshowAxesVisible','on');
imshow(mat2gray(f1),[])  %f1为生成的351×351的矩阵;
生成的图形见附件f1.jpg;
横纵坐标的表示还是有问题,我希望得到的是[0 3.5],而且纵坐标的表示方法也和我们常见的不一致。
还要麻烦你给出解决的方法了。
f1.jpg

[ 本帖最后由 ChaChing 于 2009-7-16 17:21 编辑 ]
 楼主| 发表于 2009-7-16 13:10 | 显示全部楼层
所用的数据f1,太大,不能上传…… 您给的程序运行的结果是这样的:
f2.jpg
对照这个结果,横纵坐标是对照  随机生成点次序 而生成相应的坐标吗?
我希望是能将横纵坐标按自己的需要(譬如像我所遇到的问题)修改;且纵坐标能够按我们习惯的表示方式;

[ 本帖最后由 ChaChing 于 2009-7-16 17:24 编辑 ]
发表于 2009-7-16 13:34 | 显示全部楼层

回复 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))
 楼主| 发表于 2009-7-16 15:49 | 显示全部楼层

回复 7楼 friendchj 的帖子

呵呵,谢谢了!:@)
:handshake
谢谢您的帮助,还是存在一点问题,尽管坐标轴范围可以转变为[0 3.5],但得出来的图形中,纵轴的坐标还是不对,好像一副图片一旦生成,坐标轴就给划分了区域似的。
这样讲吧,横坐标与纵坐标不是对称的,如横轴0.49和纵轴0.49到原点的距离明显不一致。
能力有限,调不出来。麻烦您了,麻烦大家了!
f3.jpg

[ 本帖最后由 ChaChing 于 2009-7-16 17:27 编辑 ]
发表于 2009-7-16 16:42 | 显示全部楼层
axis([0 3.5 0 3.5])
发表于 2009-7-16 17:17 | 显示全部楼层

回复 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)

评分

1

查看全部评分

发表于 2009-7-16 17:36 | 显示全部楼层

回复 8楼 wh_Helen 的帖子

help pcolor & axis
不确定是否LZ要的! 但感觉pcolor即可达到目的! LZ参考试下
pcolor(x,y,f); colormap(gray)
axis ij; axis square
 楼主| 发表于 2009-7-19 14:25 | 显示全部楼层

回复 10楼 friendchj 的帖子

非常感谢!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-17 00:25 , Processed in 0.079403 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表