Eu tenho uma entrada como uma imagem binária 3D e a saída preferida abaixo:
Entrada:
Saída preferida:
Quais métodos de processamento de imagem devo procurar para que apenas restem os objetos pontiagudos, assim como a saída preferida acima?
Eu tenho uma entrada como uma imagem binária 3D e a saída preferida abaixo:
Entrada:
Saída preferida:
Quais métodos de processamento de imagem devo procurar para que apenas restem os objetos pontiagudos, assim como a saída preferida acima?
spiky
objeto? O que realmente chama de espetado? Quais são as principais características para detectar objetos pontiagudos?Respostas:
Existem mais cantos nas bordas do seu "objeto pontudo"; portanto, uma abordagem seria ajustar um detector de cantos para isso.
Por exemplo, calculei o determinante do tensor da estrutura (código do Mathematica abaixo) de uma imagem transformada à distância:
Binarizar com histerese produz essa imagem, que deve ser um bom ponto de partida para o algoritmo de segmentação de sua escolha:
Código do Mathematica (
src
é a imagem de origem que você postou)Inicialmente, calculo uma transformação de distância da imagem de entrada. Isso cria contrastes em toda a área do objeto (em vez de apenas na borda), para que todo o objeto possa ser detectado.
Em seguida, preparo os componentes do tensor da estrutura . O tamanho do filtro para as derivadas gaussianas, se 5, o tamanho da janela é 20.
Para calcular o filtro de canto em cada pixel, basta inseri-los no determinante simbólico do tensor da estrutura:
Que é basicamente o mesmo que:
Convertendo isso em uma imagem e redimensionando-o para o intervalo 0..1, obtém-se a imagem do detector de canto acima.
Finalmente, a binarização com os limites corretos fornece a imagem binária final:
fonte