aboutsummaryrefslogtreecommitdiff
path: root/pix_opencv_contours-help.pd
blob: c66911b23d15e8fcb112d0bc454d65f314d731b2 (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
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
#N canvas 798 319 836 479 10;
#X obj 472 38 cnv 15 220 250 empty empty empty 20 12 0 14 -228992 -66577
0;
#X obj 11 56 cnv 15 450 100 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 12 207 cnv 15 450 230 empty empty empty 20 12 0 14 -233017 -66577
0;
#X text 14 210 Inlets:;
#X obj 12 167 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577
0;
#X text 21 166 Arguments:;
#X text 13 281 Outlets:;
#X text 478 20 Example:;
#X text 58 21 Class: pix_opencv;
#X text 11 60 Description: finds contours;
#X text 67 176 none;
#X text 31 234 Inlet 1: message: area [float];
#X text 31 244 Inlet 1: message: epsilon [float];
#X obj 541 151 pix_texture;
#X obj 487 171 pix_gray;
#X obj 487 141 pix_buf;
#N canvas 866 290 919 782 drawcontours 0;
#X obj 249 179 list split 2;
#X obj 241 640 GEMglEnd;
#X obj 371 637 GEMglVertex2d;
#X obj 283 310 list append;
#X obj 312 284 t b a;
#X obj 312 263 list split 2;
#X obj 412 542 unpack;
#X obj 381 304 t b a;
#X obj 500 361 color 1 0 0 1;
#X obj 476 592 * -8;
#X obj 476 612 + 4;
#N canvas 716 313 619 726 color 0;
#X obj 201 -38 inlet;
#X obj 302 -38 inlet;
#X obj 158 66 f;
#X msg 302 10 0;
#X obj 158 147 * 6;
#X obj 254 104 t f f;
#X obj 281 133 int;
#X obj 254 150 -;
#N canvas 3 85 579 581 h2rgb 0;
#X obj 171 79 t f f;
#X obj 171 332 spigot;
#X obj 204 168 == 0;
#X obj 204 123 int;
#X msg 171 362 1 \$1 0;
#X obj 221 332 spigot;
#X obj 271 332 spigot;
#X obj 321 332 spigot;
#X obj 254 168 == 1;
#X obj 304 168 == 2;
#X obj 354 168 == 3;
#X obj 371 332 spigot;
#X obj 421 332 spigot;
#X obj 404 168 == 4;
#X obj 454 168 == 5;
#X msg 221 362 \$1 1 0;
#X obj 171 404 t a;
#X obj 95 246 abs;
#X obj 95 226 - 1;
#X obj 68 282 -;
#X msg 68 246 1;
#X msg 271 362 0 1 \$1;
#X msg 321 362 0 \$1 1;
#X msg 371 362 \$1 0 1;
#X msg 421 362 1 0 \$1;
#X obj 114 162 int;
#X obj 95 206 -;
#X obj 114 142 / 2;
#X obj 114 183 * 2;
#X obj 68 118 t f f f;
#X obj 171 48 inlet;
#X obj 171 439 outlet;
#X connect 0 0 29 0;
#X connect 0 1 3 0;
#X connect 1 0 4 0;
#X connect 2 0 1 1;
#X connect 3 0 2 0;
#X connect 3 0 8 0;
#X connect 3 0 9 0;
#X connect 3 0 10 0;
#X connect 3 0 13 0;
#X connect 3 0 14 0;
#X connect 4 0 16 0;
#X connect 5 0 15 0;
#X connect 6 0 21 0;
#X connect 7 0 22 0;
#X connect 8 0 5 1;
#X connect 9 0 6 1;
#X connect 10 0 7 1;
#X connect 11 0 23 0;
#X connect 12 0 24 0;
#X connect 13 0 11 1;
#X connect 14 0 12 1;
#X connect 15 0 16 0;
#X connect 16 0 31 0;
#X connect 17 0 19 1;
#X connect 18 0 17 0;
#X connect 19 0 1 0;
#X connect 19 0 5 0;
#X connect 19 0 6 0;
#X connect 19 0 7 0;
#X connect 19 0 11 0;
#X connect 19 0 12 0;
#X connect 20 0 19 0;
#X connect 21 0 16 0;
#X connect 22 0 16 0;
#X connect 23 0 16 0;
#X connect 24 0 16 0;
#X connect 25 0 28 0;
#X connect 26 0 18 0;
#X connect 27 0 25 0;
#X connect 28 0 26 1;
#X connect 29 0 20 0;
#X connect 29 1 26 0;
#X connect 29 2 27 0;
#X connect 30 0 0 0;
#X restore 158 176 pd h2rgb;
#X obj 254 83 + 0.9;
#X obj 182 240 outlet;
#X connect 0 0 2 0;
#X connect 1 0 3 0;
#X connect 2 0 9 0;
#X connect 2 0 4 0;
#X connect 3 0 2 1;
#X connect 4 0 8 0;
#X connect 5 0 7 0;
#X connect 5 1 6 0;
#X connect 6 0 7 1;
#X connect 7 0 2 1;
#X connect 8 0 10 0;
#X connect 9 0 5 0;
#X restore 575 331 pd color;
#X obj 249 117 t a b;
#X obj 500 424 GEMglLineWidth 2;
#X obj 500 394 scaleXYZ 1 1 1;
#X obj 412 592 * 10.6666;
#X obj 412 612 - 5.33333;
#X floatatom 616 374 5 0 0 0 - - -;
#X obj 620 257 inlet;
#X obj 241 611 gemlist;
#X obj 371 468 gemlist;
#X obj 500 461 GEMglBegin GL_LINE_LOOP;
#X obj 620 286 t b;
#X obj 540 194 gemhead;
#X obj 540 139 loadbang;
#X msg 540 160 0;
#X obj 204 208 unpack 0 0;
#X floatatom 204 229 5 0 0 0 nb_of_segments - -;
#X obj 249 62 inlet CONTOUR;
#X obj 500 336 gemlist;
#X obj 283 206 t b a b b;
#X connect 0 0 26 0;
#X connect 0 1 30 0;
#X connect 3 0 5 0;
#X connect 4 0 3 0;
#X connect 4 1 7 0;
#X connect 5 0 4 0;
#X connect 5 1 3 1;
#X connect 6 0 15 0;
#X connect 6 1 9 0;
#X connect 7 0 20 0;
#X connect 7 1 6 0;
#X connect 8 0 14 0;
#X connect 9 0 10 0;
#X connect 10 0 2 2;
#X connect 11 0 8 1;
#X connect 12 0 0 0;
#X connect 12 1 11 0;
#X connect 13 0 21 0;
#X connect 14 0 13 0;
#X connect 15 0 16 0;
#X connect 16 0 2 1;
#X connect 17 0 14 2;
#X connect 18 0 22 0;
#X connect 19 0 1 0;
#X connect 20 0 2 0;
#X connect 22 0 11 1;
#X connect 23 0 29 1;
#X connect 23 0 20 1;
#X connect 23 0 19 1;
#X connect 24 0 25 0;
#X connect 25 0 23 0;
#X connect 26 0 27 0;
#X connect 28 0 12 0;
#X connect 29 0 8 0;
#X connect 30 0 19 0;
#X connect 30 1 5 0;
#X connect 30 2 29 0;
#X connect 30 3 23 0;
#X restore 575 315 pd drawcontours;
#X obj 487 76 t b a a;
#X obj 487 57 gemhead 1;
#X msg 542 214 epsilon \$1;
#X floatatom 542 197 5 0 0 0 - - -;
#X obj 625 121 loadbang;
#X obj 541 171 rectangle 5.333 4;
#X obj 514 116 t a a;
#X obj 514 96 pix_image dessin.tif;
#X msg 617 214 area \$1;
#X floatatom 617 197 5 0 0 0 - - -;
#X msg 659 142 10;
#X obj 354 215 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 1 86 450 300 gemwin 0;
#X obj 132 156 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 142 68 set create;
#X msg 198 112 destroy;
#X msg 132 132 reset \, dimen 640 480 \, create \, 1;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 7 0;
#X connect 3 1 5 0;
#X connect 3 1 6 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X restore 359 254 pd gemwin;
#X msg 359 235 destroy;
#X text 355 214 Create window:;
#X text 31 224 Inlet 1: binarized image;
#X msg 625 141 2;
#N canvas 1191 201 474 845 draw_rotrect 0;
#X obj 71 506 GEMglVertex2d;
#X obj 71 586 GEMglVertex2d;
#X obj 71 666 GEMglVertex2d;
#X obj 71 746 GEMglVertex2d;
#X obj 71 766 GEMglEnd;
#X obj 71 277 alpha;
#X obj 143 178 list split 1;
#X obj 71 420 GEMglBegin GL_LINE_LOOP;
#X obj 177 198 list split 8;
#X msg 363 324 0 0 0 0 0 0 0 0;
#X obj 71 300 color 1 0 0 1;
#N canvas 710 331 619 726 color 0;
#X obj 201 -38 inlet;
#X obj 158 66 f;
#X msg 302 10 0;
#X obj 158 147 * 6;
#X obj 254 104 t f f;
#X obj 281 133 int;
#X obj 254 150 -;
#N canvas 1 91 579 581 h2rgb 0;
#X obj 171 79 t f f;
#X obj 171 332 spigot;
#X obj 204 168 == 0;
#X obj 204 123 int;
#X msg 171 362 1 \$1 0;
#X obj 221 332 spigot;
#X obj 271 332 spigot;
#X obj 321 332 spigot;
#X obj 254 168 == 1;
#X obj 304 168 == 2;
#X obj 354 168 == 3;
#X obj 371 332 spigot;
#X obj 421 332 spigot;
#X obj 404 168 == 4;
#X obj 454 168 == 5;
#X msg 221 362 \$1 1 0;
#X obj 171 404 t a;
#X obj 95 246 abs;
#X obj 95 226 - 1;
#X obj 68 282 -;
#X msg 68 246 1;
#X msg 271 362 0 1 \$1;
#X msg 321 362 0 \$1 1;
#X msg 371 362 \$1 0 1;
#X msg 421 362 1 0 \$1;
#X obj 114 162 int;
#X obj 95 206 -;
#X obj 114 142 / 2;
#X obj 114 183 * 2;
#X obj 68 118 t f f f;
#X obj 171 48 inlet;
#X obj 171 439 outlet;
#X connect 0 0 29 0;
#X connect 0 1 3 0;
#X connect 1 0 4 0;
#X connect 2 0 1 1;
#X connect 3 0 2 0;
#X connect 3 0 8 0;
#X connect 3 0 9 0;
#X connect 3 0 10 0;
#X connect 3 0 13 0;
#X connect 3 0 14 0;
#X connect 4 0 16 0;
#X connect 5 0 15 0;
#X connect 6 0 21 0;
#X connect 7 0 22 0;
#X connect 8 0 5 1;
#X connect 9 0 6 1;
#X connect 10 0 7 1;
#X connect 11 0 23 0;
#X connect 12 0 24 0;
#X connect 13 0 11 1;
#X connect 14 0 12 1;
#X connect 15 0 16 0;
#X connect 16 0 31 0;
#X connect 17 0 19 1;
#X connect 18 0 17 0;
#X connect 19 0 1 0;
#X connect 19 0 5 0;
#X connect 19 0 6 0;
#X connect 19 0 7 0;
#X connect 19 0 11 0;
#X connect 19 0 12 0;
#X connect 20 0 19 0;
#X connect 21 0 16 0;
#X connect 22 0 16 0;
#X connect 23 0 16 0;
#X connect 24 0 16 0;
#X connect 25 0 28 0;
#X connect 26 0 18 0;
#X connect 27 0 25 0;
#X connect 28 0 26 1;
#X connect 29 0 20 0;
#X connect 29 1 26 0;
#X connect 29 2 27 0;
#X connect 30 0 0 0;
#X restore 158 176 pd h2rgb;
#X obj 254 83 + 0.9;
#X obj 182 240 outlet;
#X obj 302 -38 inlet RESET;
#X connect 0 0 1 0;
#X connect 1 0 8 0;
#X connect 1 0 3 0;
#X connect 2 0 1 1;
#X connect 3 0 7 0;
#X connect 4 0 6 0;
#X connect 4 1 5 0;
#X connect 5 0 6 1;
#X connect 6 0 1 1;
#X connect 7 0 9 0;
#X connect 8 0 4 0;
#X connect 10 0 2 0;
#X restore 262 248 pd color;
#X obj 71 -10 inlet INFO;
#X obj 71 256 gemhead;
#X obj 15 147 loadbang;
#X msg 15 168 0;
#X obj 71 52 t b a b;
#X floatatom 378 220 5 0 0 0 - - -;
#X obj 378 199 list length;
#X obj 211 504 list split 2;
#X obj 177 448 list split 2;
#X obj 137 472 unpack;
#X obj 211 525 unpack;
#X obj 245 564 list split 2;
#X obj 245 585 unpack;
#X obj 279 664 list split 2;
#X obj 279 685 unpack;
#X obj 90 84 list split 2;
#X obj 95 154 list append;
#X obj 292 81 t b;
#X obj 262 198 t b;
#X obj 124 128 t b b a b;
#X obj 71 18 route 0;
#X floatatom 342 463 5 0 0 0 - - -;
#X obj 342 442 list length;
#X obj 71 400 GEMglLineWidth 1;
#X obj 71 327 translateXYZ -5.3333 4 0;
#X obj 71 361 scaleXYZ 10.6666 -8 0;
#X obj 124 107 list split 20;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 5 0 10 0;
#X connect 6 1 8 0;
#X connect 7 0 0 0;
#X connect 8 0 20 0;
#X connect 9 0 20 0;
#X connect 10 0 36 0;
#X connect 11 0 10 1;
#X connect 12 0 32 0;
#X connect 13 0 5 0;
#X connect 14 0 15 0;
#X connect 15 0 13 0;
#X connect 16 1 27 0;
#X connect 16 1 18 0;
#X connect 16 2 29 0;
#X connect 18 0 17 0;
#X connect 19 0 22 0;
#X connect 19 1 23 0;
#X connect 20 0 21 0;
#X connect 20 1 19 0;
#X connect 21 0 0 1;
#X connect 21 1 0 2;
#X connect 22 0 1 1;
#X connect 22 1 1 2;
#X connect 23 0 24 0;
#X connect 23 1 25 0;
#X connect 24 0 2 1;
#X connect 24 1 2 2;
#X connect 25 0 26 0;
#X connect 26 0 3 1;
#X connect 26 1 3 2;
#X connect 27 1 38 0;
#X connect 28 0 38 0;
#X connect 29 0 9 0;
#X connect 29 0 11 1;
#X connect 30 0 11 0;
#X connect 31 0 28 0;
#X connect 31 1 13 0;
#X connect 31 2 6 0;
#X connect 31 2 34 0;
#X connect 31 3 30 0;
#X connect 32 1 16 0;
#X connect 34 0 33 0;
#X connect 35 0 7 0;
#X connect 36 0 37 0;
#X connect 37 0 35 0;
#X connect 38 0 31 0;
#X connect 38 1 28 1;
#X restore 673 315 pd draw_rotrect;
#X text 355 214 Create window:;
#X text 31 224 Inlet 1: binarized image;
#X text 21 343 info;
#X text 31 403 <number of segments> <2> <x \, y corner coordinate pairs>
;
#X obj 575 265 route contour;
#X obj 672 265 route info;
#X obj 487 240 pix_opencv_contours;
#X text 26 302 Outlet 2: contour output;
#X text 26 292 Outlet 1: gemlist output;
#X text 26 312 Outlet 3: info output;
#X text 37 5 Synopsis: [pix_opencv_contours];
#X text 37 75 [pix_opencv_contours] finds contours in incomming image
\, simplifies it according to the epsilon value and outputs contours
with area greater than area value on second outlet;
#X text 22 392 contour (for each of them);
#X text 527 386 see also : [pix_opencv_contour_convexhull];
#X text 37 114 contrary to [pix_opencv_contour_convexhull] \, [pix_opencv_contours]
outputs all contours found not only the biggest and it find also concave
contours.;
#X text 31 353 <contour area> <rotrect corners coordinates (8 floats)>
<rotrect center position (2 floats)> <rotrect size (2 floats)> <angle>
<number of points> 0 0 0 0 0;
#X connect 13 0 22 0;
#X connect 14 0 41 0;
#X connect 15 0 14 0;
#X connect 17 0 15 0;
#X connect 17 1 24 0;
#X connect 17 2 16 1;
#X connect 18 0 17 0;
#X connect 19 0 41 0;
#X connect 20 0 19 0;
#X connect 21 0 33 0;
#X connect 21 0 27 0;
#X connect 23 0 15 0;
#X connect 23 1 13 0;
#X connect 24 0 23 0;
#X connect 25 0 41 0;
#X connect 26 0 25 0;
#X connect 27 0 26 0;
#X connect 29 0 30 0;
#X connect 30 0 29 0;
#X connect 33 0 20 0;
#X connect 39 0 16 0;
#X connect 40 0 34 0;
#X connect 41 1 39 0;
#X connect 41 2 40 0;