From: WANG Date: Wed, 28 Aug 2013 13:22:24 +0000 (+0200) Subject: Merge branch 'master' of https://scm.cri.ensmp.fr/git/Faustine X-Git-Url: https://scm.cri.mines-paristech.fr/git/Faustine.git/commitdiff_plain/b819e0432190f4c66d2e074345bec1da7a07ed13?hp=c7f552fd8888da2f0d8cfb228fe0f28d3df3a12c Merge branch 'master' of https://scm.cri.ensmp.fr/git/Faustine --- diff --git a/dsp_files/opening.dsp b/dsp_files/opening.dsp new file mode 100644 index 0000000..38a8e20 --- /dev/null +++ b/dsp_files/opening.dsp @@ -0,0 +1,40 @@ +import("mrfaustlib/fft.lib"); +import("fft2d.dsp"); + +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)); + +dilation_square(x, y) = _ : vectorize(y) : serialize : dilating(x) : vectorize(y) : matrix_transpose(y, x) : serialize : dilating(y) : vectorize(x) : matrix_transpose(x, y) : serialize; + +dilations(x, y, iter) = seq(i, iter, dilation_square(x,y)); + +erosion_square(x, y) = _ : vectorize(y) : serialize : eroding(x) : vectorize(y) : matrix_transpose(y, x) : serialize : eroding(y) : vectorize(x) : matrix_transpose(x, y) : serialize; + +erosions(x, y, iter) = seq(i, iter, erosion_square(x,y)); + +open(x, y, iter) = erosions(x, y, iter) : dilations(x, y, iter); +close(x, y, iter) = dilations(x, y, iter) : erosions(x, y, iter); + +//process = dilation(112, 3); +//process = erosion(119, 10); +//process = opening(119, 10); +process = close(119, 123, 6); + + diff --git a/dsp_files/test.dsp b/dsp_files/test.dsp new file mode 100644 index 0000000..5cc6170 --- /dev/null +++ b/dsp_files/test.dsp @@ -0,0 +1,27 @@ +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);