How to have a selected code in matlab?
2 次查看(过去 30 天)
显示 更早的评论
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...
0 个评论
采纳的回答
Cam Salzberger
2017-5-15
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 个评论
Cam Salzberger
2017-5-15
编辑:Cam Salzberger
2017-5-15
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.
更多回答(0 个)
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!