Extract region/outline coordinates using ginput

4 次查看(过去 30 天)
Hi, I have to boundary line over a coin. My question is how can I get only the region coordinates which is marked by two ginput crosshairs.
Thanks in advance.
I = imread('coins.png');
imshow(I)
BW = im2bw(I);
imshow(BW)
dim = size(BW)
col = round(dim(2)/2)-90;
row = min(find(BW(:,col)))
boundary = bwtraceboundary(BW,[row, col],'N');
imshow(I)
hold on;
plot(boundary(:,2),boundary(:,1),'b','LineWidth',2);
[x, y] = ginput(2);
plot(x, y,'r+','MarkerSize', 11);

回答(1 个)

Image Analyst
Image Analyst 2017-10-11
I'm not sure what you want to do. You can get the boundaries of all binary blobs using bwboundaries(), not bwtraceboundary():
boundaries = bwboundaries(BW);
Beyond that, I have no idea what you're trying to do by asking the user to click two points somewhere in the image.
  6 个评论
Jane Bat
Jane Bat 2017-10-12
Can you please add an example script. Thank you very much
Image Analyst
Image Analyst 2017-10-12
Did you see the example in the documentation? Probably not. So look at it. You can get the x and y coordinates like this:
[cx,cy,c] = improfile(I)

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Data Exploration 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by