How to have a selected code in matlab?

1 view (last 30 days)
Hi dears, my question topic is not clear because it is a little hard to explain what i want. I wrote a code in Matlab to analyze an image to find a point. Code found 10 points for me, but i need a selective point. it means that i want to select true point by click on image with 10 points and after selecting true point, i will do this for all images that i have to analyze. how can i do this? somebody advise me to use GUI, is it possible?How? Thank you friends...

Accepted Answer

Cam Salzberger
Cam Salzberger on 15 May 2017
Hello Saba,
The easiest way would probably to bring up the image with "imshow", and allow for you to select any one point on the image with "ginput(1)". Then the code could take the output of "ginput" and determine which of the ten possible points are closest to the one selected. Once that is found, the code can save that as the "true point", and then move on to the next image.
-Cam
  4 Comments
Cam Salzberger
Cam Salzberger on 15 May 2017
Edited: Cam Salzberger on 15 May 2017
I prefer not to edit other people's code, since they are the ones who know their code the best. Here's a simple example with some built-in data though:
% Example image
I = imread('peppers.png');
% Example points
[nRows, nCols, ~] = size(I);
xPts = randi(nCols,10,1);
yPts = randi(nRows,10,1);
% Show image and example points
figure
imshow(I)
hold on
plot(xPts,yPts,'or')
% Allow for selecting one point
[x, y] = ginput(1);
% Find closest match
dist = sqrt((xPts-x).^2+(yPts-y).^2);
[~, idxPt] = min(dist);
% Show point on image
plot(xPts(idxPt),yPts(idxPt),'+g')
Not sure what you want to do once you've found the "true point", so I just plotted it.
Walter Roberson
Walter Roberson on 22 May 2017
saba sabu comments to Image Analyst:
Thanks Dear "Image Analyst".

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!