How to get onclick coordinate pixel value and location from an image?

283 views (last 30 days)
Xylo on 24 Feb 2014
Hey frndz, I am new in Matlab. Since 3months ago I am using matlab. Within these 3 months I just learned some matrix manipulation functionm addition, string handling etc. So I need all of your help. Please please help me............... How to get onclick coordinate pixel value and location from an image? Actually I want to get some location(x,y) and corresponding pixel value after clicking on image. how can I do this????????

Accepted Answer

David Young
David Young on 24 Feb 2014
Edited: David Young on 24 Feb 2014
Use ginput
If you want to record multiple points, you can use something like the function that follows. You can easily modify it to display dots rather than lines between the points - check the documentation for the plot function.
function pts = readPoints(image, n)
%readPoints Read manually-defined points from image
% POINTS = READPOINTS(IMAGE) displays the image in the current figure,
% then records the position of each click of button 1 of the mouse in the
% figure, and stops when another button is clicked. The track of points
% is drawn as it goes along. The result is a 2 x NPOINTS matrix; each
% column is [X; Y] for one point.
% POINTS = READPOINTS(IMAGE, N) reads up to N points only.
if nargin < 2
n = Inf;
pts = zeros(2, 0);
pts = zeros(2, n);
imshow(image); % display image
xold = 0;
yold = 0;
k = 0;
hold on; % and keep it there while we plot
while 1
[xi, yi, but] = ginput(1); % get a point
if ~isequal(but, 1) % stop if not button 1
k = k + 1;
pts(1,k) = xi;
pts(2,k) = yi;
if xold
plot([xold xi], [yold yi], 'go-'); % draw as we go
plot(xi, yi, 'go'); % first point on its own
if isequal(k, n)
xold = xi;
yold = yi;
hold off;
if k < size(pts,2)
pts = pts(:, 1:k);

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 24 Feb 2014
If you don't need the value in your code but just want to interactive view the x,y and RGB as you mouse over the image, you can use impixelinfo().

Community Treasure Hunt

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

Start Hunting!