[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