请教关于函数imagesc的问题
在使用imagesc绘制图像时,发现它的纵坐标值是从上至下一直增加的,与我们通常的习惯正好相反,不知各位有没有有什么好的办法使它恢复成我们通常的习惯,即从下至上增加。(我使用的版本是Matlab7.1),谢谢! 使用axis('xy');命令就可以了:lol可以help axis:AXIS XYputs MATLAB into its default "Cartesian" axes mode.The
coordinate system origin is at the lower left corner.The x
axis is horizontal and is numbered from left to right.The y
axis is vertical and is numbered from bottom to top.
回复 2楼 的帖子
谢谢楼上的指点,谢谢! 谢谢2楼 谢谢二楼~~~~~ 本帖最后由 zhouyang664 于 2010-11-5 22:17 编辑这样好像还有个问题,如下:
%%%%%%%
load clown
imagesc(X)
colormap(gray)
%%%%%%%
效果如下图:
axis xy
之后效果:
发现图像反了!然后我试了这样:
set(gca, 'YDir', 'normal') ;
图像也是反的,仔细思考之后,终于找到了解决办法:
%%%%%%%
load clown
imagesc(flipud(X))
colormap(gray)
axis xy
%%%%%%%
效果如下:
高手可以指点一二吗?
本帖最后由 Happy99 于 2010-11-6 00:35 编辑
与图像矩阵的储存有关, 习惯上图像的原点在左上, 而一般绘图的原点在左下, imagesc会特殊处理再绘出
有点好奇楼主的目的, 因为如此好像反而没对应
若一定要如此效果就得加上flipud, 如下
load clown; imagesc(flipud(X)); colormap(gray); axis xy
还有不得不说下楼上几位谢帖的主人, 让人怀疑有没真的试跑过:lol
网页未更新, 不知LS已解决:'(
回复 6 # zhouyang664 的帖子
感觉比较好玩的是, 语句竟然与LS一个模样!:@) set(gca,'ydir','normal') 这句也可以的
页:
[1]