前言
遇到了一个问题,对显示的图像进行操作时,需要放大之后再次进行交互式操作,但是刷新的时候由于只是重新显示,又得重新放大,非常麻烦。类似于这个问题:
matlab如何图像放大显示,在其上操作然后显示.
里面看了,但是不管用,最终受到https://ww2.mathworks.cn/matlabcentral/answers/23318-reset-to-original-view-with-zoom中的解决方案的启发,解决了整个问题。
解决方法
其实这种放大归根结底是坐标轴的变化,直接在这上面操作就可以。
%获取之前的坐标轴设置
axes3 = gca;%获取当前的坐标轴
xlim = get(axes3, 'xlim');
ylim = get(axes3, 'ylim');
%这里需要显示操作后的图像,例如imshow(img)
set(axes3, 'xlim', xlim);%恢复之前的坐标轴设置
set(axes3, 'ylim', ylim);