我有一个栅格图像:
r <- raster(ncol=10, nrow=10)
set.seed(0)
values(r) <- runif(ncell(r))
从栅格中选择前10%并转换为二进制:
r_10<-r[[1]]>=quantile(r,.90)
从这个子集光栅r_10
中,所有绿色像素的值都相同为1。我想通过将像素或像素组标识为对象并使用新ID标记每个新对象来更改这些值。新光栅应具有像此示例图像中的值:
![img3](https://istack.dev59.com/sCla3.webp)
我该如何在R中编写代码?我想使用某种边缘检测或Sobel滤波器,但无法弄清楚。
这里有一个类似的帖子,不完全相同,但它是用Python编写的,我需要在R中实现它。
欢迎任何替代解决方案。