finding nearest label distance

2 views (last 30 days)
Hi I have the following matrix
I =
0 1 0 0 1 0
0 0 0 1 0 0
0 0 0 0 0 0
0 0 1 1 0 0
0 1 0 0 1 0
1 0 0 0 0 1
and
L=bwlabel(I)
L =
0 2 0 0 3 0
0 0 0 3 0 0
0 0 0 0 0 0
0 0 1 1 0 0
0 1 0 0 1 0
1 0 0 0 0 1
and I know a position say (4,1). How to find the nearest label from the position (4,1)
the follwoing code determines the nearest label, I need to know what is the distance of this label from that pixel?
M = zeros(size(L));
M(4,1) = 1;
Md = bwdist(M);
Ll = logical(L);
mmn = min(Md(Ll));
[ii jj] = find((Md == mmn)&Ll);
out = L(ii,jj)
also need to know what is going on with the following code:
mmn = min(Md(Ll));

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 15 Jun 2011
1. coordinates of the nearest pixel
[ii jj] = find((Md == mmn)&Ll);
2. number of labels nearest pixel
out = L(ii,jj);
3. the minimum distance from the center pixel (4,1) to nearest pixel which belongs to a nearest label
mmn = min(Md(Ll));

More Answers (0)

Community Treasure Hunt

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

Start Hunting!