【发布时间】:2015-09-03 08:00:34
【问题描述】:
我有下面的代码,可以将图像保存到我的电脑。我想将该图像围绕其中心(或左下角)旋转 45,90 和 135 度,然后另存为 3 个不同的图像。我怎么能这样做?
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之类的东西在raster包中? -
你有什么例子吗?我试过了,我得到了如上所示的错误
-
@Frank 有没有办法进行 45 度旋转?你的命令有效!
-
@AlexA。光栅包中的旋转仅更改坐标系。 OP 要求的是对图像本身进行真正的旋转。