blob: 8bcf374a123d5c55af6fa37bccc01f4707d52c9c (
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
|
#N canvas 73 50 1040 775 10;
#X obj 441 -19 gemhead;
#X obj 364 510 pix_texture;
#X obj 364 538 square 2;
#X obj 25 436 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 5 49 454 304 gemwin 0;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#N canvas 92 178 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 161 230 gemwin;
#X msg 160 177 create \, 1;
#X msg 236 178 destroy;
#X msg 294 178 frame 5;
#X obj 163 140 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 30 480 pd gemwin;
#X msg 30 456 destroy;
#X text 26 436 Create window and render;
#X obj 200 368 pix_texture;
#X obj 198 397 square 2;
#X obj 266 167 translateXYZ -2 0 0;
#X obj 281 199 separator;
#X obj 344 246 cnv 15 550 250 empty empty empty 20 12 0 14 -24198 -66577
0;
#X obj 511 -66 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 527 164 unpack 0 0 0;
#X floatatom 517 187 5 0 0 3 length - -;
#X floatatom 566 187 5 0 0 3 width - -;
#X floatatom 616 187 5 0 0 3 height - -;
#X obj 571 145 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144
-1 -1;
#X floatatom 553 110 5 0 10000 1 frame# - -;
#X obj 511 -37 openpanel;
#X msg 511 -17 open \$1;
#X obj 502 128 pix_film;
#X msg 479 23 auto \$1;
#X obj 479 5 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 281 227 translateXYZ 4 0 0;
#X floatatom 481 432 5 0 0 0 - - -;
#X obj 364 464 pix_opencv_contours_boundingrect;
#X obj 378 110 pix_invert;
#X obj 319 135 pix_threshold;
#X floatatom 322 103 5 0 0 0 - - -;
#X msg 289 101 0.33;
#X obj 234 101 loadbang;
#X text 516 428 min area in pixels (default 1);
#X floatatom 567 446 5 0 0 0 - - -;
#X text 605 445 max area in pixels (default 76800);
#X floatatom 497 596 5 0 0 0 - - -;
#X floatatom 532 596 5 0 0 0 - - -;
#X floatatom 569 596 5 0 0 0 - - -;
#X floatatom 603 596 5 0 0 0 - - -;
#X obj 494 567 unpack 0 0 0 0 0;
#X obj 494 516 route 0 1 2 3 4;
#X text 647 596 Xorigin Yorigin Width Height;
#X text 554 534 For each contour detected;
#X text 655 -107 It is useful as a motion tracker if you have well
isolated silouets of the objects you want to track.;
#X msg 385 260 mode \$1;
#X obj 446 261 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144
-1 -1 0;
#X text 515 262 retrieval mode ( see cvFindContours );
#X obj 481 286 hradio 15 1 0 5 empty empty empty 0 -8 0 10 -262144
-1 -1 0;
#X text 563 286 retrieval method ( see cvFindContours );
#X msg 414 285 method \$1;
#X msg 437 308 maxmove \$1;
#X floatatom 511 309 5 0 0 0 - - -;
#X floatatom 535 333 5 0 0 0 - - -;
#X msg 447 330 ftolerance \$1;
#X text 554 308 maximum move of a countour ( default 10 );
#X text 571 331 frame tolerance for identification ( default 5 );
#X text 656 -141 pix_opencv_contours_boundingrect :: Calculates up-right
bounding rectangle of all contours of a binary image.;
#X text 655 -68 This object considers a contour to be analyzed any
group of white pixels in a black background \, for this reason you
will find useful to use pdp_bgsubstract or pdp_threshold to obtain
a correct input for pix_opencv_contours_boundingrect.;
#X text 655 -14 pix_opencv_contours_boundingrect works detecting any
white areas in the input image \, it's important to set max/min values
of the areas you want to detect to filter non interesting noise or
areas \, also sometimes you will need to use pix_opencv_morphology
to transform the contours of the shapes to be analyzed..;
#X floatatom 597 499 5 0 0 0 - - -;
#X text 635 500 number of contours;
#X msg 531 87 colorspace RGBA;
#X msg 521 66 colorspace RGB;
#X msg 513 46 colorspace Gray;
#X obj 562 21 loadbang;
#X msg 462 355 nightmode \$1;
#X obj 552 356 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 541 377 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 554 399 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X msg 481 376 draw \$1;
#X text 568 375 draw bounding rectangle ( default : on );
#X msg 496 397 show \$1;
#X text 581 396 draw the detected contours ( default : off );
#X text 575 356 hide original image ( default : off );
#X connect 0 0 21 0;
#X connect 1 0 2 0;
#X connect 4 0 5 0;
#X connect 5 0 4 0;
#X connect 7 0 8 0;
#X connect 9 0 7 0;
#X connect 9 0 10 0;
#X connect 10 0 24 0;
#X connect 12 0 19 0;
#X connect 13 0 14 0;
#X connect 13 1 15 0;
#X connect 13 2 16 0;
#X connect 17 0 18 0;
#X connect 18 0 21 1;
#X connect 19 0 20 0;
#X connect 20 0 21 0;
#X connect 21 0 27 0;
#X connect 21 1 13 0;
#X connect 21 2 17 0;
#X connect 22 0 21 0;
#X connect 23 0 22 0;
#X connect 24 0 26 0;
#X connect 25 0 26 1;
#X connect 26 0 1 0;
#X connect 26 1 40 0;
#X connect 26 2 59 0;
#X connect 27 0 28 0;
#X connect 28 0 9 0;
#X connect 29 0 28 1;
#X connect 30 0 29 0;
#X connect 31 0 30 0;
#X connect 33 0 26 2;
#X connect 39 0 35 0;
#X connect 39 1 36 0;
#X connect 39 2 37 0;
#X connect 39 3 38 0;
#X connect 40 0 39 0;
#X connect 44 0 26 0;
#X connect 45 0 44 0;
#X connect 47 0 49 0;
#X connect 49 0 26 0;
#X connect 50 0 26 0;
#X connect 51 0 50 0;
#X connect 52 0 53 0;
#X connect 53 0 26 0;
#X connect 61 0 21 0;
#X connect 62 0 21 0;
#X connect 63 0 21 0;
#X connect 64 0 61 0;
#X connect 65 0 26 0;
#X connect 66 0 65 0;
#X connect 67 0 69 0;
#X connect 68 0 71 0;
#X connect 69 0 26 0;
#X connect 71 0 26 0;
|