I'm trying to detect fingers using the hand_interaction package. When I place a callback inside of detect_hands_wskel.cpp and check the hand array (and then the fingers array), it keeps reading zero. Any idea what I'm doing wrong here? This is what the callback looks like:
I have had the same problem before but I have solved it by edit some value in this piece of code :
in function void radiusFilter(int nnthresh, double tol) of analyze_hands.cpp :
//TODO: this is good for face-on, but not great for tilted hands
this functions will separate palm and digits by look at each point of the hand point cloud, If number of points around that point ( within radius tol</b> ( 2nd parameters )) is bigger than (530-500*distfromsensor), this point will belong to palm and vice versa.
replace 530 and 570 with your value ( may be the size of the cluster depends on people ) or edit radius tol my case is 830 and 870 and it worked.