У меня есть код, ниже которого сохраняется изображение на моем компьютере. Я хотел бы повернуть это изображение на 45,90 и 135 градусов вокруг его центра (или нижнего левого угла), а затем сохранить как 3 разных изображения. Как я мог это сделать?Как повернуть изображение R растровый
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 -------------------------
На основании принятой ответить на рабочий код, как показано ниже
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()
Что-то вроде ['rotate'] (http://www.rdocumentation.org/packages/raster/functions/rotate) в пакете' raster'? –
У вас есть пример? Я попытался, и я получил ошибку, как показано выше. – user2543622
@Frank есть способ выполнить поворот на 45 градусов? Ваши команды работают! – user2543622