Png图像裁剪和绘图

时间:2016-02-16 21:07:27

标签: r

是否有一种简单的方法可以裁剪png图像的指定像素位置,并将该图像栅格化到绘图上。

目前我正在使用分离的细胞(在视野中最多1000个细胞)。每个单元具有中心x(以像素为单位)和中心y(以像素为单位)。我们以跟踪格式收集数据,所以我想要一种显示跟踪旁边的单元格图片的方法。

我尝试过rasterImage和grid.raster。不幸的是我不知道如何调用图像数组来指定位置。

此外,我不想使用缩放包,因为这些功能工作速度非常慢,无法在当前绘图上进行栅格化。

2 个答案:

答案 0 :(得分:0)

看一下光栅包。 raster :: raster函数,用于导入或强制png和raster :: crop进行子集化到特定范围。

以下是裁剪功能帮助的示例。

创建示例栅格

r <- raster(nrow=45, ncol=90)
r[] <- 1:ncell(r)

根据定义范围

对光栅进行子集
e <- extent(-160, 10, 30, 60)
rc <- crop(r, e)     

绘制结果

par(mfrow=c(1,2))
  plot(r)
  plot(rc)

答案 1 :(得分:0)

比预期的要容易得多。我的PNG图像是一个有3层的数组。

img[xpos, ypos, layer]

因此我可以简单地指定我的细胞位置增加一个因子,

rasterImage(img[(x-x*.2):(x+x*.2), (y-y*.2):(y+y*.2),],-2, 4, 3, 1)

现在我需要在我的情节极限处编码细胞。