Sou novo no processamento de imagens e estou tentando molhar os pés. Tirei uma foto de algumas peças de quebra-cabeças e quero isolá-las.
Eu estou usando a biblioteca Python SimpleCV de fazer isso, e até agora eu consegui obter resultados bastante decente usando findBlobs()
, hueDistance()
e drawMinRect()
. Aqui está o que eu tenho até agora
Muito bom, honestamente. O único lugar errado é com essas duas peças tocando levemente à direita do centro.
Tentei dilatar a imagem, mas isso parece exacerbar o problema. Como posso "encolher" esses blobs para eliminar a sobreposição?
image-processing
opencv
image-segmentation
Avi Romanoff
fonte
fonte
Respostas:
Concordo com Abid Rahman K, no entanto, a erosão resultaria em encolhimento da forma. Para se livrar apenas dessa lacuna, Abid Rahman sugere uma abordagem baseada em bacias hidrográficas, mas para um método mais rápido e fácil, você pode tentar:
Dessa forma, você terá quase a mesma forma (com alguns artefatos surgindo devido à morfologia), mas certamente irá acabar com componentes conectados únicos.
As bacias hidrográficas e a transformação à distância também são poderosas e podem ser boas escolhas se houver muita sobreposição.
fonte