aboutsummaryrefslogtreecommitdiff
path: root/pdp_opencv_hu_compare-help.pd
blob: 41e9333cc529689b058c85268d96746aad272cca (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
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
#N canvas 1049 0 999 694 10;
#X obj 41 -81 cnv 15 621 300 empty empty empty 20 12 0 14 -260097 -66577
0;
#X obj 301 -30 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 301 -3 metro 40;
#X msg 382 16 close;
#X msg 378 -8 open /dev/video0;
#X obj 321 95 pdp_v4l2;
#X obj 46 322 cnv 15 621 250 empty empty empty 20 12 0 14 -258113 -66577
0;
#X obj 93 604 pdp_xv;
#X obj 44 244 cnv 15 621 73 empty empty empty 20 12 0 14 -260801 -66577
0;
#X floatatom 243 280 5 0 0 0 - - -;
#X text 281 279 threshold (default 13) to use when comparing pixel
colors;
#X msg 387 71 format \$1;
#X obj 387 50 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144 -1
-1 0;
#X obj 93 280 pdp_opencv_threshold;
#X text 52 -114 Written by Yves Degoyon ( ydegoyon@gmail.com );
#X obj 93 157 pdp_qt;
#X msg 125 64 bang;
#X msg 166 64 stop;
#X obj 92 -5 openpanel;
#X msg 92 20 open \$1;
#X msg 92 -33 bang;
#X msg 126 119 loop \$1;
#X obj 206 119 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 206 37 loadbang;
#X text 143 -32 playing a video file;
#X text 161 -19 ( try estrella.mov );
#X obj 319 253 loadbang;
#X msg 280 253 160;
#X floatatom 182 521 30 0 0 0 - - -;
#X text 62 -63 INPUT : movie or camera;
#X obj 684 -82 cnv 15 621 300 empty empty empty 20 12 0 14 -260097
-66577 0;
#X obj 725 -3 openpanel;
#X msg 706 -32 bang;
#X obj 705 142 pdp_imgloader;
#X obj 705 42 metro 40;
#X msg 724 21 load \$1 0 0;
#X text 752 -39 loading a pattern image;
#X obj 705 112 pdp_scale 320 240;
#X obj 705 89 pdp_convert image/YCrCb/*;
#X text 751 -26 ( try estrella.jpg );
#X obj 764 42 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X text 705 -57 Compare to a pattern;
#X obj 686 242 cnv 15 621 73 empty empty empty 20 12 0 14 -260801 -66577
0;
#X floatatom 856 278 5 0 0 0 - - -;
#X text 894 277 threshold (default 13) to use when comparing pixel
colors;
#X obj 705 277 pdp_opencv_threshold;
#X obj 924 251 loadbang;
#X msg 893 251 160;
#X floatatom 185 94 5 0 0 0 - - -;
#X obj 93 440 pdp_opencv_hu_compare;
#X text 187 504 distance;
#X obj 236 361 hradio 15 1 0 3 empty empty empty 0 -8 0 10 -262144
-1 -1 0;
#X text 287 355 method used for comparison : one of : CV_CONTOURS_MATCH_I1
\, CV_CONTOURS_MATCH_I2 or CV_CONTOURS_MATCH_I3;
#X text 228 445 calculating their hu moments ( CvMatchShape );
#X obj 112 189 s frame;
#X floatatom 687 554 10 0 0 0 - - -;
#X floatatom 745 532 5 0 0 0 - - -;
#X text 781 532 frame;
#X obj 723 508 r frame;
#N canvas 5 441 449 300 cmin 0;
#X obj 70 144 route 1;
#X msg 122 144 bang;
#X obj 42 70 t f b;
#X obj 89 95 f;
#X obj 45 44 inlet;
#X obj 73 180 outlet;
#X obj 188 42 inlet;
#X obj 208 97 f;
#X obj 211 160 outlet;
#X obj 43 144 <;
#X obj 56 119 f 189;
#X msg 109 73 18;
#X obj 123 48 loadbang;
#X obj 125 104 r reset;
#N canvas 1 49 1424 780 extract_biggest_contour 0;
#X obj 117 34 inlet;
#X obj 127 518 outlet;
#X floatatom 263 122 5 0 0 0 - - -;
#X floatatom 335 135 5 0 0 0 - - -;
#X obj 145 150 pdp_opencv_contours_boundingrect;
#X text 301 120 minimal area in pixels to be detected (default 10x10)
;
#X text 372 136 maximal area in pixels to be detected (default 320x240)
;
#N canvas 68 323 605 502 smax 0;
#X obj 37 368 route 1;
#X obj 80 233 t f b;
#X obj 127 258 f;
#X obj 41 329 >;
#X obj 94 282 f 0;
#X obj 193 253 f;
#X obj 209 290 outlet;
#X msg 199 184 0;
#X obj 220 130 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 225 97 loadbang;
#X obj 105 73 unpack f f f f f;
#X obj 99 115 *;
#X obj 88 143 f;
#X obj 142 117 t b f;
#X obj 132 25 inlet;
#X obj 156 183 f;
#X msg 172 384 bang;
#X msg 200 212 bang;
#X obj 119 319 f;
#X obj 111 343 outlet;
#X obj 204 154 metro 10;
#X connect 0 0 16 0;
#X connect 1 0 2 1;
#X connect 1 0 3 0;
#X connect 1 1 4 0;
#X connect 2 0 4 1;
#X connect 3 0 0 0;
#X connect 4 0 3 1;
#X connect 4 0 18 1;
#X connect 5 0 6 0;
#X connect 7 0 2 1;
#X connect 7 0 4 1;
#X connect 7 0 17 0;
#X connect 8 0 20 0;
#X connect 9 0 8 0;
#X connect 10 0 13 0;
#X connect 10 3 11 0;
#X connect 10 4 11 1;
#X connect 11 0 12 1;
#X connect 12 0 1 0;
#X connect 13 0 12 0;
#X connect 13 1 15 1;
#X connect 14 0 10 0;
#X connect 15 0 5 1;
#X connect 16 0 2 0;
#X connect 16 0 15 0;
#X connect 17 0 5 0;
#X connect 17 0 18 0;
#X connect 18 0 19 0;
#X connect 20 0 7 0;
#X restore 213 197 pd smax;
#X floatatom 284 226 5 0 0 0 - - -;
#X text 322 226 biggest contour number;
#X obj 212 267 unpack f f f f;
#X obj 133 420 pdp_cropper;
#X obj 209 351 +;
#X obj 253 351 +;
#X text 219 421 crop biggest contour;
#X obj 133 469 pdp_scale 320 240;
#N canvas 418 122 450 300 sroute 0;
#X obj 148 99 inlet;
#X obj 90 54 list split 1;
#X obj 90 31 inlet;
#X obj 90 188 outlet;
#X obj 90 124 select \$1;
#X obj 90 154 list;
#X connect 0 0 4 1;
#X connect 1 0 4 0;
#X connect 1 1 5 1;
#X connect 2 0 1 0;
#X connect 4 0 5 0;
#X connect 5 0 3 0;
#X restore 213 246 pd sroute;
#X obj 222 322 expr $f1+8-($f1%8);
#X obj 293 295 expr $f1+8-($f1%8);
#X msg 240 74 draw 0;
#X msg 259 98 show 1;
#X obj 332 49 loadbang;
#X msg 208 46 nightmode \$1;
#X obj 192 20 r nightmode;
#X connect 0 0 4 0;
#X connect 2 0 4 1;
#X connect 3 0 4 2;
#X connect 4 0 11 0;
#X connect 4 1 7 0;
#X connect 4 1 16 0;
#X connect 7 1 8 0;
#X connect 8 0 16 1;
#X connect 10 0 12 0;
#X connect 10 0 11 1;
#X connect 10 1 13 0;
#X connect 10 1 11 3;
#X connect 10 2 17 0;
#X connect 10 3 18 0;
#X connect 11 0 15 0;
#X connect 12 0 11 2;
#X connect 13 0 11 4;
#X connect 15 0 1 0;
#X connect 16 0 10 0;
#X connect 17 0 12 1;
#X connect 18 0 13 1;
#X connect 19 0 4 0;
#X connect 20 0 4 0;
#X connect 21 0 19 0;
#X connect 21 0 20 0;
#X connect 22 0 4 0;
#X connect 23 0 22 0;
#X restore 152 219 pd extract_biggest_contour;
#X text 149 199 abstraction to extract biggest contour;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 1 0 7 0;
#X connect 1 0 10 0;
#X connect 2 0 3 1;
#X connect 2 0 9 0;
#X connect 2 1 10 0;
#X connect 3 0 10 1;
#X connect 4 0 2 0;
#X connect 6 0 7 1;
#X connect 7 0 8 0;
#X connect 9 0 0 0;
#X connect 10 0 5 0;
#X connect 10 0 9 1;
#X connect 11 0 10 1;
#X connect 12 0 11 0;
#X connect 13 0 11 0;
#X restore 687 530 pd cmin;
#X text 753 555 min;
#X obj 125 92 metro 100;
#X msg 779 509 bang;
#X obj 783 554 s iframe;
#X obj 174 156 r iframe;
#X obj 144 157 - 1;
#X msg 52 119 bang;
#X obj 111 502 pdp_xv;
#X obj 208 360 + 1;
#X obj 705 65 pdp_noise;
#X obj 282 297 s tresh;
#X obj 825 250 r tresh;
#X msg 138 360 method \$1;
#X msg 124 333 minsize \$1;
#X floatatom 198 334 5 0 0 0 - - -;
#X text 239 334 minimum size of selected contours ( default : 10x10
);
#X obj 398 539 route 1;
#X obj 450 539 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X msg 174 382 clear;
#X text 282 382 recalculates the pattern contour;
#X obj 359 540 < 0.1;
#X obj 805 21 s reset;
#X obj 796 -4 t b s;
#X obj 223 383 r reset;
#X text 51 -140 pdp_opencv_hu_compare :: compare contours using their
hu moments using CvMatchShape.;
#X text 227 433 compares the contours to the pattern reference contour
;
#X msg 200 408 criteria \$1;
#X obj 284 409 r cdist;
#X text 337 403 criteria value under which the contour is recongnized
;
#X text 335 414 ( adjust to your situation : default : 0.1 );
#X obj 459 519 hsl 128 15 0 0.2 0 0 cdist empty empty -2 -8 0 10 -262144
-1 -1 0 1;
#X text 477 536 criteria value;
#X floatatom 377 521 10 0 0 0 - - -;
#X obj 236 466 unpack f f f f f;
#X text 350 466 position of detected contours;
#X floatatom 259 488 5 0 0 0 - - -;
#X floatatom 297 489 5 0 0 0 - - -;
#X floatatom 337 488 5 0 0 0 - - -;
#X floatatom 380 489 5 0 0 0 - - -;
#X text 266 501 X;
#X text 305 500 Y;
#X text 337 500 width;
#X text 378 501 height;
#X text 705 489 minimum distance;
#X connect 1 0 2 0;
#X connect 2 0 5 0;
#X connect 3 0 5 0;
#X connect 4 0 5 0;
#X connect 5 0 13 0;
#X connect 9 0 13 2;
#X connect 9 0 70 0;
#X connect 11 0 5 0;
#X connect 12 0 11 0;
#X connect 13 0 49 0;
#X connect 15 0 13 0;
#X connect 15 1 54 0;
#X connect 16 0 61 0;
#X connect 17 0 61 0;
#X connect 18 0 19 0;
#X connect 19 0 15 0;
#X connect 20 0 18 0;
#X connect 21 0 15 0;
#X connect 22 0 21 0;
#X connect 23 0 22 0;
#X connect 23 0 16 0;
#X connect 26 0 27 0;
#X connect 27 0 9 0;
#X connect 28 0 59 0;
#X connect 28 0 80 0;
#X connect 31 0 82 0;
#X connect 32 0 31 0;
#X connect 32 0 34 0;
#X connect 33 0 45 0;
#X connect 34 0 69 0;
#X connect 35 0 33 0;
#X connect 37 0 33 0;
#X connect 38 0 37 0;
#X connect 40 0 34 0;
#X connect 43 0 45 2;
#X connect 45 0 49 1;
#X connect 46 0 47 0;
#X connect 47 0 43 0;
#X connect 48 0 61 1;
#X connect 49 0 7 0;
#X connect 49 1 67 0;
#X connect 49 2 28 0;
#X connect 49 3 93 0;
#X connect 51 0 68 0;
#X connect 56 0 63 0;
#X connect 58 0 59 1;
#X connect 59 0 55 0;
#X connect 59 1 56 0;
#X connect 61 0 15 0;
#X connect 62 0 56 0;
#X connect 64 0 65 0;
#X connect 65 0 15 1;
#X connect 66 0 15 0;
#X connect 68 0 72 0;
#X connect 69 0 38 0;
#X connect 71 0 43 0;
#X connect 72 0 49 0;
#X connect 73 0 49 0;
#X connect 74 0 73 0;
#X connect 76 0 77 0;
#X connect 78 0 49 0;
#X connect 80 0 76 0;
#X connect 82 0 81 0;
#X connect 82 1 35 0;
#X connect 83 0 78 0;
#X connect 86 0 49 0;
#X connect 87 0 86 0;
#X connect 90 0 80 1;
#X connect 90 0 92 0;
#X connect 93 1 95 0;
#X connect 93 2 96 0;
#X connect 93 3 97 0;
#X connect 93 4 98 0;