aboutsummaryrefslogtreecommitdiff
path: root/pix_opencv_athreshold-help.pd
blob: 61afeba4a464e78b4c8074959d267228d4c4ad85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
#N canvas 67 259 976 687 10;
#X obj -362 59 cnv 15 430 470 empty empty empty 20 12 0 14 -233017
-66577 0;
#X obj -362 13 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
0;
#X text -353 17 Arguments:;
#X obj -363 -83 cnv 15 430 90 empty empty empty 20 12 0 14 -233017
-66577 0;
#X text -332 37 none;
#X obj 74 -140 cnv 15 510 670 empty empty empty 20 12 0 14 -228992
-66577 0;
#X obj 250 -136 gemhead;
#X obj 234 459 pix_texture;
#X obj 234 478 square 2;
#X obj 356 452 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 65 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 289 80 pd Gem.init;
#X obj 162 241 gemwin;
#X msg 161 188 create \, 1;
#X msg 237 189 destroy;
#X msg 283 161 frame 25;
#X obj 164 126 t b b b;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 2 0 10 0;
#X connect 2 1 4 0;
#X connect 2 1 8 0;
#X connect 3 0 0 0;
#X connect 4 0 0 0;
#X connect 7 0 6 0;
#X connect 8 0 6 0;
#X connect 9 0 6 0;
#X connect 10 0 7 0;
#X connect 10 2 9 0;
#X restore 366 496 pd gemwin;
#X msg 366 478 destroy;
#X obj 79 463 pix_texture;
#X obj 79 483 square 2;
#X obj 234 171 separator;
#X obj 262 -109 bng 25 250 50 0 load empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 319 66 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144
-1 -1;
#X floatatom 301 31 5 0 10000 1 frame# - -;
#X obj 262 -80 openpanel;
#X msg 262 -60 open \$1;
#X obj 250 49 pix_film;
#X msg 268 -17 auto \$1;
#X obj 268 -35 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
1;
#X obj 227 217 cnv 15 350 230 empty empty empty 20 12 0 14 -4034 -66577
0;
#X text 364 458 Create window and render;
#X obj 234 417 pix_opencv_athreshold;
#X floatatom 393 388 5 0 0 0 - - -;
#X msg 288 326 mode \$1;
#X floatatom 390 360 5 0 0 0 - - -;
#X text 426 388 ( default 3 );
#X msg 264 240 method \$1;
#X msg 286 287 dim \$1;
#X floatatom 337 290 5 0 0 0 - - -;
#X text -344 367 written by Yves Degoyon ( ydegoyon@gmail.com );
#X msg 363 -34 colorspace RGBA;
#X msg 378 -16 colorspace RGB;
#X msg 388 4 colorspace Grey;
#X obj 363 -62 loadbang;
#X obj 234 142 pix_separator;
#X obj 79 174 separator;
#X obj 79 145 pix_separator;
#X obj 79 199 translateXYZ -2 0 0;
#X obj 234 196 translateXYZ 2 0 0;
#N canvas 115 397 321 254 vswitch 0;
#X obj -109 160 outlet;
#X obj -109 31 inlet;
#X obj -5 31 inlet;
#X obj 40 31 inlet;
#X obj -109 88 spigot 1;
#X obj -5 90 spigot 0;
#X obj -64 67 == 0;
#X connect 1 0 4 0;
#X connect 2 0 5 0;
#X connect 3 0 5 1;
#X connect 3 0 6 0;
#X connect 4 0 0 0;
#X connect 5 0 0 0;
#X connect 6 0 4 1;
#X restore 79 84 pd vswitch;
#X obj 147 85 tgl 15 0 empty load empty 17 7 0 10 -262144 -1 -1 0 1
;
#X obj 79 52 pix_video;
#X obj 79 -136 gemhead;
#X msg 118 -23 device 0;
#X msg 127 8 driver 1;
#X msg 104 -77 dialog;
#X msg 109 -47 device /dev/dv1394-0;
#X text 373 289 value to correct the theshold;
#X text 390 346 MaxValue (default 255);
#X text 367 325 inverse mode ( default 0 );
#X text -356 -79 Thresholding is used to segment an image by setting
all pixels whose intensity values are above a threshold to a foreground
value and all the remaining pixels to a background value.;
#X text -354 66 Whereas the conventional thresholding operator uses
a global threshold for all pixels \, adaptive thresholding changes
the threshold dynamically over the image. This more sophisticated version
of thresholding can accommodate changing lighting conditions in the
image \, e.g. those occurring as a result of a strong illumination
gradient or shadows.;
#X text -325 205 - zero otherwise;
#X text -351 168 Adaptive thresholding sets a pixel dst(x \, y) value
to:;
#X text -325 190 - MaxValue (see MaxValue inlet) if src(x \, y) > T(x
\, y);
#X text -347 238 Where T(x \, y) is a threshold calculated individually
for each pixel. For the method ADAPTIVE_THRESH_MEAN_C the threshold
value is the mean of a blockSize x blockSize (see blocksize inlet)
neighborhood of (x \, y) \, minus dim parameter value (see dim message).
;
#X text -347 314 For the method ADAPTIVE_THRESH_GAUSSIAN_C the threshold
value is the weighted sum (i.e. cross-correlation with a Gaussian window)
of a blockSize x blockSize neighborhood of (x \, y) \, minus dim parameter
value.;
#X text 391 374 blockSize;
#X obj 338 241 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X text 256 218 Thresholding method ( default 0 );
#X obj 347 327 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X text 356 235 0 = CV_ADAPTIVE_THRESH_MEAN_C;
#X text 356 245 1 = CV_ADAPTIVE_THRESH_GAUSSIAN_C;
#X obj 79 110 pix_rgba;
#X text -356 -103 pix_opencv_athreshold :;
#X connect 6 0 20 0;
#X connect 7 0 8 0;
#X connect 10 0 11 0;
#X connect 11 0 10 0;
#X connect 12 0 13 0;
#X connect 14 0 42 0;
#X connect 15 0 18 0;
#X connect 16 0 17 0;
#X connect 17 0 20 1;
#X connect 18 0 19 0;
#X connect 19 0 20 0;
#X connect 20 0 43 1;
#X connect 20 2 16 0;
#X connect 21 0 20 0;
#X connect 22 0 21 0;
#X connect 25 0 7 0;
#X connect 26 0 25 2;
#X connect 27 0 25 0;
#X connect 28 0 25 1;
#X connect 30 0 25 0;
#X connect 31 0 25 0;
#X connect 32 0 31 0;
#X connect 34 0 20 0;
#X connect 34 0 45 0;
#X connect 35 0 20 0;
#X connect 36 0 20 0;
#X connect 37 0 34 0;
#X connect 37 0 22 0;
#X connect 38 0 14 0;
#X connect 39 0 41 0;
#X connect 40 0 39 0;
#X connect 41 0 12 0;
#X connect 42 0 25 0;
#X connect 43 0 67 0;
#X connect 44 0 43 2;
#X connect 45 0 43 0;
#X connect 46 0 45 0;
#X connect 47 0 45 0;
#X connect 48 0 45 0;
#X connect 49 0 45 0;
#X connect 50 0 45 0;
#X connect 62 0 30 0;
#X connect 64 0 27 0;
#X connect 67 0 40 0;
#X connect 67 0 38 0;