cv.jit.features getting the values of the feature coordinates


    Oct 18 2006 | 3:08 pm
    How can I extract the values of cv.jit.features? I need to output the locations of the features marked with the red crosses in my display window.

    • Oct 18 2006 | 3:30 pm
      I'm not at my computer right now, but I believe I use a combination of jit.unpack and jit.iter. Again, going it blind with that, but that should work.
      Keith
      On 10/18/06, Bart wrote: > > > How can I extract the values of cv.jit.features? > I need to output the locations of the features marked with the red crosses > in my display window. >
    • Oct 18 2006 | 3:52 pm
      my days work.. this extract bounds and centroid, sorted. anything else can be added make sure to apply forth !funky! ball after compiling the js as it responds to change.
      \save as router7.js\ autowatch=1; outlets=3; post("n__compiled__nnnnnnnnnnnn"); //store sorted labels and output var cvBlobsCentroids=new Array(); var cvBlobsBounds=new Array(); var cvSort=new Array(); var outOrder=new Array(); var changed=1; var blobNum=0; // function centroid(){ var a = arrayfromargs(arguments); //the first memeber of the cvBlobsCentroids array is //only so you see that it is sorted, you should delete it, same for bounds cvBlobsCentroids[cvSort[a[0]]]=[a[0],a[1],a[2],a[3]]; } // function bounds(){ var z = arrayfromargs(arguments); cvBlobsBounds[cvSort[z[0]]]=[z[0],z[1],z[2],z[3],z[4]]; } //recive packed and swaped sort to label matrix iteration function sort() { //create an funbuff array var v = arrayfromargs(arguments); cvSort.length=blobNum; outOrder.length=blobNum; cvSort[v[0]]=v[1]; }
      function bang(){ outlet(2,blobNum); if(changed) {//only sort on jit.change or cvSort.length change, //copy cv.blob.Sort array and numricly sort it. outOrder=cvSort.join(); outOrder=outOrder.split(","); outOrder.sort() changed=0; } for(i=0;i outlet(0,cvBlobsCentroids[outOrder[i]]); outlet(1,cvBlobsBounds[outOrder[i]]); } }
      2006/10/18, keith manlove : > > I'm not at my computer right now, but I believe I use a combination of > jit.unpack and jit.iter. Again, going it blind with that, but that should > work. > > Keith > > > On 10/18/06, Bart wrote: > > > > > > How can I extract the values of cv.jit.features? > > I need to output the locations of the features marked with the red > > crosses in my display window. > > > > > > >
    • Oct 18 2006 | 4:24 pm
      Thanks for your replies. I'm just a noob here. Your patch will take me days to understand Yair :)
      I am able to extract the coordinates of jit.features now thanks to you Keith.
      Let's say I want to save the coordinates of all the feature points of one object once (feature point 1 to the last one taken from a still image?) Later I want to compare the feature points of a new object in my camera view to the saved ones.
      What do I need to do this? Do I need to save them in a matrix or something like jit.cellblocks?
      What I would like is a match when for instance 80% of the points match the saved ones (with a margin because they never will be exact due to the live input).
    • Oct 18 2006 | 4:40 pm
      far from being my patch, this is a modded cv.blobs.sort help file. it will take me a few more years to make something this useful ;)
      as for detecting a change in a matrix... a simple way is to run jit.3m and watch the mean value of the matrix, i guess (and could be wrong) it could work but i am not sure. a matrix is a matrix. remember that comparing 2 pictures is a very complicated things, a tiny change in the angle, lighting,optics,etc gives totally different results. check other cv objects. like moments or recon 2006/10/18, Bart : > > > Thanks for your replies. I'm just a noob here. Your patch will take me > days to understand Yair :) > > I am able to extract the coordinates of jit.features now thanks to you > Keith. > > Let's say I want to save the coordinates of all the feature points of one > object once (feature point 1 to the last one taken from a still image?) > Later I want to compare the feature points of a new object in my camera view > to the saved ones. > > What do I need to do this? Do I need to save them in a matrix or something > like jit.cellblocks? > > What I would like is a match when for instance 80% of the points match the > saved ones (with a margin because they never will be exact due to the live > input). >
    • Nov 07 2006 | 2:39 pm
      Are there any demo or example patches that use cv.jit.blobs.recon besids the one in the tutorial?
      The tutorial example uses character recognition which makes it hard for me to understand how to use this object in a different way..for instance just recognizing a particular pattern on a single blob.
    • Nov 07 2006 | 4:39 pm
      i havnt tried the recon objects. you my have better luck with outside (opensourced) solutions like arttoolkit or reactables. the first offer full 6dof output of its trackers, the second offer udp output for integration into max.
      On 11/7/06, Bart wrote: > > > Are there any demo or example patches that use cv.jit.blobs.recon besids > the one in the tutorial? > > The tutorial example uses character recognition which makes it hard for me > to understand how to use this object in a different way..for instance just > recognizing a particular pattern on a single blob. >