max v2; #N vpatcher 651 92 1666 862; #P origin 48 110; #P toggle 41 268 15 0; #P window setfont "Sans Serif" 9.; #P comment 123 254 31 196617 close; #P comment 82 254 27 196617 open; #P user jit.pwindow 40 327 162 122 0 1 0 0 1 0; #P newex 731 149 46 196617 s totext; #P newex 518 150 46 196617 s totext; #P newex 731 125 86 196617 prepend setntext; #P newex 518 127 86 196617 prepend setptext; #P button 122 269 15 0; #P button 81 269 15 0; #P flonum 160 269 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #N vpatcher 640 102 1908 928; #P outlet 213 681 15 0; #P inlet 102 38 15 0; #P inlet 69 38 15 0; #P inlet 129 38 15 0; #P inlet 30 38 15 0; #P window setfont "Sans Serif" 9.; #P window linecount 0; #P newex 422 567 48 196617 s render; #P user jit.pwindow 302 599 162 122 0 1 0 0 1 0; #P number 489 377 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #N vpatcher 555 166 1277 739; #P origin 107 0; #P window setfont "Sans Serif" 9.; #P newex 352 297 61 196617 slide 15 15; #P newex 282 296 61 196617 slide 15 15; #P newex 287 415 81 196617 pak setpos 0. 0.; #P newex 306 359 64 196617 unpack 0. 0.; #P flonum 444 331 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 242 316 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P outlet 268 449 15 0; #P newex 300 329 54 196617 pack 0. 0.; #P newex 341 269 104 196617 scale 0. 240. 1. -2.7; #P newex 228 268 98 196617 scale 0. 320. -1. 3.; #P inlet 498 94 15 0; #P inlet 12 74 15 0; #P outlet 79 439 15 0; #N vpatcher 728 178 1328 578; #P outlet 179 350 15 0; #P window setfont "Sans Serif" 9.; #P newex 184 322 91 196617 pack dim 320 240; #P newex 182 292 45 196617 onebang; #P window linecount 1; #P newex 247 246 27 196617 t b i; #P window linecount 0; #P newex 197 245 27 196617 t b i; #P window linecount 1; #P newex 247 223 40 196617 change; #P window linecount 0; #P newex 197 221 40 196617 change; #P newex 200 191 40 196617 unpack; #P newex 177 157 27 196617 t b l; #P newex 178 126 53 196617 route dim; #P newex 174 99 72 196617 jit.matrixinfo; #P inlet 176 71 15 0; #P connect 0 0 1 0; #P connect 2 0 3 0; #P connect 1 0 2 0; #P connect 10 0 11 0; #P connect 3 0 9 0; #P connect 9 0 10 0; #P connect 4 0 5 0; #P connect 5 0 7 0; #P connect 3 1 4 0; #P connect 7 0 9 1; #P connect 8 0 9 1; #P connect 7 1 10 1; #P connect 4 1 6 0; #P connect 6 0 8 0; #P connect 8 1 10 2; #P pop; #P newobj 530 170 32 196617 p adj; #P newex 500 129 40 196617 t 0 l l; #P message 377 113 56 196617 dim \$1 \$2; #P newex 377 58 48 196617 loadbang; #P newex 377 85 64 196617 patcherargs; #P message 30 130 14 196617 1; #P newex 244 158 47 196617 gate 1 1; #P newex 150 265 27 196617 + 5; #P newex 118 266 27 196617 - 5; #P newex 85 266 27 196617 + 5; #P newex 54 266 27 196617 - 5; #P newex 54 311 66 196617 pack 0 0 0 0; #P newex 153 230 29 196617 sqrt; #P newex 153 208 52 196617 / 3.1415; #P message 54 342 155 196617 frameoval \$1 \$3 \$2 \$4 0 255 0; #P newex 79 413 111 196617 jit.lcd 4 char 320 240; #P newex 12 101 94 196617 t b l clear; #P newex 54 184 67 196617 unpack 0 0 0; #P newex 54 158 51 196617 jit.iter; #P connect 20 0 2 0; #P fasten 2 0 13 0 17 126 35 126; #P connect 2 1 0 0; #P connect 0 0 1 0; #P connect 1 0 8 0; #P connect 8 0 7 0; #P connect 7 0 4 0; #P connect 6 0 8 1; #P connect 9 0 7 1; #P fasten 2 0 3 0 17 398 84 398; #P fasten 16 0 3 0 382 388 84 388; #P fasten 12 0 3 0 249 378 84 378; #P fasten 17 1 3 0 520 393 84 393; #P fasten 18 0 3 0 535 401 84 401; #P connect 4 0 3 0; #P connect 3 0 19 0; #P connect 1 0 9 0; #P connect 10 0 7 2; #P connect 6 0 9 1; #P connect 11 0 7 3; #P connect 1 1 10 0; #P connect 6 0 10 1; #P connect 1 1 11 0; #P connect 1 2 5 0; #P connect 5 0 6 0; #P connect 6 0 11 1; #P connect 1 0 22 0; #P connect 22 0 26 0; #P fasten 13 0 12 0 35 153 249 153; #P fasten 17 0 12 0 505 152 249 152; #P connect 29 0 25 0; #P fasten 2 2 12 1 101 134 286 134; #P connect 22 0 30 0; #P connect 30 0 24 0; #P connect 24 0 28 0; #P connect 28 0 29 1; #P connect 1 1 23 0; #P connect 31 0 24 1; #P connect 23 0 31 0; #P connect 28 1 29 2; #P connect 15 0 14 0; #P connect 14 0 16 0; #P connect 23 0 27 0; #P connect 21 0 17 0; #P fasten 17 2 18 0 535 159 535 159; #P pop; #P newobj 303 567 41 196617 p draw; #P message 489 405 46 196617 plane \$1; #P user jit.cellblock 489 433 818 535 3 9 3 1 45 17 0 1 1 0 0 0 1 1 1 0 0 0 255 255 255 0 0 0 0 0 0 191 191 191 0 0 0 215 215 240 1 1 1 0 4 0 0 0; #P hidden newex 388 171 35 196617 t 172; #P window linecount 2; #P newex 30 333 129 196617 cv.jit.label @charmode 1 @threshold 20; #P window linecount 1; #P message 329 116 81 196617 read arrows.gif; #P user jit.pwindow 316 258 162 122 0 1 0 0 1 0; #P number 129 241 35 9 0 255 3 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 30 274 109 196617 jit.op @op < @val 172; #P newex 30 447 132 196617 cv.jit.blobs.centroids.draw; #P newex 30 240 66 196617 jit.rgb2luma; #P user jit.fpsgui 30 619 60 196617 0; #P window linecount 3; #P comment 174 245 102 196617 Convert to greyscale and threshold to obtain binary image.; #P window linecount 1; #P comment 271 93 135 196617 Use movie file input; #B frgb 255 255 255; #P comment 50 93 135 196617 Use live camera input; #B frgb 255 255 255; #P user jit.pwindow 29 489 162 122 0 1 0 0 1 0; #P newex 30 397 106 196617 cv.jit.blobs.centroids; #P message 334 145 29 196617 stop; #P message 299 145 33 196617 start; #P message 267 145 30 196617 read; #P toggle 252 94 15 0; #P newex 252 118 46 196617 metro 2; #P newex 252 173 105 196617 jit.qt.movie 160 120; #P message 136 144 46 196617 settings; #P message 101 144 33 196617 close; #P message 69 144 30 196617 open; #P toggle 30 93 15 0; #P newex 30 117 46 196617 metro 2; #P newex 30 172 195 196617 jit.qt.grab 160 120 @vmode 2 @unique 1; #P user panel 22 86 214 118; #X brgb 111 127 126; #X frgb 0 0 0; #X border 0; #X rounded 0; #X shadow 0; #X done; #P user panel 239 86 187 118; #X brgb 111 127 126; #X frgb 0 0 0; #X border 0; #X rounded 0; #X shadow 0; #X done; #P user panel 22 231 274 80; #X brgb 247 248 248; #X frgb 149 55 55; #X border 1; #X rounded 0; #X shadow 0; #X done; #P user panel 17 388 131 34; #X brgb 219 224 220; #X frgb 255 255 255; #X border 1; #X rounded 0; #X shadow 0; #X done; #P user panel 25 234 275 81; #X brgb 182 192 184; #X frgb 198 198 198; #X border 0; #X rounded 0; #X shadow 0; #X done; #P user panel 25 89 405 119; #X brgb 182 192 184; #X frgb 198 198 198; #X border 0; #X rounded 0; #X shadow 0; #X done; #P window linecount 4; #P comment 166 322 102 196617 You MUST label the image with "charmode" set to 1 before processing!; #P user panel 20 317 275 60; #X brgb 247 248 248; #X frgb 149 55 55; #X border 1; #X rounded 0; #X shadow 0; #X done; #P user panel 23 320 276 61; #X brgb 182 192 184; #X frgb 198 198 198; #X border 0; #X rounded 0; #X shadow 0; #X done; #P window linecount 6; #P comment 205 451 190 196617 The utility abstraction cv.jit.centroids.draw superimposes centroid and mass information on the image sent to its right inlet. The area of the green circles is the same as that of the underlying blob.; #P user panel 18 437 392 103; #X brgb 247 248 248; #X frgb 149 55 55; #X border 1; #X rounded 0; #X shadow 0; #X done; #P user panel 21 440 393 104; #X brgb 182 192 184; #X frgb 198 198 198; #X border 0; #X rounded 0; #X shadow 0; #X done; #P window linecount 1; #P comment 22 69 100 196617 Life Video; #P connect 45 0 15 0; #P connect 15 0 14 0; #P connect 14 0 13 0; #P fasten 16 0 13 0 74 165 35 165; #P fasten 17 0 13 0 106 165 35 165; #P fasten 18 0 13 0 141 165 35 165; #P connect 13 0 31 0; #P fasten 19 0 31 0 257 220 35 220; #P connect 31 0 33 0; #P connect 33 0 37 0; #P connect 37 0 25 0; #P connect 25 0 32 0; #P connect 32 0 26 0; #P connect 26 0 30 0; #P connect 47 0 16 0; #P connect 48 0 17 0; #P hidden fasten 38 0 34 0 393 214 134 214; #P connect 46 0 34 0; #P connect 34 0 33 1; #P fasten 33 0 32 1 35 298 306 298 306 407 157 407; #P connect 32 0 49 0; #P connect 21 0 20 0; #P fasten 36 0 19 0 334 137 372 137 372 166 257 166; #P fasten 24 0 19 0 339 166 257 166; #P fasten 23 0 19 0 304 166 257 166; #P fasten 22 0 19 0 272 166 257 166; #P connect 20 0 19 0; #P connect 41 0 43 0; #P fasten 33 0 35 0 35 298 287 298 287 225 322 225; #P fasten 33 0 41 1 35 429 339 429; #P hidden fasten 36 0 38 0 334 145 393 145; #P fasten 25 0 44 0 35 434 427 434; #P connect 42 0 40 0; #P connect 40 0 39 0; #P fasten 25 0 39 0 35 423 494 423; #P pop; #P newobj 41 301 42 196617 p video; #P message 563 467 23 196617 0.3; #P newex 563 440 48 196617 loadbang; #P flonum 178 509 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 34 581 48 196617 s render; #P flonum 141 509 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 102 509 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P flonum 63 509 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 34 549 129 196617 pak windowrect 0. 0. 0. 0.; #P comment 32 55 29 196617 start; #P comment 311 224 65 196617 database; #P button 532 467 15 0; #P flonum 563 494 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 533 564 50 196617 s tocolor; #P newex 533 529 101 196617 pak setcolor 0. 0. 0.; #P comment 622 58 58 196617 Bad words; #P newex 622 100 84 196617 unpack 0. 0. 0. a; #P newex 622 76 56 196617 r negative; #P newex 622 149 50 196617 s tocolor; #P newex 622 125 101 196617 pak setcolor 0. 0. 0.; #P newex 411 101 84 196617 unpack 0. 0. 0. a; #P newex 395 439 80 196617 prepend symbol; #P newex 337 131 50 196617 r tocolor; #P newex 282 534 46 196617 s totext; #P newex 282 502 81 196617 prepend settext; #P newex 411 77 54 196617 r positive; #P message 453 473 41 196617 wclose; #P message 418 473 30 196617 open; #P newex 395 631 47 196617 forward; #N coll ; #T flags 1 0; #T store happy send positive \, 0. 0.6 0.3 happy; #T store nice send positive \, 0. 0.6 0.3 nice; #T store good send positive \, 0. 0.6 0.3 good; #T store maowei send negative \, 0.7 0 0.4 maowei; #T store monster send negative \, 0.7 0 0.4 monster; #T store sick send negative \, 0.7 0 0.4 sick; #P newobj 395 499 53 196617 coll; #P newex 395 356 56 196617 route text; #P newex 428 294 40 196617 t clear; #P newex 395 241 43 196617 r space; #P newex 456 356 43 196617 s space; #P button 395 295 15 0; #P user textedit 395 325 528 342 32900 3 9; #P newex 395 265 38 196617 sel 32; #P newex 231 131 48 196617 r render; #P message 155 132 70 196617 compile; #P message 62 133 91 196617 autowatch 1; #P number 78 77 100 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 31 104 57 196617 qmetro 50; #P toggle 31 76 15 0; #P newex 31 169 111 196617 js maoweitext1801.js; #P newex 286 131 46 196617 r totext; #P newex 411 150 50 196617 s tocolor; #P newex 411 127 101 196617 pak setcolor 0. 0. 0.; #P comment 411 59 60 196617 Good words; #P newex 395 527 27 196617 t b l; #P newex 412 555 62 196617 prepend set; #P window linecount 2; #P message 395 588 97 196617 send negative \, 0.7 0 0.4 maowei; #P window linecount 1; #P comment 563 421 65 196617 default color; #P user panel 616 49 204 123; #X brgb 191 191 191; #X frgb 0 0 0; #X border 1; #X rounded 0; #X shadow 0; #X done; #P comment 31 192 140 196617 render.screentoworld(x \, y); #P comment 33 477 76 196617 Window Frame; #P comment 40 254 30 196617 input; #P user panel 24 466 199 143; #X brgb 191 191 191; #X frgb 0 0 0; #X border 1; #X rounded 0; #X shadow 0; #X done; #P comment 34 227 51 196617 Life Video; #P user panel 25 219 198 237; #X brgb 191 191 191; #X frgb 0 0 0; #X border 1; #X rounded 0; #X shadow 0; #X done; #P user panel 403 49 207 123; #X brgb 191 191 191; #X frgb 0 0 0; #X border 1; #X rounded 0; #X shadow 0; #X done; #P user panel 25 49 372 165; #X brgb 191 191 191; #X frgb 0 0 0; #X border 1; #X rounded 0; #X shadow 0; #X done; #P connect 18 0 19 0; #P fasten 16 0 17 0 291 158 36 158; #P fasten 23 0 17 0 236 165 36 165; #P fasten 22 0 17 0 160 161 36 161; #P fasten 21 0 17 0 67 157 36 157; #P fasten 38 0 17 0 342 158 36 158; #P connect 19 0 17 0; #P connect 52 0 56 0; #P connect 71 0 60 0; #P connect 60 0 68 0; #P fasten 62 0 60 1 86 292 56 292; #P fasten 63 0 60 2 127 292 66 292; #P fasten 53 0 52 1 68 536 68 536; #P fasten 61 0 60 3 165 292 76 292; #P connect 20 0 19 1; #P fasten 54 0 52 2 107 536 97 536; #P fasten 55 0 52 3 146 536 126 536; #P fasten 57 0 52 4 183 536 155 536; #P fasten 30 0 36 0 400 412 287 412; #P connect 36 0 37 0; #P connect 28 0 24 0; #P connect 24 0 26 0; #P fasten 29 0 25 0 433 318 400 318; #P connect 26 0 25 0; #P connect 25 0 30 0; #P connect 30 0 39 0; #P fasten 33 0 31 0 423 493 400 493; #P fasten 34 0 31 0 458 493 400 493; #P connect 39 0 31 0; #P connect 31 0 12 0; #P fasten 11 0 10 0 417 582 400 582; #P connect 12 0 10 0; #P connect 10 0 32 0; #P connect 35 0 40 0; #P connect 14 0 15 0; #P connect 12 1 11 0; #P fasten 30 0 29 0 360 373 360 290 433 290; #P fasten 40 0 14 1 416 122 446 122; #P connect 25 1 27 0; #P fasten 40 1 14 2 440 122 476 122; #P fasten 40 2 14 3 464 122 506 122; #P fasten 40 3 64 0 488 122 523 122; #P connect 64 0 66 0; #P fasten 30 0 49 0 400 413 537 413; #P connect 46 0 47 0; #P connect 58 0 59 0; #P fasten 49 0 48 0 537 491 568 491; #P connect 59 0 48 0; #P connect 48 0 46 1; #P fasten 48 0 46 2 568 516 598 516; #P connect 43 0 44 0; #P connect 41 0 42 0; #P fasten 48 0 46 3 568 516 628 516; #P fasten 44 0 41 1 627 121 657 121; #P fasten 44 1 41 2 651 121 687 121; #P fasten 44 2 41 3 675 121 717 121; #P fasten 44 3 65 0 699 121 736 121; #P connect 65 0 67 0; #P pop;