Merge branch 'newtree'
authorWANG <wang@wang-OptiPlex-780.(none)>
Fri, 30 Aug 2013 15:40:47 +0000 (17:40 +0200)
committerWANG <wang@wang-OptiPlex-780.(none)>
Fri, 30 Aug 2013 15:40:47 +0000 (17:40 +0200)
dsp_files/opening.dsp [new file with mode: 0644]
dsp_files/test.dsp [new file with mode: 0644]

diff --git a/dsp_files/opening.dsp b/dsp_files/opening.dsp
new file mode 100644 (file)
index 0000000..93707bf
--- /dev/null
@@ -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, 1);
+
+
diff --git a/dsp_files/test.dsp b/dsp_files/test.dsp
new file mode 100644 (file)
index 0000000..5cc6170
--- /dev/null
@@ -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);