相关疑难解决方法(0)

如何旋转图像R栅格

我有下面的代码将图像保存到我的电脑.我希望将图像围绕其中心(或左下角)旋转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()
Run Code Online (Sandbox Code Playgroud)

--------- 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, …
Run Code Online (Sandbox Code Playgroud)

plot r raster rotation

7
推荐指数
1
解决办法
9243
查看次数

标签 统计

plot ×1

r ×1

raster ×1

rotation ×1