Como segmentar esta imagem usando a bacia hidrográfica para recuperar apenas as pessoas na imagem?
Eu fiz o seguinte até agora:
- Calculou um gradiente
- Calculada a transformação da bacia hidrográfica
Meu código:
clear;
I=imread('inpaint.jpg');
I=rgb2gray(I);
hy = fspecial('sobel');
hx = hy';
Iy = imfilter(double(I), hy, 'replicate');
Ix = imfilter(double(I), hx, 'replicate');
gradmag = sqrt(Ix.^2 + Iy.^2);
figure, imshow(gradmag,[]), title('Gradient magnitude (gradmag)')
L = watershed(gradmag);
% Lrgb = label2rgb(L);
figure, imshow(L), title('Watershed transform of gradient magnitude (Lrgb)')
Consegui aplicar a bacia hidrográfica
Queria saber como posso delinear meus objetos na imagem original para que pareçam segmentados?
image
matlab
image-processing
vini
fonte
fonte
Respostas:
Lembre-se de que a transformação da bacia hidrográfica trata sua entrada como um mapa topográfico e simula a inundação dessa topografia com água. As "bacias hidrográficas" ou "regiões da bacia hidrográfica" são então as partes do mapa que "retêm água" sem derramar em outras regiões.
A magnitude do gradiente é uma função de segmentação ruim como está; o ruído e os contornos abertos levam a uma super-segmentação extrema da imagem. Podemos tentar uma série de operações morfológicas com a intenção de criar marcadores aproximados de primeiro plano e de fundo e usá-los para remover as partes espúrias do gradiente.
Isso funciona bem. Você recebe dois grupos de pessoas e suas sombras como regiões, com um pouco de barulho.
Você pode elaborar seus objetivos? Ou seja, você segmentará muitas imagens diferentes ou apenas imagens altamente semelhantes a este exemplo? Você precisa ignorar as sombras e separar as duas pessoas que se sobrepõem?
Tentarei atualizar a resposta se você responder a essas perguntas.
Sobreposição de segmentação
Você perguntou como sobrepor uma segmentação. Uma maneira é usar as linhas da bacia hidrográfica para especificar pixels no original e defini-los para uma cor brilhante.
fonte
Você pode usar a função bwperim Alguns bons exemplos aqui http://blogs.mathworks.com/steve/2006/06/02/cell-segmentation/
fonte