Scaling an image then overlaying data on top of it

4 vues (au cours des 30 derniers jours)
Josh Tome
Josh Tome le 4 Nov 2022
Commenté : Matt J le 4 Nov 2022
Hello,
I am attempting to plot some xy data over an image (see attached image). The data I would like to plot (see attached excel file) is a subset of data that contains values of x ranging from (199 to 223), and values of y ranging from (-321 to -298). I also know the xy locations of each of the 4 corners of my image. They would be...
Top Left Corner(x,y) = (4.6,-197.5)
Top Right Corner(x,y) = (397.0,-197.5)
Bottom Left Corner(x,y) = (4.6,-412.9)
Bottom Right Corner(x,y) = (397.0,-412.9)
Is there an easy way to scale the image based on the above corner points so that when I plot the data it is all contained within the boundaries of the image?
Thanks in advance!
  1 commentaire
Josh Tome
Josh Tome le 4 Nov 2022
CORRECTION... When I said "I know the xy locations of the corners of my image", I should have said that those are the coordinates I would like the corners of the image to be defined by.

Connectez-vous pour commenter.

Réponse acceptée

Matt J
Matt J le 4 Nov 2022
Modifié(e) : Matt J le 4 Nov 2022
[X,Y]=readvars('Center of Pressure Data.xlsx');
Y=-Y;
h=imshow(flipud(imread('Overhead View of Human.jpg')),[]);
h.XData=[4.6,397]; xlim(h.XData);
h.YData=[197.5,412.9]; ylim(h.YData);
hold on; scatter(X,Y); hold off
  2 commentaires
Josh Tome
Josh Tome le 4 Nov 2022
Awesome! Thanks for the speedy reply.
Matt J
Matt J le 4 Nov 2022
You're very welcome, but if you are satisfied with the answer, please Accept-click it.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Images dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by