I am implementing an auto-digitizer using Matlab to extract (x, y) value pairs of a line graph. I have determined the position of the axes and y-axis on the image by specifying the beginning and the end of each axis on the image. I also found the coordinates of the points on the graph image. Now how can I map those values to real values so that I can plot the graph again with the values I just mapped?
I have defined the beginning and the end of the x,y axis (the red points in the figure below) and know the limit ranges of each axis. I have determined the coordinates on the image of the points of the graph (for example, with the green point in the image, I have determined the coordinates of its (281,70)). Now I want to convert from the coordinates on the image to the actual coordinates so that I can plot the graph again. What formula can help me do that?
The
x
coordinate is pretty straight forward, subtract that of the point by that of the originFor example, the
x
coordinate of the green point on the graph you shown isThe direction of y-axis of the image is inverted and is plotted in log scale. Put it back to the exponent of 10 can recover the original value, i.e.
For the green point