gradient_forward.R を書き換えて、画像(人によって異なる)をダウンロードしてグレースケール画像にした後にSobelフィルタで輪郭抽出を行うプログラムを作って提出しなさい。
# 輪郭抽出(Sobelフィルタ) # グレースケール画像 im <- grayscale(load.image("画像のURL")) # x方向のSobelフィルタ # y方向のSobelフィルタ # 畳み込み演算 im.Sx = correlate(im, f.Sx) im.Sy = correlate(im, f.Sy) # 同時に4枚並べるレイアウト # レイアウトを元に戻す
フィルタを 8 で割ってもよい(結果は変わらない)。
# x方向のSobelフィルタ f.Sx <- as.cimg(c(-1, 0, 1, -2, 0, 2, -1, 0, 1), x = 3, y = 3) / 8 # y方向のSobelフィルタ f.Sy <- as.cimg(c(1, 2, 1, 0, 0, 0, -1, -2, -1), x = 3, y = 3) / 8