Erosão de uma imagem no MATLAB
Este tutorial irá discutir como encontrar a erosão de imagens usando a função imerode()
no Matlab.
Encontre a erosão de uma imagem usando a função imerode()
no MATLAB
A erosão de uma imagem significa o encolhimento da imagem. Para encontrar a erosão de uma imagem, precisamos mover o elemento estruturante sobre a matriz e substituir o valor do pixel pelo valor mínimo dos vizinhos. O valor do pixel será definido como zero se o valor mínimo na vizinhança for zero. Primeiro, vamos ler a imagem usando a função imread()
e armazená-la em uma variável. Depois disso, precisamos converter os valores da imagem em binário, se ainda não for binário, usando a função im2bw()
. Também temos que criar o elemento estruturante. Depois disso, precisamos usar a função imerode()
, que irá verificar os vizinhos de cada pixel e substituir o valor do pixel pelo valor mínimo dos pixels. Por exemplo, vamos encontrar a erosão de uma imagem usando um array como elemento estrutural no Matlab e mostrá-los em uma figura usando as funções subplot()
e inshow()
. Veja o código abaixo.
OriginalImg = imread('text.png');
OriginalImg = im2bw(OriginalImg);
ErodMat = ones(3,3);
ErodedImg = imerode(OriginalImg,ErodMat);
figure
subplot(1,2,1)
imshow(OriginalImg)
title('Orignal Image')
subplot(1,2,2)
imshow(ErodedImg)
title('Eroded Image')
Resultado:
No código acima, usamos um array 3 por 3 contendo uns para erodir a imagem original. O tamanho do array é diretamente proporcional à erosão da imagem. Aumentar o tamanho do array aumentará a erosão da imagem. Você pode usar o elemento estrutural desejado para corroer a imagem. Por exemplo, você pode usar outra imagem para corroer uma imagem.