我正在使用栅格函数,如下面的行所示。我的最后一行产生一些输出。该输出有一行说dimensions : 240, 320, 76800 (nrow, ncol, ncell)
。我想重印那张图片,但只说前200行和前300列。我怎样才能做到这一点?下面的第二个最后一行绘制整个图像图像光栅R包 - 没有背景和边框和图例的光栅打印
f <- "pictures/image1-1421787394.jpeg"
f
r <- raster(f)
plot(r);
r
============================= UPDATE1
我做了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()
来保存裁剪后的图像。我能够摆脱传说,斧头和黑匣子。但问题是保存的图像比剪切的部分多 - 例如图像周围的白色部分。我只想保存原稿的裁剪部分(保持图像大小200 * 200像素)。请让我知道该怎么做?
此外,我怎么能添加一个红色正方形对应于上述裁剪部分原始图像?我的意思是我想在原始图像的顶部获得一个红色正方形(仅边),然后将此图像(原始图像+正方形)保存为新图像。
我该怎么做?
UPDATE2 ++++++++++++++++++++++++++++++++++++++++++++++++
添加重复的例子来说明我所说的白色背景
以下地块的最后一行裁剪图像的意思。我希望该图像为100 * 100,因为我的xlim和ylim是100.但是我看到如下例所示的白色背景。 (你看不到的后台,但如果你在你的机器上运行的代码,打开图像,你会看到它。)
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)
有没有什么办法可以保存新的图像(裁剪)? – user2543622 2015-01-20 22:10:15
当然 - 做'png(文件名='〜/ x.png');情节(R,XLIM = C(0200),ylim = C(0200)); dev.off()'。您还可以使用其他命令(例如'pdf()'或'jpeg()'来生成不同格式的图像。 – 2015-01-20 22:22:06
还有一个问题:我打算使用getValues()函数获取值。 getValues(r)正常工作。但我想只为裁剪图像获取值。如何使用getValues函数与xlim和ylim参数结合使用? – user2543622 2015-01-21 21:19:27