Como encontrar todos os componentes conectados em uma imagem binária no Matlab?

Eu tenho tentado encontrar todos os componentes conectados usando 8 vizinhos em uma imagem binária, sem usar a função "bwlabel".

Por exemplo, minha matriz de entrada é:

a =

     1     1     0     0     0     0     0
     1     1     0     0     1     1     0
     1     1     0     0     0     1     0
     1     1     0     0     0     0     0
     0     0     0     0     0     1     0
     0     0     0     0     0     0     0

Eu teria algo parecido com isto:

a =

     1     1     0     0     0     0     0
     1     1     0     0     2     2     0
     1     1     0     0     0     2     0
     1     1     0     0     0     0     0
     0     0     0     0     0     3     0
     0     0     0     0     0     0     0

Existem 3 objetos conectados nesta imagem.

questionAnswers(1)

yourAnswerToTheQuestion