2015-12-23 33 views
2

嗨R世界專家, 假設我有一個點模式,可以生成一張強度圖,並且這張地圖是在一個像素圖像的3個區域中進行顏色編碼....我怎麼能得到顏色編碼區域?如何使用R獲取圖像中顏色編碼的繪圖區域?

這裏有一個例子使用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") 

預先感謝您 孢

+0

我實際上想計算每種顏色的像素面積 – saccente

回答

0

我不完全相信你以後,但你可以計數的像素數每種顏色都使用table()函數。

table(Zcut[[1]]) 
0

在您的具體的例子是很容易計算的領域,因爲你用quantile削減圖像:這有效地將圖像劃分成大小相等的區域,所以應該有尺寸1/3的三個方面因爲窗戶是一個單位正方形。一般來說,從一個因素值圖像計算面積,你可以使用as.tesstile.areas(繼續你的例子):

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

在這種情況下,區域是0.333313,它必須是由於離散化。