cv.jit saving presets/parameters zones?
I have used especially Pelletier’s patch uploaded where you draw in one of the windows to produce active zones for triggers etc in the webcam window.
I added a cellblock which works well.
I have set up a preset box and have tried to store the zone information but am having no luck – connecting to cv.jit.blobs and jit.matrix.zones
I also tried to open an image to use for zones but did not have luck there either. I am new so forgive if this is basic.
I would like to set up zones of activation for my webcam and be able to save these as presets or parameters(and /or load an image to use for zones)
I tried a parameter file also but did not have success there either.
Thanks for any advice on this.
----------begin_max5_patcher---------- 3390.3oc2cs0iiaaE94Y+UPXr.8RbLDot2GJ1z.TTDzBDflWZyFLfVhisxJI 5JQOyNIH+2KIORislwxijMEWMA6tdFQIQeNe7vyMdH2e8c2rXM+yr5En+B5G Q2byu9tatQ2jpgaZt9lEEzOmjSq0O1hBVcMcCawR3dB1mE51wssTtuHqLmIz ONoow63kh5regoZKdkSSq6nhjsYkatshkH.hH12QdajeTn5GtjU9KQX+UNne 5P2y2KZ6ebSqPShG2wftYwhmdgrTM8wW+yeMlr3H5ojVne5EeSUFMeg5F+16 dm5ikWIVTK3ULjoPDWWMhDRzHRj5SigHglEP1UwpYhSx23ywgZVK.Gq4MGsD fmSurnWerX6WOZQVo9Gca3T.feKwBO5soTAE5MzOcA.PI6AYu9BAhcUZB5Lv xwhCXx4jGv9ZXJHTKV35o9jzOX47RdN1rC5I7hB1A16.SqnczcU7BzOWrikK onLVE56Xzxu9eQqRFLdb1oGXWPSAViCf1Cb3XfChcfi+ImlhJn6.DghtKKmY FHH1Qy79fhBL9Bv.LAaGUiYE63UhB98Yrkn0zxMFRIIn6v2WKLD4aTkjXhic DQ9aOhRqnOHYMDuDI1lUi1IuJk+vRzi78nDZIJohQELo7yuvKYJ4oUnukmy2 WUinRiNzzTVJ5NdEJMqdWN8QYOk+3RYmIuWhXOMGsK6yrbz8z78L3cdXKUn6 eIMwpjudVo94+3B82gD5VKm2tiVIYb4C7wEqP+mFpglWyaIIM81RUn80J1P9 HYER4.DKMSnaX2t7rDpHiWtpk+yyJYI78khiUtecSI7h.2HBzRBjXszgWznl Rfiryn9OnFZJT7OheGRM0PhS5Ao5k5QRFUpGUArqLi9hHsOD9dQ.13eApKvg 1Aa9GR4wknGXnZohi7GQaXBTUVpBnTRn2kUUKPIRaKssHkAE7MRIU4asMSha IR5ilUVquqCZcVoZxfTfOqFlUzHdKee.yg6tkdOq7OHTCGrzSKoRL3fgWqfJ 7iQNXDXM0SB5mzyhOfys.uz8o845o35I75AMs9Jsfs34x3L02POR2cPYWifx DWMv5QZrM505K8XfYeqAyEJnTJuqfyGxDa03mXqDi2xyUJ3aQvkRMv4Jk3zF 4V4u1H1pGmjZ2WmSS9j7UjbG35gpuzpo0CTSorM1UC2twNfyY3KQ31yVZgkV ux.0DETQU1mA.8AIxBF3RAixLTN6NAH1qLPq8xEI3H0PyAvUEHwjhs9ZIZW+ .H.fKBacsC19ukZsoGje0S6eRGPpzmhDs+.nuGT.+vVoVeP+txkComL2cmrk xDlZ.pfquIswAIseLfqO006KjiRpgBo1aTh7Y1vRWhZ91lT03w5PXIdAPZKB ujQCCGHRcdVJqpsOa4BhVfYbAni8fnLCa7qVekJJUy3dM14RXOvtsgBhrgAi g.ods.nH8weMocPGWyIYUGKE68OvQqebm7ojy6Vueixi9uKSHcdWaWtjASSj 9FcOqRn90OtHmWtQ4Z+GWHm3Hcxu0HTi25podkbkiQko4xWeWEeGqREZQIup PZE5QvOss784oJSP54fxdNkqmnNkV2wMBlwdGkDfQZc2wRdz98rJo5uhFUa0 6WKpnZ0eKA8YYpgL4nxiZWdkZ0VW29DqVsxT4LAxzV3kmzDrikb57aOHitoh 8XcB0ToMow6DLnyFeYnfg8Irm7G9yYhU7cnOH+2eF8AoIO4fluYxbhWTL3Gg 5y3nKUymjBuEbaRo.rGketVCrZ7fCiTZ0j1icjllcLiXSPzQ5ZjSClTDiXaw q+Zi3kiYjt.vxEqUz7pYZ3ZvpXCGmfBSTIVXcNO4SsccBO+grTwVchpZo1Jt zgUZ5wBS5lx1rEbvz6bPojWK3orKKp1.Xsxznqa.rf.wiecSxkAyqA11+8TG HYXfZ88OAjetbFe.I5LMS1gOAVS4TdIAi9v9ZVcURZVgr0O.+VsfJMl7zkrx zdUkdgZF7g0uhD4NkR6NVSwvgL87DzFf9.cufmjynU8rLmWH34Q.cDANSH3E YImv+6O2EOzerMp2+jY.Mevfs6k6ASTj4Ua1rlEcVY0RgNJhic+BCKbmq2Jh iWnTcpxNMDE8yVNyAEjpWSZs8e0taHhQ8K7DNQ90YTCtf2IvpgMUyhBrs2bp 7pUank.AJlh.MLAgAMUvjchPPfxQqMolXWOxQUfS3kMCp2DgD48EQ3YRBHHD RucfCDXf6TZ2OxNgPkb+JEzoyQgz9kQCbBlsED+JnDd.nzIQHKUiW8WoSiVm cDr3eisl21lklxJGe9Viv1TFRF+z55UR294Ulc5FTzXg9SjbTXjcjizNQaH4 HnHXbg3rMbsS5Y3HNVuWH3kisTAaYwfv1xd6rE+VurXuFlbCMYD.eScc1lRj bFBJAJRGC49RyBXCvvE43uqkVW0+6gRHxr7NrjMWFu6Zqb8Whz7jQYbB9xYb 6jOwc5xX6198W28BU56GE.095Doz2040ynkl5jBy.pz.KxWHKmcOqpVFj6QT vMKNJac9Gb7IvCJx4nizcIA6MpjMxROZz6lEor6FSev2wJO775mnyGcexrxi iN+4euz84haO4XT2aeGMg066dRT7lEapxR4kJZnyapZt8a6G0Vu5ZCq4IJo6 NwKK3770zp6ypyVmy5LLHkiokYxgdlHCnGhySuWVATf1G2WrRprO1VmTwyy6 zUvct+D2IkceVB6oLD6b.s5rMKNRroyLrNsetYZcms8UOkBtd8gn+Ia8WvTf sUHy8uLJv9mz0+Ji24cOt.rcV7Lx7DZltoU6D7KKuPbrqaXcAx0UaVibT+w7 3oqGDvCrxq93WHWOR7rWvDaQv7LBk4bZ5Qk2cul+tbjDRen2KVwxwhjcbEru 8GyWXIScPBcpWdSNUGpfLba5SmJIyfYgfo3ozjYPYxFTCDII3IUjzcV.iURh lgNN3UiCmPgI36N.zjbVAxkmSc4r.M2QS9DX4Q9m9sl6eo.J.kDHkImXw0Lm 0mnYAd9UlWKItoz7sgCQ3fe2hhA1ysRb3r.E+5I.EId1CE8+8JJ1nTzJfn2r .D2WpLzXd60.RhgscYS0geEFraph5yBntyCGy2QkTIWUwbuGidOA8dWz68Pu 2G96T4wdijqeyYAP7zELIYVH2pVGIYr4j78EzoR500grJLJNzw8T0MwXEg6Y ob66zG3KO7lmjh7TaYlpms33FGnIg5eD6YIL1hhvZLpWbaPA830rU4Z+7RmR 2bxWzKnzwCy10uPc2YCdfcbMIfb1DPFN+Qi3.qgFQ1.M.RZPJYN01sCVJLop jVc1CBSb5giiGCGeXoHTakodxpullU2+zPQMeeUR6fQaNvQcI8TVsHq7oEl4 GODgsTS8wO3gBA4X9qHKcGWNNWe7wYyqN3MZ5NZfz8IXvujzMdn3MYVQ1gCU JYdg1AuIAa2AR0AyKI6AR0tyNpFODA64EYSFpjMddQ1Cjp8mWxHj2jpQvCUO hJKQyM5dPyI8eiR2AuQkSBmWzcvXbc0c9P2gigtIyG51eLzMd9P2digtmQx2 CMDG77xtCIbL1cvuAoa+2nzc3aT5NXVQ2CUMnJ6NFaZYSiR5u4XUhdOK8V4W CKQbKUHpxVuW.IE53pC9rUK6lb9ZZdScE+T1oWLhho8jc6.Jb2Sb69xPNfAe AOilZ25Gvw0xfOiljekYE6KNaUgexisIIiz9hm7zOfX5M14DfUDrcvpigE6r ECf5OSxD0Litsx7gsDbvEukf6+vbI9K1Nsu8PpoYegc8axdWmvocW165a3cA 7yV9XyrUV87OyRFaxyAHKc3bWKILIiValsiHwwckmCwMzaIJFVKOhYOWtcr0 Vzj2iVFx3O0NidFlX3sook10p5sdiYPDr6zhH16Xp3+IVsohtts.JPe3d0I6 Dhf9v9xr+2dlAOpbZQLLw8HU6Sj5GCuSQE7MadkyvuyyzvAc0ku4e66+KPbM n7PASTwQDCcnt38DuC0PiG9R2.j8ezjNrAY8q1cguAT54Qu0fUmOps9VZpNq d4KiV6zQp8hAtgRRcyayPVJjImjBmcTzPF2BirJIEiG.MEaYQImAPSQtiinh IQJSh9v+k+DA08Y2qBfpkJLNV8j5qtVVAODVQehFaS.9Yee8Ln2IilSufn2f PpQNpGFpFJcgC2Mu.33XpyUvN2yKVKcnt3pAW2gH8FZ4QbxPGwsGQEQFzHNw pDk6Tn64ZAJ2YncigLcMxtBTwCYr6YF7l7wtAop0t9pEELjwNKaSZH9gDYWc AQCwesnfwYlLFqsHAmSYXYD5sWcsDq2PIVKBfccgnGZxt9f6NjvBh5SIAdZv I70nfeZnom800SPlibrq00ZXGr5Ao.t6UpzhqcHC7by45mY34bMgKOMnKNd9 EBOgLTZBaMbhL3TcPrFM45O.sZXaGR2.voQ5MFASVE2liTbvJu.WhW7RULUu r4qUCn4IebPW5zONzy0+EjOz7UR9AS.4S5h9NXeb3KIen4qU5w7j+0pydHgF ZWO4GRPXWCEIu32d2+GvT3iQF -----------end_max5_patcher-----------
you’ll need to use some sort of intermediate storage for the zones, even just number boxes. cellblock won’t work with preset as it’s way too complex of an object. plenty of other options, just get your values and scale as needed, store in number boxes, use preset on those to re-populate them back in. avoid stack overflows, you’ll probably need a "set $1" on each to do things, depending on how you set it up.
pattr will also work for these, but preset is quicker to set up. if you don’t need interpolation between stored slots, use preset.
come to think of it, if your values are already as matrices (which sounds like you’re putting them into jit.cellblock), you can store them in jit.matrixset too. tons easier especially if you have a lot of values to store.
thanks very much for your suggestions.
Somehow I had not thought of storing the zones
as matrices. I will look into the jit.matrixset
and other suggestions as well.
I appreciate it!
I got it working after some tweaking.The subpatches were throwing me. I have the matrixset now getting fed from the [p draw zones] which has turned the image into a 1 plane matrix gray from what I gather. I feed the matrixset back into the [jit.matrix zones] , bang it and it loads beautifully. Thanks very much.
I wish there were a way to just store and load the matrices without the file dialogue box routine. I’m thinking the best option there would be to make separate patches with different zones loaded already if I can swing that.
Do you think that would be best? I’m looking at something for possible live performance.
Thanks again for your assistance. I was happy to get it reading and writing the zones!
great to hear you got it working! the matrixset is well-suited for this.
If you want "sets of sets of matrices" :) then a different saved matrixset for each would be good. Though you can make them huge if you want, so you could access indices 0-99, 100-199, etc., all in one big one.
I personally wouldn’t use separate patches unless you want them running simultaneously, or if you want ones with different controls. To avoid the dialog box routine you should just be able to give the "read" and "write" messages the filename as the argument, no need for .matrixset extension. So while developing, save your banks, then you can loadbang them in with "read my_set_5" if there’s "my_set_5.matrixset" in the patch folder.
For more trickiness with saving and loading, like consecutive filenames, [sprintf] is your friend, as it could replace the "5" in the example above with a generated number.
Great ideas. I had used the readfile object in PD with a soundfile but had not thought of it with the matrixset. Very cool idea.
This is great as I think just a couple matrixset files would be nice to have for variety of response. I plan to have movement in the zones trigger sound work first and perhaps try to map a room with the webcam. I also want to tie in a midi foot pedal to trigger the load matrix sequences for a potential live event. We’ll see how it goes!
Thanks again for your very helpful comments and suggestions !
very cool, hope it works out! the MIDI foot pedal should be simple to use with [ctlin]. maybe it could cycle through the matrixset indices, etc…
For a recent project which needed quick reading of image files from a folder, jit.qt.movie was creating short but noticeable pauses in the overall action when changing to the next file. jit.matrixset makes switching virtually instantaneous, which was great to see (and is the reason it exists it seems :)