Forums > Jitter

New to Jitter

March 30, 2006 | 3:19 am

Hi!

I’m trying to develop a fairly simple instalation for a graduation exhibition for my university. A camera monitors the visitor’s movement. The video that is projected shows only moving objects extracted from the static background. A couple of years ago a visiting artist showed me a jitter object that separated the moving objects from the static ones in a single video window. I have searched through all jitter’s 1.5.2 objects and I can’t find any such object.I have worked a little with MAX but with Jitter i’m a complete newbie.

Can any one tell me if that object exists as an external and where i can find it? or If anyone can help me out with an alternative method I would appreciate it very very much!

Thanx

Mariel


March 30, 2006 | 8:32 pm

I don’t know of a specific object that does this all in one (might be
a freeframe plugin somewhere or third party object), however the
Jitter objects are designed to be low level enough that it should not
be hard to build a typical background subtraction algorithm with a
handful of objects. I believe a few have been posted to the archives
(search on background subtraction, background elimination, or
difference keying in the Jitter and MaxMSP forum archives):

http://www.cycling74.com/forums/index.php?t=search

I’ve attached a crude example to the fundamental strategies involved
in background elimination below. You may also want to check out the
cv.jit objects for motion tracking:

http://www.iamas.ac.jp/~jovan02/cv/

Hope this helps.

-Joshua

#P window setfont "Sans Serif" 9.;
#P flonum 697 161 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P window linecount 1;
#P message 697 182 42 196617 rate $1;
#P message 666 182 28 196617 read;
#P flonum 637 161 35 9 0.5 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P toggle 603 161 15 0;
#P newex 603 181 44 196617 metro 2;
#P newex 603 221 104 196617 jit.qt.movie 320 240;
#P newex 415 268 69 196617 jit.alphablend;
#P user jit.pwindow 414 292 322 242 0 1 0 0 1 0;
#P newex 415 216 131 196617 jit.pack @out_name charlie;
#P newex 438 143 88 196617 jit.matrix charlie;
#P window linecount 6;
#P comment 181 549 140 196617 this mask could be improved using erode/
dilate morphological operations. see jit.convolve-morphop.pat example
or Jean marc Pelletier’s cv.jit externals;
#P window linecount 2;
#P comment 100 405 153 196617 average color components and work with
greyscale difference;
#P window linecount 1;
#P newex 16 434 235 196617 jit.rgb2luma @rscale 0.3 @gscale 0.3
@bscale 0.3;
#P user jit.fpsgui 16 678 60 196617 0;
#P message 179 65 45 196617 settings;
#P message 137 65 32 196617 close;
#P comment 182 523 100 196617 mask;
#P comment 154 457 100 196617 threshold;
#P user jit.pwindow 15 512 162 122 0 0 0 0 1 0;
#P flonum 111 457 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 16 480 111 196617 jit.op @op > @val 0.15;
#P window linecount 2;
#P comment 226 164 162 196617 background averaging coefficient
(larger values smoother);
#P flonum 183 168 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P window linecount 1;
#P message 183 193 133 196617 slide_up $1 , slide_down $1;
#P newex 94 214 171 196617 jit.slide @slide_up 2 @slide_down 2;
#P toggle 94 144 15 0;
#P newex 94 164 27 196617 gate;
#P newex 16 239 88 196617 jit.op @op absdiff;
#P message 94 65 29 196617 open;
#P flonum 50 45 35 9 0.5 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P toggle 16 45 15 0;
#P newex 16 65 44 196617 metro 2;
#P newex 16 103 95 196617 jit.qt.grab 320 240;
#P user jit.pwindow 15 268 162 122 0 0 0 0 1 0;
#P comment 184 279 100 196617 difference;
#P window setfont "Sans Serif" 18.;
#P comment 146 27 496 196626 crude example of background elimination.;
#P window setfont "Sans Serif" 9.;
#P window linecount 2;
#P comment 125 132 176 196617 to set background , open gate for some
period of time and then close gate;
#P comment 458 107 195 196617 using named matrix charlie to
efficiently merge alpha channel in jit.pack below;
#P connect 19 0 24 0;
#P fasten 19 0 29 0 21 646 384 646 384 205 420 205;
#P connect 38 0 37 0;
#P connect 35 0 33 1;
#P connect 37 0 32 0;
#P connect 36 0 32 0;
#P connect 33 0 32 0;
#P connect 34 0 33 0;
#P fasten 32 0 31 1 608 253 479 253;
#P connect 5 0 10 0;
#P fasten 5 0 11 1 21 128 116 128;
#P fasten 5 0 28 0 21 123 443 123;
#P connect 31 0 30 0;
#P connect 29 0 31 0;
#P connect 15 0 14 0;
#P connect 18 0 17 1;
#P connect 13 0 10 1;
#P fasten 14 0 13 0 188 211 99 211;
#P connect 11 0 13 0;
#P connect 12 0 11 0;
#P connect 8 0 6 1;
#P connect 17 0 19 0;
#P connect 25 0 17 0;
#P connect 4 0 25 0;
#P connect 10 0 4 0;
#P fasten 6 0 5 0 21 96 21 96;
#P fasten 9 0 5 0 99 91 21 91;
#P fasten 22 0 5 0 142 91 21 91;
#P fasten 23 0 5 0 184 91 21 91;
#P connect 7 0 6 0;
#P window clipboard copycount 39;


March 31, 2006 | 4:44 am

Thanks for the help! I’ll let know how I’m doing with this project.

M.


Viewing 3 posts - 1 through 3 (of 3 total)