How do I get coordinate from 2D image ?
5 views (last 30 days)
DGM on 1 Sep 2022
Edited: DGM on 1 Sep 2022
What's wrong with just finding the maxima of the inputs themselves?
% you have z as a function of x and y
[x y z] = peaks(100);
% find the maximum z-value and its coordinates in the given space
[maxvalue idx] = max(z(:));
maxlocation = [x(idx) y(idx)]
% plot z and indicate calculated maxima
surf(x,y,z); hold on
I will note that imagesc() does not actually use the full vector/matrix inputs for the x,y arguments. It only uses the extrema of those arrays and assumes that the space is linear inbetween. If imagesc() is called more concisely with 2-element range inputs for x and y, then this indexing approach won't work. If that's the case, we can cross that bridge if necessary. (hint: find the index of the maxima and use ind2sub() and a set of linear vectors for x and y)
If the sample spacing isn't constant in x and y, then replicating the behavior of image()/imagesc() will be counterproductive.