ClassSeg Sensoriamento Remoto II, Prof. Dr.Ing. Jorge Centeno - UFPR

Classificação por forma

O problema proposto é o seguinte: na imagem em níveis de cinza mostrada ao lado (original), existem várias regiões com a mesma forma, mas tonalidades diferentes. A tarefa é separar estas regiões em dois grupos. Obviamente, o uso de apenas o valor digital não parece promissor e a resposta está em parametrizar a forma. Afortunadamente, cada região é uniforme em termos de cor e não existem regiões com a mesma tonalidade. Então, você deve elaborar um programa em Freemat ou Python para resolver o problema.
Ao lado é mostrada a fórmula do coeficiente de compacidade. É necessário calcular o perímetro e a área de cada segmento.

passos
Ler a imagem padrao256.tif. Seu tamanho é 256x256.
Quantos objetos/figuras são visíveis na imagem?
Calcular Area de cada região. Para isto devemos varrer toda a imagem e contar quantos pixels tem de cada cor. Mas antes, vamos alocar um vetor para armazenar estas áreas "A".
A=zeros(256);
for i=2: nlinhas-1 %varrer todas as linhas
for j=2:mcolunas-1 %varrer todas as colunas
if M(i,j)>0 % se o pixel nao for do fundo
x=M(i,j); % guarda seu valor
A(x)=A(x)+1; % soma uma unidade à area desta tonalidade
end
end
end
OK. agora temos a área de cada segmento. Mas e o perímetro?
Considere a figura abaixo. ela mostra uma região cinza e um fundo azul. Para contar o perímetro devemos contar quantos lados livres existem entre os pixels cinza e o fundo. Ou seja, devemos contar quantos lados livres cada pixel tem. Por exemplo, para saber quantos lados livres o pixel em amarelo tem devemos verificar seus vizinhos acima, abaixo, à direita e à esquerda. Se um deles é fundo, então encontramos um lado livre. No caso particular deste pixel teremos 3 lados livres. Se fizer isto para todos os pixels terá achado o número de cantos livres, ou seja, o perímetro.

Como você agruparia estes elementos em duas classes?

Depois, calculamos o coeficiente de compacidade cc.
A seguir, devemos fixar um limiar que separe os dois grupos. Limiar:
Finalmente, podemos mudar o valor de cada pixel segundo seu "cc".


Agora você pode voltar ao menu principal.


Copyright © 2020
Jorge Centeno: centeno@ufpr.br