Domanda

Suppose I have a binary image BW and I'm using bwlabel to find the connected area of 1. I want to find the largest group of this result (which is not 0) and also the location where this group is located in the picture. How to do this?

È stato utile?

Soluzione

there are several ways to accomplish that, for example histogram the content of the nonzero elements:

L=bwlabel(I);
[a val]=hist(L(:),1:max(L(:)))
val(a==max(a))

will yield the value that is most occuring

another way is to use tabulate :

a=tabulate(L(:))
a(a(:,2)==max(a(2:end,2)),1)

tabulate creates a frequency table of data in vector L(:). The information is arranged as follows:

1st column — The unique values of L

2nd column — The number of instances of each value

3rd column — The percentage of each value

etc...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top