[R-br] Extração de coordenadas e tempo em múltiplas imagens
ASANTOS
alexandresantosbr em yahoo.com.br
Quarta Dezembro 4 22:11:24 BRST 2013
Caros Membros,
Estou precisando de ajuda para criar um laço para extrair as
coordenadas e o tempo (no nome do arquivo) em múltiplas figuras. No meu
exemplo abaixo e usando apenas a figura 1, tenho uma regiões de pixels
de interesse em branco e o nome da figura Fig1-0_00_00.png, preciso das
coordenadas x e y das regiões em branco (Valor digital = 0),
representado pelo objeto fig.data.pix e juntei ao tempo que é 0:00:00,
pois o nome da Figura é 0_00_00. Conforme CRM abaixo, fazendo figura por
figura esta OK, mas gostaria de fazer um laço para extrair essas
informações das três figuras abaixo e armazená-las em um único objeto,
alguém teria alguma sugestão?
#-------------------------------------------------------------------------------
# Rotina para extração de coordenadas e tempo em imagens
#-------------------------------------------------------------------------------
# Abertura das imagens
require(RCurl)
#Figura 1
----------------------------------------------------------------------
get.dropbox <- function(file, token) {
require(RCurl, quietly=TRUE)
bin <-
getBinaryURL(paste0("https://www.dropbox.com/s/8b99gn9ve1yo7is/Fig1-0_00_00.png",
token, "/", file),
ssl.verifypeer = FALSE)
con <- file(file, open = "wb")
writeBin(bin, con)
close(con)
message(noquote(paste(file, "read into", getwd())))
}
#
get.dropbox("Fig1-0_00_00.png", "Fig1-0_00_00.png")
#Figura 2
----------------------------------------------------------------------
get.dropbox <- function(file, token) {
require(RCurl, quietly=TRUE)
bin <-
getBinaryURL(paste0("https://www.dropbox.com/s/8b99gn9ve1yo7is/Fig2-0_20_00.png",
token, "/", file),
ssl.verifypeer = FALSE)
con <- file(file, open = "wb")
writeBin(bin, con)
close(con)
message(noquote(paste(file, "read into", getwd())))
}
#
get.dropbox("Fig2-0_20_00.png", "Fig2-0_20_00.png")
#Figura 3
---------------------------------------------------------------------
get.dropbox <- function(file, token) {
require(RCurl, quietly=TRUE)
bin <-
getBinaryURL(paste0("https://www.dropbox.com/s/bo6gbt3ca6xwxm0/Fig3-0_40_00.png",
token, "/", file),
ssl.verifypeer = FALSE)
con <- file(file, open = "wb")
writeBin(bin, con)
close(con)
message(noquote(paste(file, "read into", getwd())))
}
#
get.dropbox("Fig3-0_40_00.png", "Fig3-0_40_00.png")
# Extraido as coordenadas dos pixels para figura 1
-----------------------------
require(raster)
r <- raster("Fig1-0_00_00.png")
image(r)
r2<-as.data.frame(r)
# Cria as coordenadas
----------------------------------------------------------
grid0 <- expand.grid(x=seq(0,length.out=r em nrows),
y=seq(0,length.out=r em ncols))
# Coordenadas + valor dos pixels
fig.data<-cbind(grid0,r2)
# Região de interesse - Número digital = 0
fig.data.pix<-fig.data[fig.data[,3]==0,]
# Extrai o tempo do nome do arquivo
tempo2<-r em data@names
tempo1<-gsub("Fig1.", "", tempo2)
tempo<-gsub("_", ":", tempo1)
# Cria o arquivo final
dados<-cbind(fig.data.pix[,1:2],rep(tempo))
head(dados)
#-------------------------------------------------------------------------------
Obrigado,
--
======================================================================
Alexandre dos Santos
Proteção Florestal
IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
Campus Cáceres
Caixa Postal 244
Avenida dos Ramires, s/n
Bairro: Distrito Industrial
Cáceres - MT CEP: 78.200-000
Fone: (+55) 65 8132-8112 (TIM) (+55) 65 9686-6970 (VIVO)
e-mails:alexandresantosbr em yahoo.com.br
alexandre.santos em cas.ifmt.edu.br
Lattes: http://lattes.cnpq.br/1360403201088680
======================================================================
Mais detalhes sobre a lista de discussão R-br