Changing axis values without changing image size

7 ビュー (過去 30 日間)
Krista Kelly
Krista Kelly 2021 年 6 月 8 日
回答済み: Walter Roberson 2021 年 6 月 8 日
Hi,
I'm using MATLAB R2021a.
I'm currently displaying an image using this code:
I = imread('imagename');
figure
imshow(I);
axis on;
and then I'm using this code to plot rectangles onto the image:
rectangle('Position', [x,y,w,h], 'EdgeColor','r');
the code is working fine, however I would like to change the x and y values of the image to be different values, while still keeping the same size image. For reference, the image is 1600x900 pixels, but I would like to have the axis values be in degrees so I can plot the rectangles using their degree values. Any help would be appreciated!

回答 (1 件)

Walter Roberson
Walter Roberson 2021 年 6 月 8 日
For that kind of purpose I recommend switching to use image() or imagesc() instead of imshow(). When you use image() or imagesc() then you can pass x and y data coordinates to position the image at. See the XData and YData properties on the image() documentation.

Community Treasure Hunt

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

Start Hunting!

Translated by