You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matlab中设置xlim后图像显示范围未改变的问题求助

问题原因

你的代码里axis image命令会自动覆盖之前设置的xlim,因为它的作用是强制坐标轴范围匹配图像的完整尺寸,同时保持像素的宽高比一致,所以你先设的xlim会被它冲掉。

解决方法

方法1:调整命令顺序

把xlim放在axis image之后执行,这样轴范围设置不会被覆盖:

I = imread("pout.tif");
figure(54)
sz=size(I);
disp(sz)
xv=1:sz(1);
yv=1:sz(2);
imagesc(xv,yv,I)
xlabel('x')
ylabel('y')
axis image;
xlim([50  100])  % 移到axis image之后

方法2:直接裁剪图像(更高效)

如果只需要显示特定区域,直接提取图像的对应部分,不需要调整轴范围,这样更直观:

I = imread("pout.tif");
figure(54)
% Matlab图像的列对应x轴,行对应y轴,所以提取x=50到100的区域就是取第50-100列
I_cropped = I(:, 50:100);
imagesc(I_cropped)
xlabel('x')
ylabel('y')
axis image;

内容的提问来源于stack exchange,提问作者Conotor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 19:11:02