import("mrfaustlib/fft.lib"); DILATION_MIN = 0; EROSION_MAX = 255; strel_shift_dilation = DILATION_MIN : vectorize(1); strel_shift_erosion = EROSION_MAX : vectorize(1); spray_by_three(n) = _ <: par(i, n, ([i], [i+1], [i+2])); tri_max = max, _ : max; tri_maxs(n) = par(i, n, tri_max); tri_min = min, _ : min; tri_mins(n) = par(i, n, tri_min); dilating(n) = strel_shift_dilation, _, strel_shift_dilation : #, _ : # : spray_by_three(n) : tri_maxs(n) : nconcat(n); eroding(n) = strel_shift_erosion, _, strel_shift_erosion : #, _ : # : spray_by_three(n) : tri_mins(n) : nconcat(n); dilation(size, iter) = seq(i, iter, dilating(size)); erosion(size, iter) = seq(i, iter, eroding(size)); opening(size, iter) = erosion(size, iter) : dilation(size, iter); //process = dilation(112, 3); //process = erosion(119, 10); process = opening(119, 2);