ImagePosition, FigPosition, and AxisPosition perplexity
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hello,
How to get the coordinates of the 4 corners of an image within a figure,
and how it relates to the figure position, the axis position, the xlimits, the ylimits, and possibly the PlotBoxAspectRatio.
also:
imshow('saturn.png');
% then eventually manipulate the figure position, the axis position, the xlim, the ylim.
%
% Why the following code below fails to get the proper image corners (lower left x-y point, width, height),
% in pixel units ?
axlim = get(gca,'Position')
fglim = get(gcf,'Position')
x1 = axlim(1)*fglim(3) + fglim(1);
x2 = (axlim(1)+axlim(3))*fglim(3) + fglim(1);
y1 = axlim(2)*fglim(4) + fglim(2);
y2 = (axlim(2)+axlim(4))*fglim(4) + fglim(2);
Thanks,
1 Commento
Rik
il 4 Apr 2023
I'm not entirely certain the size of the axes object will change if the image requires a smaller window. You might need to get the position of the image object (perhaps by querying the XData and YData properties).
Risposte (1)
Sandeep Mishra
il 6 Dic 2024
Hi francois,
I understand that you want to find the four corners of an image within a figure.
To implement this, you can fetch the X and Y axis limits of the current axis using ‘XLim’ and ‘YLim’ property and based on that you can calculate the width and height of the image.
Refer to the following example code snippet to find the image corners:
% Load and display the image
img = imread('saturn.jpg');
imshow(img);
% Fetch axes limits
x_limits = get(gca, 'XLim');
y_limits = get(gca, 'YLim');
% Finding image staring points
x_start = x_limits(1);
y_start = y_limits(1);
% Calculating width and height of the image
width = x_limits(2) - x_limits(1);
height = y_limits(2) - y_limits(1);
% Image coordinates
image_coordinates = [
x_start, y_start;
x_start + width, y_start;
x_start + width, y_start + height;
x_start, y_start + height
];
For more information, refer to the following MathWorks Documentation:
- ‘XLim' property: /https://www.mathworks.com/help/releases/R2024b/matlab/ref/xlim.html
- ‘YLim’ property: https://www.mathworks.com/help/releases/R2024b/matlab/ref/ylim.html
I hope this helps!
0 Commenti
Vedere anche
Categorie
Scopri di più su Annotations in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!