finding interior region
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi I have the following code and have some output as follows:
I =
0 1 1 1 1 1 0
1 0 0 0 0 0 1
1 0 1 1 1 0 1
1 0 1 1 1 0 1
1 0 0 0 0 0 1
0 1 1 1 1 1 0
K>> boundary = bwboundaries(I,8,'noholes'); K>> boundary
boundary =
[19x2 double]
[ 7x2 double]
here is two boundary, I need to know how to determine which boundary is interior, Here [ 7x2 double] is in interior region of [19x2 double]. How to determine that easily?
Can anybody help?
Thanks
0 Kommentare
Akzeptierte Antwort
Andrei Bobrov
am 21 Jun. 2011
>> [B,L] = bwboundaries(I,8,'noholes')
B =
[19x2 double]
[ 7x2 double]
L =
0 1 1 1 1 1 0
1 0 0 0 0 0 1
1 0 2 2 2 0 1
1 0 2 2 2 0 1
1 0 0 0 0 0 1
0 1 1 1 1 1 0
>>
B{1} -> label 1 (L == 1)
B{2} -> label 2 (L == 2)
EDIT 2
>> [B,L,N,A] = bwboundaries(I,8,'noholes')
B =
[19x2 double]
[ 7x2 double]
L =
0 1 1 1 1 1 0
1 0 0 0 0 0 1
1 0 2 2 2 0 1
1 0 2 2 2 0 1
1 0 0 0 0 0 1
0 1 1 1 1 1 0
N =
2
A =
(2,1) 1
>> full(A)
ans =
0 0
1 0
Having label 2 (number row A = 2) inside label 1(column number 1of matrix A)
3 Kommentare
Weitere Antworten (1)
Sean de Wolski
am 21 Jun. 2011
You could also do an
Ibwnoholes = imfill(I,'holes');
which will fill the holes and then that boundary won't show up.
0 Kommentare
Siehe auch
Kategorien
Mehr zu NaNs finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!