Rescaling collected data from an image file
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello.
I am currently trying to reproduce a graph on matlab from a .jpeg file. I've managed to extract the correct shape, however I am at a loss of how to rescale the data, as one of the axis that has to be modified (x axis) is the number of columns of the matrix rather than actual data (It's a [1 341] matrix, where the row contains the data for the y axis).
Basically, the graph was generated from this image:
into this:
So as it can be seen the x axis should be from 0 to 2000, and the zero should be where it's currently 50.
Y axis should run in a similar range, but start at 0, whereas currently it's 40.
So to recap, I am uncertain on how to make the x axis, which is the number of columns, and the y axis into ranges of 0-2000 without creating gaps in the graph, as well as modifying starting positions of the data.
Thank you for your time,
Edvardas.
0 commentaires
Réponse acceptée
Image Analyst
le 10 Avr 2013
You have to come up with a spatial calibration factor for the x and y directions. I suggest you use imdistline() and then inputdlg() to ask the user to click on known tick marks on the axes and specify what the "real" number is for the tick marks. See example 3 under imdistline().
3 commentaires
Image Analyst
le 11 Avr 2013
You can find the axes coordinates (of the actual axis lines) by getting the image from the axes using getframe(). Then sum the image horizontally and vertically and look for spikes that represent the black axes.
Plus de réponses (0)
Voir également
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!