Ref.: Cap. 11, item: 11.6: filtros morfológicos - MENESES, P. R.; ALMEIDA, T. D.; ROSA, A. N. D. C. S.; SANO, E. E. et al. Introdução ao Processamento de Imagens de Sensoriamento Remoto. Brasília: UnB-CNPq, 276 p., 2012.

1 Introdução

Na morfologia matemática, a erosão é um processo que “encolhe” ou “remove” regiões de interesse em uma imagem, enquanto a dilatação “expande” ou “adiciona” essas regiões. Ambos os processos são fundamentais para operações de processamento de imagem, como segmentação, detecção de bordas e reconstrução de objetos.

Ambos os processos de erosão e dilatação seguem uma abordagem semelhante, onde uma janela é deslizada pela imagem e a operação mínima (erosão) ou máxima (dilatação) é aplicada aos pixels contidos na janela. Isso ajuda a moldar ou transformar a estrutura da imagem de acordo com os critérios definidos pelos filtros.

2 Morfologia Matemática em R

Na aula de hoje iremos precisar dos pacotes a seguir. Então, antes de iniciar, realizem a instalação dos pocotes e o carregamento dos mesmos, como instruído no código a seguir.

Antes de darmos início ao trabalho, vamos conferir se estamos trabalhando no diretório correto (pasta de trabalho).

#conferindo o diretório de trabalho

getwd()
## [1] "C:/ARQUIVOS COMPUTADOR/DOUTORADO/APOSTILA PROCESSAMENTO DIGITAL DE IMAGENS"

Na prática de hoje iremos utilizar um recorte de uma imagem orbital captada da base de dados do INPE, na qual encontra-se a cidade de Franca-SP. O nome do arquivo na pasta de trabalho é franca_pan_banda4.tif.

#Carregamento da imagem orbital
franca <- raster("franca_pan_banda4.tif")
plot(franca, col = gray.colors(256), main = "Recorte de Franca")

Primeiramente vamos focar no filtro de erosão. Para tal, vamos estruturar uma função erosion que aplicará o filtro de erosão na imagem utilizando uma janela de tamanho nxn. Posteriormente, a função será aplicada à imagem de Franca com uma janela flutuante de 3x3. Após a aplicação, iremos visualizar comparativamente a imagem original e a imagem com filtro de erosão.

# Função para aplicar a erosão
erosion <- function(img, n) {
  ero <- focal(img, w = matrix(1, nrow = n, ncol = n), fun = min)
  return(ero)
}

# Aplicando a erosão na imagem
franca_erosion <- erosion(franca, 7)
# Plotar comparativamente a imagem original e a imagem após aplicação do filtro de erosão
par(mfrow=c(1,2))
plot(franca, col = gray.colors(256), main = "Recorte de Franca")
plot(franca_erosion, col = gray.colors(256), main = "Imagem com Filtro de Erosao")

Como observamos na comparação entre as imagens, o Filtro de Erosão destaca os pontos mais escuros, destacando-os mais ainda frente a imagem original.

Agora, vamos avançar na nossa prática aplicando o Filtro de Dilatação. Seguiremos a mesma lógica analítica: vamos estruturar a função para o filtro, aplicar o filtro e visualizar comparativamente a imagem original e a imagem com filtro de dilatação.

# Função para aplicar a dilatação
dilation <- function(img, n) {
  dil <- focal(img, w = matrix(1, nrow = n, ncol = n), fun = max)
  return(dil)
}

# Aplicando a dilatação na imagem
franca_dilation <- dilation(franca, 7)
# Plotar comparativamente a imagem original e a imagem após aplicação do filtro de erosão
par(mfrow=c(1,2))
plot(franca, col = gray.colors(256), main = "Recorte de Franca")
plot(franca_dilation, col = gray.colors(256), main = "Imagem após Dilatação")

