數學形態學
包 mmand
提供了計算 n 維陣列的數學形態的函式。通過一些解決方法,也可以為光柵影象計算這些。
library(raster)
library(mmand)
r <- raster("C:/Program Files/R/R-3.2.3/doc/html/logo.jpg")
plot(r)
首先,必須使用大小(例如 9x9)和形狀型別(例如 disc
,box
或 diamond
)設定核心(移動視窗)
sk <- shapeKernel(c(9,9), type="disc")
之後,必須將柵格圖層轉換為一個陣列,該陣列用作 erode()
函式的輸入。
rArr <- as.array(r, transpose = TRUE)
rErode <- erode(rArr, sk)
rErode <- setValues(r, as.vector(aperm(rErode)))
除了 erode()
之外,dilate()
,opening()
和 closing()
的形態函式也可以這樣應用。
plot(rErode)