我有一个名为"axes1“的轴和一个名为"im”的图像。
如何使图像尺寸等于轴尺寸?
我的意思是,我想要拟合坐标轴,以准确地包含图像(不是图像拉伸或图像压缩)?
发布于 2014-01-08 16:53:48
在显示图像后使用命令轴图像。
发布于 2014-01-08 17:11:55
我解释你的问题,你希望图像的1个像素是轴上的一个像素。
你需要为此做一些计算。
我会这样做:
imagesc(magic(64)) % example image
set(gca,'Units','pixel') % set units to pixel
pos_in_px=get(gca,'Position')
set(gca,'XLim',[1,pos_in_px(3)-pos_in_px(1)]) % set xaxis to the pixel range
set(gca,'YLim',[1,pos_in_px(4)-pos_in_px(2)]) % set yaxis to the pixel range当然,这是一个脆弱的解决方案--当您缩放或调整窗口大小时,情况可能会发生变化。
发布于 2014-01-08 17:23:13
我假设您想要显示彩色图像。尝试此操作(在Matlab CLI中复制-粘贴):
RGB = imread('ngc6543a.jpg');
[m,n,~] = size(RGB);
figure('Units', 'pixels', 'Position', [40 40 n m]);
image(RGB);
set(gca, 'Position', [0 0 1 1]);
axis equal;'ngc6543a.jpg‘是Matlab语言提供的标准图像。
https://stackoverflow.com/questions/20990750
复制相似问题