Olá Felipe,
Primeiro, parabéns pelo pacote. É muito interessante!
Eu estou tentando contar número de árvores de citros por linha e utilizo imagens do Google Earth com datas diferentes (2013 e 2014). O objetivo é obter o número de plantas por linha para depois estimar as falhas. Consegui eliminar o fundo e separar por linhas, mas estou com duas dúvidas:
1) por que em alguns pontos o algoritmo/programa consegue identificar e separar as copas e, em outros pontos da imagem, não há essa separação?
Estou ciente da dificuldade das copas não estarem bem definidas e se tocarem, mas não entendi esse padrão diferente. Será que tem como eu marcar
uma planta para indicar o padrão para ser contado?
2) após o Counting, muito dos pontos vermelhos ficam fora da marcação em preto. Queria confirmar: a contagem é somente aonde está o ponto vermelho?
Gostaria de saber se estou em um bom caminho e se você tem alguma sugestão para melhorar a contagem.
Obrigada!!
Isabela
Script:
library(devtools)
devtools::install_github("filipematias23/FIELDimageR")
library(FIELDimageR)
library(raster)
#Selecting the targeted field from the original image
# Uploading image
EX.P<-stack("2013-pa.png")
plotRGB(EX.P, r = 1, g = 2, b = 3)
EX.P2<-stack("2014-pa.jpg")
plotRGB(EX.P2, r = 1, g = 2, b = 3)
# Building the plot shapefile
EX.SC.Shape<-fieldShape(mosaic = EX.P,ncols = 1, nrows = 35)
EX.SC.Shape2<-fieldShape(mosaic = EX.P2,ncols = 1, nrows = 35)
# Using index "BIM" to remove background
#ajustar valor do cropValue
EX.P.R1<- fieldMask(mosaic = EX.P,index = "BIM", cropValue = 13, cropAbove = T)
plotRGB(EX.P.R1$newMosaic)
EX.P.R2<- fieldMask(mosaic = EX.P2,index = "BIM", cropValue = 14, cropAbove = T)
#aumentei o cropValue para 14 para ter pontos maiores
plotRGB(EX.P.R2$newMosaic)
# Counting (all sample)
EX.P.Total<-fieldCount(mosaic = EX.P.R1$mask,
fieldShape = EX.SC.Shape$fieldShape,
minSize = 0.00,
cex = 0.1,
na.rm = T)
#Eu estou usando o minSize = 0 para considerar o máximo possível de pontos.
"Number of objects: 2050"
> EX.P.Total$fieldCount #numero por linha
[1] 3 11 20 29 49 53 61 66 62 60 71 62 66 73 69 67 75 66 68 62 63 76 64 58 65 59
[27] 57 65 58 55 62 68 69 67 71
EX.P.Total2<-fieldCount(mosaic = EX.P.R2$mask,
fieldShape = EX.SC.Shape2$fieldShape,
minSize = 0.00,
cex = 0.1,
na.rm = T)
[1] "Number of objects: 3140"
> EX.P.Total2$fieldCount #numero por linha
[1] 4 11 35 65 81 64 81 89 90 107 102 108 93 106 73 82 100 111 112 124
[21] 99 100 95 81 89 94 93 100 128 135 124 98 91 75 100