MATLAB: Converting pixel coordinates back into x,y values

image analysisimage processingImage Processing Toolboxtext filetext;textscan

I have pixel coordinates of an image and would like to convert these coordinates back into the original (x,y) coordinates and put them in a text file. How would I go about doing this?

Best Answer

delta_y = (max_y - min_y) / number_of_rows;
y = (row-1)*delta_y + min_y;
delta_x = (max_x - min_x) / number_of_columns;
x = (column-1)*delta_x + min_x;
Or if you prefer,
y = interp1([1,number_of_rows], [min_y, max_y], row);
x = interp1([1,number_of_columns], [min_x, max_x], column);
This uses the convention that a pixel is identified with the coordinates of its upper-left corner. If a pixel is to be identified with the coordinates of its center then an offset of 1/2 needs to be applied.