Ho un codice sotto il quale salva un'immagine sul mio pc. Vorrei ruotare l'immagine di 45,90 e 135 gradi attorno al centro (o nell'angolo in basso a sinistra) e quindi salvare come 3 immagini diverse. Come potrei farlo?Come ruotare un'immagine R raster
library(raster)
r1 <- brick(system.file("external/rlogo.grd", package="raster"))
x <- crop(r1, extent(0,50,0,50))
plotRGB(x)
png(width=50, height=50)
par(mai=c(0,0,0,0))
image(x)
dev.off()
--------- update1 -------------------------
Sulla base del accettata rispondere al codice di lavoro è la seguente
library(raster)
r1 <- brick(system.file("external/rlogo.grd", package="raster"))
r1
x <- crop(r1, extent(0,ncol(r1),0,nrow(r1)))
plotRGB(x)
x1 <- 0:ncol(x)
y1 <- 0:nrow(x)
z <- matrix(1, nrow=length(x1), ncol=length(y1))
col.mat <- t(apply(matrix(rgb(getValues(x)/255), nrow=nrow(x), byrow=TRUE), 2, rev))
# Rotate 45 degrees
persp(x1, y1, z, zlim=c(0,2), theta = 20, phi = 90,
col = col.mat, scale=FALSE, border=NA, box=FALSE)
png("SaveThisPlot.png")
persp(x1, y1, z, zlim=c(0,2), theta = 20, phi = 90,
col = col.mat, scale=FALSE, border=NA, box=FALSE)
dev.off()
Qualcosa come ['ruotare'] (http://www.rdocumentation.org/packages/raster/functions/rotate) nel pacchetto' raster'? –
hai qualche esempio? ho provato e ho ricevuto un errore come mostrato sopra – user2543622
@Frank c'è un modo per eseguire una rotazione di 45 gradi? I tuoi comandi funzionano! – user2543622