Diante das imagens geradas, notamos que o Filtro de Dilatação intensifica a claridade da imagem, realçando os tons claros e reduzindo os tons escuros (clareando-os). Com estas duas aplicações, encerramos nossa prática de hoje. Nos vemos na próxima semana.

Índice

Capítulo 04 - Filtragem: passa-baixa e passa-alta

Capítulo 06 - Transformação no Espaço Imagem

3 Referências Bibliográficas

ANDERSON, E. C. Making Maps with R Â: Reproducible Research. GitHub, 2021. Disponível em: https://eriqande.github.io/rep-res-web/lectures/making-maps-with-R.html.

CHAMBERS, J. M. Extending R. CRC Press, 364p., 2017. ISBN: 9781498775724.

DA SILVA, F. R.; GONÇALVES-SOUZA, T.; PATERNO, G. B.; PROVETE, D. B.; VANCINE, M. H. Análises ecológicas no R. Recife, PE: Nupeea, 1ª ed., 640p., 2022. ISBN: 9788579175640. Disponível em: https://analises-ecologicas.com/.

GAUTHIER, N. Anthromes 12K DGG (V1) analysis code and R research compendium. Harvard Dataverse, 2021. DOI: https://doi.org/10.7910/DVN/6FWPZ9.

LOVELACE, R. Introduction to visualizing spatial data in R. 2017. Disponível em:https://github.com/Robinlovelace/Creating-maps-in-R.

LOVELACE, R., NOWOSAD, J., & MUENCHOW, J. Geocomputation with R. Chapman and Hall/CRC, 353p., 2019. Disponível em: https://www.routledge.com/Geocomputation-withR/Lovelace-Nowosad-Muenchow/p/book/9780367670573

MACHLIS, S. Create maps in R in 10 (fairly) easy steps. Computerworld, 2017. Disponível em: https://www.computerworld.com/article/3038270/create-maps-in-r-in-10-fairly-easy-steps.html.

MARTOS, G. Cluster Analysis with R. 2021. Disponível em: https://rstudio-pubsstatic.s3.amazonaws.com/33876_1d7794d9a86647ca90c4f182df93f0e8.html.

MENESES, P. R.; ALMEIDA, T. D.; ROSA, A. N. D. C. S.; SANO, E. E. et al. Introdução ao Processamento de Imagens de Sensoriamento Remoto. Brasília: UnB-CNPq, 276 p., 2012.

MORENO, M. & BASILLE, M. Drawing beautiful maps programmatically with R, sf and ggplot2 - Part 1: Basics. 2021. Disponível em: https://r-spatial.org/r/2018/10/25/ggplot2-sf.html.

MUENCHOW, J.; SCHRATZ, P.; BRENNING, A. RQGIS: Integrating R with QGIS for Statistical Geocomputing. The R Journal, 9, n. 2, p. 409-428, 2017 2017. Doi: https://doi.org/10.32614/RJ-2017-067.

NOVIA, D. Cluster Analysis in R: Tips for Great Analysis and Visualization. Datanovia, 2018.Disponível em: https://www.datanovia.com/en/blog/cluster-analysis-in-r-simplified-and-enhanced/.

PEBESMA, E.; BIVAND, R. Spatial Data Science: With Applications in R. Chapman and Hall/CRC, 1ª ed., 314p., 2023. Doi: https://doi.org/10.1201/9780429459016.

R-BLOGGERS. Cluster Analysis in R. 2021. Disponível em: https://www.rbloggers.com/2021/04/cluster-analysis-in-r/.

STANIAK, M.; BIECEK, P. The Landscape of R Packages for Automated Exploratory Data Analysis. The R Journal, v. 11, n. 2, 23 p., 2019. Disponível em: https://arxiv.org/pdf/1904.02101.

VENABLES, W. N.; SMITH, D. M. An Introduction to R. R Core Team, 2017. Disponível em: http://colinfay.me/intro-to-r/#.

WICKHAM, H. Advanced R. CRC Press, 2ª ed., 2022. Disponível em: https://advr.hadley.nz/#license

:::