# ボックス・フィルタ library(imager) # グレースケール画像 im <- grayscale(boats) # ノイズ画像 im.noise <- im + 0.1 * imnoise(width(im), height(im)) # ボックス・フィルタの畳み込み演算を5回繰り返す f.box <- as.cimg(rep(1, 9), x = 3, y = 3) / 9 im.box <- im.noise for (i in 1 : 5) { im.box <- correlate(im.box, f.box) } # 同時に3枚並べるレイアウト layout(t(1 : 3)) plot(im, interpolate = FALSE, main = "元の画像") plot(im.noise, interpolate = FALSE, main = "ノイズ画像") plot(im.box, interpolate = FALSE, main = "ボックス・フィルタ") # レイアウトを元に戻す layout(1)