Sto usando la funzione raster come mostrato nelle righe sottostanti. La mia ultima riga produce un po 'di output. Quell'output ha una riga che dice dimensions : 240, 320, 76800 (nrow, ncol, ncell)
. Vorrei ristampare quell'immagine, ma dire solo le prime 200 righe e le prime 300 colonne. Come lo posso fare? La penultima riga sotto traccia l'intera immaginepacchetto raster di immagine R - stampa raster senza sfondo e bordo e legenda
f <- "pictures/image1-1421787394.jpeg"
f
r <- raster(f)
plot(r);
r
============================= update1
Ho fatto png(filename = '~/x.png');par(mar=rep(0, 4), xpd = TRUE, oma=rep(0, 4),bty='n') ; plot(r,xlim=c(0,200),ylim=c(0,200),legend=FALSE,axes=FALSE); dev.off()
per salvare l'immagine ritagliata. Sono stato in grado di sbarazzarmi della leggenda e delle asce e della scatola nera. Ma il problema è che l'immagine salvata contiene molto più della parte ritagliata, ad esempio la parte bianca attorno all'immagine. Voglio salvare solo la parte ritagliata dell'originale (mantenere le dimensioni dell'immagine 200 * 200 pixel). Per favore, fammi sapere come farlo?
Inoltre, come è possibile aggiungere un quadrato rosso che corrisponde alla parte ritagliata sopra all'immagine originale? Voglio dire, mi piacerebbe ottenere un quadrato rosso (solo i bordi) nella parte superiore dell'immagine originale e quindi salvare questo (immagine originale + quadrato) come una nuova immagine.
Come potrei farlo?
Update2 ++++++++++++++++++++++++++++++++++++++++++++++++
aggiungendo esempio ripetibile per mostrare quello che voglio dire da uno sfondo bianco
l'ultima riga sotto trame ritagliata immagine. Voglio che l'immagine sia 100 * 100 come xlim e ylim sono 100. Ma vedo uno sfondo bianco come mostrato nell'esempio qui sotto. (Non si può vedere sullo sfondo, ma se si esegue il codice sul computer e aprire l'immagine, lo vedrete.)
library(raster)
r <- raster(nrow=240, ncol=320)
values(r) <- 1:ncell(r)
plot(r)
plot(r,xlim=c(0,100),ylim=c(0,100),legend=FALSE,axes=FALSE,frame.plot=F)
c'è un modo per salvare la nuova immagine (ritagliata)? – user2543622
Sicuro - do 'png (filename = '~/x.png'); trama (R, XLIM = c (0,200), = ylim c (0200)); dev.off() '. Puoi anche altri comandi come 'pdf()' o 'jpeg()' per produrre immagini in diversi formati. –
un'altra domanda: sto pensando di ottenere valori usando la funzione getValues (). getValues (r) funziona bene. Ma voglio ottenere valori solo per l'immagine ritagliata. Come posso utilizzare la funzione getValues in combinazione con i parametri xlim e ylim? – user2543622