Início > dados > Cálculo de área foliar ocupada por cochonilhas

Cálculo de área foliar ocupada por cochonilhas

Área foliar (limão) ocupada por cochonilhas (%). As determinações de área foram feitas com funções disponíveis no pacote EBImage.

No post passado (Cálculo de área foliar) eu mostrei como calcular área foliar com o pacote EBImage do R, desenvolvido por Oleg Sklyar, Gregoire Pau, Mike Smith e Wolfgang Huber. O segundo mencionado é o mantenedor do pacote. Atualmente estou fazendo testes com o pacote porque considero promissor o seu uso em experimentos agronômicos, mais precisamente àqueles de fitopatologia, entomologia e solos. O R por ser livre pode ser usado em todas as etapas do experimento, a saber, a de aquisição dos dados considerando o processamento das imagens e de processamento de dados considerando a análise estatística. Dessa forma, alguém pode desenvolver procedimentos para análise de doenças em escalas diagramáticas avaliadas por computador, eliminando o traço de subjetividade e não reproducibilidade que existe nas notas dadas por um avaliador. E sei que os avaliadores são treinados para tal tarefa, não é qualidade desse trabalho que estou pontuando. O que considero desvantajoso nas escalas é que elas são sempre com poucos níveis (unitária de 0 à 5, por exemplo). Isso implica numa aproximação grosseira de métodos de análise de dados, principalmente porque os métodos de inferência frequentemente aplicados à esses casos supõem normalidade. A avaliação feita pelo computador gera medidas contínuas e isso é bom.

Aqui eu determino a área ocupada por cochonilha em duas folhas de limoeiro (uma planta que tenho no quintal de casa). Eu escolhi uma folha muito ocupada e outra pouco ocupada. O CMR abaixo apresenta todos os passos. Na figura que acompanha essa matéria você vê o resultado final das análises. Quando fiz minha avaliação visual das folhas eu chutei 5% e 40% de ocupação e confesso que fiquei surpreso com os resultados (errei feio). De fato, não temos boa capacidade de avaliar área em situações de distribuição pontual como essa. Por isso que acredito que uma avaliação de área pelo computador seria melhor que a de avaliadores treinados. Alguém se arrisca a submeter isso ao teste? Outro ponto importante nessa minha análise de brincadeira é que só foram consideradas as cochonilhas brancas, não me preocupei com as vermelhas. Algum esforço seria necessário para considerá-las, ou seja, para juntar o vermelho ao branco e separar do verde. Até a próxima ridícula.

#-----------------------------------------------------------------------------
# carrega o pacote

require(EBImage)

#-----------------------------------------------------------------------------
# lê imagem com folhas digitalizadas

fol <- readImage("http://www.leg.ufpr.br/~walmes/ridiculas/folhas3.jpg")
str(fol)

display(fol) # vê a imagem
hist(fol)    # histograma dos componentes verde, vermelho e azul

#-----------------------------------------------------------------------------
# tratamento

fol2 <- imageData(channel(fol, mode="blue")) # seleciona um canal
fol2 <- 1-fol2                               # inverte as tonalidades
hist(fol2)                                   # histograma dos tons de cinza

display(fol2) # escala cinza com claro sendo a folha

#-----------------------------------------------------------------------------
# dicotomiza para branco e preto

fol2[fol2<0.5] <- 0
fol2[fol2>=0.5] <- 1

display(fol2)

#-----------------------------------------------------------------------------
# mais tratamento

fol3 <- bwlabel(fol2)     # coloca os rótulos nas regiões disjuntas
fol4 <- fillHull(fol3)    # remove os pontos pretos dentro do branco

display(fol3)
display(fol4)

#-----------------------------------------------------------------------------
# cálculos

f.ocu <- computeFeatures.shape(fol3) # folha ocupada
f.tot <- computeFeatures.shape(fol4) # folha total

p <- f.ocu[, "s.area"]/f.tot[, "s.area"]
p <- p[p<1]
p <- 1-p
100*p # áreas ocupadas nas folhas (%)

#-----------------------------------------------------------------------------
# prepara para exportação

fol5 <- paintObjects(fol3, fol, opac=c(NA, 0.45), col=c(NA, "blue"))
display(fol5)

xy <- computeFeatures.moment(fol3, fol)[, c("m.cx", "m.cy")] # centróides
font <- drawfont(weight=600, size=15)
fol5 <- drawtext(fol5, xy=xy, labels=paste(format(100*p, digits=3), "%"),
                 font=font, col="yellow")
display(fol5)

writeImage(fol5, "f039.jpg")

#-----------------------------------------------------------------------------
About these ads
Categoriasdados Tags:,
  1. 16/07/2012 às 09:47

    Oi professor.. assinei o feed do seu blog…. então sempre recebo as atualizações fresquinhas… sou mestrando de fitopatologia, e trabalho com epidemiologia de plantas… essa parte de mensuração de doenças de plantas ainda é um gargalo na fitopatologia…

    ainda não cheguei a pegar algumas folhas e realizar os testes… mas queria pedir se é necessário a imagem passar por algum tratamento especial, para diferenciar as cores…

    Sugiro também realizar um teste com doenças que produzam necrose + alo… se ele conseguir mensurar de uma forma satisfatória… será um programa completo… podemos testar e comparar ele com outros programas padrões usados por fitopatologistas…

    abraço

    • Walmes Zeviani
      16/07/2012 às 11:28

      Felipe, basicamente o tratamento é pegar a folha colorida e deixar preto e branco, onde branco é a área que se quer medir. Dependendo do padrão de cores da necrose isso é mais ou menos fácil. Eu fiz uns testes e obtive resultados que considero satisfatórios. Se você tiver fotos de folhas, pode me enviar que incluo a avaliação delas nas próximas matérias. Estou com um orientado da Fitopatologia planejando o uso do R para medir crescimento de colonia em placas de petri. Acredito que os resultados serão promissores. Vale a pena aprender a usar.

  1. No trackbacks yet.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Junte-se a 51 outros seguidores

%d blogueiros gostam disto: