Set image aspect ratio using imshow

26 次查看(过去 30 天)
I am trying to load an image (screenshot of a graph), and plot my data on top. I have achieved this, but the aspect ratio of the displayed image/graph doesn't look to be adjustable. Can it be done?
% Load cleaned up screen shot.
load image.mat
% Observe aspect ratio.
imshow(I)
% Flip matrix so that y axis origin is at the bottom instead of the top.
I = flipud(I);
% Scale image to allow plotting on top - this works, but changes the aspect ratio.
RI = imref2d(size(I));
RI.XWorldLimits = [1970 2020];
RI.YWorldLimits = [320 410];
figure;
imshow(I,RI);
set(gca,'YDir','normal');

采纳的回答

Adam
Adam 2017-8-18
  2 个评论
Gerard Capes
Gerard Capes 2017-8-18
Great, thanks! Easy when you know where to look! I do wonder why it changed the aspect ratio in the first place?
Adam
Adam 2017-8-18
I'm not aware of any overload of imshow that takes an imref2d as 2nd argument. Is this an overload from a toolbox?

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Images 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by