I’m using a Kinect camera with the synapse app to convert a person’s silhouette into something akin to a wireframe. What I want to create is a patch that will allow me to take a "snapshot" of the current frame and then keep it as a part of continuing a video feed, allowing me to stack more and more of these snapshots on top of each other. Another way I like to think of it is like a video stamp. Anyways, This seems like it should be relatively simple but I’ve been racking my head about it and am a bit stumped as where to start. Maybe spitting out the greyscale data into lists each time it’s triggered, feeding those into separate matrixes and then creating some sort of cascading jit.op + object loop? Any thoughts or ideas are greatly appreciated.
have you looked at [counter-]>(index $1)->[jit.matrixset @thru 0] to store the snapshots in an indexable array / once stored, somehow output them iteratively –not sure how to layer them though…
So I finally got some free time to tackle this. I came up with a patch that is much simpler then I expected. The video feed goes to a gate that’s triggered open with a bang and then triggered shut with a 30 ms delay. That feeds a single frame into a jit.op+ object which feeds back into itself to stack the images as they are triggered. This is then added to another jit.op+ object which combines with the original video feed. A fillplane 0, 0 message sent to all the matrixes clears the snapshots. It works fine but I’m not loving the the gate bang/delay bang system for capturing frames. Anyone have a better idea?
The bang for snapshots opens the gate (1) and when the gate outputs a matrix, the gate is automatically closed (0).
----------begin_max5_patcher---------- 965.3oc2YssbZCCD8YxL8evim9VoL5lu0mZ6uQmNYLfBnL1VN1hFZyz+8JKY SLIfQPrkI8APitXqydX2ytR7zGtYh6b9VZoqyWb9gyjIOIGYhZrpQlzLvD2z 3sKRhKUKzMkVVFuh5NsdRAcqPMAb2P4whEqYYqtsftPne6n.vLvTGnmpAil4 I6DNC37ylGJaSJKKgJT6BpYz63Yhr3TpZG9VAKNws0Cv2HZdBXyvrkp0xme+ mgA6VrdkhemS03w084ctZOJY+QMCDMCnF9ue3lpVYyz2N0.5jZPdi.0fsK0L eiPvy5hFvgAU1e.p5aRPy2GgEflap3N7BlGmsRZtWrYsfmlRyDu9W7uKewNB tyhDZbgSYVbd4ZtDiml.HjVdCHvoY.i8C.Ghb7c68eq6lTtiaHefHQUgB07Q UDgM3CR+yGYzGku5WSG2yDyRiEErsNDmEqk9I9DfCIDXfPJhn0SwQ8NsfNDs fNdLjzLtUaFtSGFwidk.wZYVrc4O3+M7WsCHF5YSBDEdsRf7bmuJ+7ISBZ0M AdmfxP8CkE7dlxzwmHOOaxXiZTZEyj+HKaI+QSh+70BXQg5xEhN2RkNDA.6H Jq1r6cGhUwBpImbHR4CfI8tmvAKO1+Zq738zN5yxigngq73AHwMDa27Nf2AR B31JBH.nOUD7FNEgidb4RAOuK6EhHOGKfwJycvOvLvtJBB9pUITChG1kZzrn gSaocjCfIOU2.HG7PJUTvkFzoMWhxb88rRV.+SpLZuqPpfFuz4icdGa9sxP3 AsRTgmcCJ5JexCxTJ7ewnmQpDfNUBzyJoRF0hKOpe0crjj7j3LpijC.Fb+TP bvytYCtCFFbkbEtzs47BAKUNoy84zUcwTDcMJnPMGArSFJbXePU5E5lvxd0e LfxRql3EDXIeSwhlcp4d2cZYrKokBVVrfIKws0p72eUqYKWRy16h4RYKy4xj N0HoqTOlCNjQfKXb.GdXXNj7bSp+Vg56gHZWu9A19FAa7YCaMPQ0k2fP5l18 f5yB0Xf5yD0ClDxHe3pqkZDbSd41dDvUYBvKfuwDkhEAhzG4tcOjudPoDmWc udwjvHiMoQfuMyY.dg7MJp9Ls9GnGwupWj2tN8iEAL1hFA5FZB3viC3LJzab RsYlJ7n.MuqWngCuhU5wFo7fAiC3LJNE5MNfyHEtWl14zfCGo0kwPUSsBdUO aBa3kB65qQ+47NVD0meLz9ntc5RKVGEbjJxCX7YAfmGmppTNRWEcDYWOKdTf yOrqe.G35MMjQZon2tPe0.xl+0CxGOI -----------end_max5_patcher-----------