2

嗨,世界的 R 专家,假设我有一个点模式可以生成强度图,并且该图在像素化图像的 3 个区域中进行了颜色编码......我怎样才能获得颜色编码的区域?

这是一个使用 spatstat 的示例:

library(spatstat)
japanesepines
Z<-density(japanesepines); plot(dens) # ---> I create a density map
b <- quantile(Z, probs = (0:3)/3) # ---> I "reduce it" to 3 color-ceded zones
Zcut <- cut(Z, breaks = b, labels = 1:3); plot(Zcut)
class(Zcut) # ---> and Zcut is my resultant image ("im")

提前谢谢你

4

2 回答 2

1

在您的具体示例中,计算面积非常容易,因为您曾经quantile切割图像:这有效地将图像划分为大小相等的区域,因此应该有三个大小为 1/3 的区域,因为窗口是一个单位正方形。通常,要从您可以使用的因子值图像计算区域,as.tess并且tile.areas(继续您的示例):

Ztess <- as.tess(Zcut)
tile.areas(Ztess)

在这种情况下,面积是 0.333313,这一定是由于离散化。

于 2015-12-23T22:37:45.187 回答
-1

我不完全确定你在追求什么,但你可以使用该table()函数计算每种颜色的像素数。

table(Zcut[[1]])
于 2015-12-23T22:07:52.167 回答