- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I am newbie to Realsense . I just have started writing application one week back. I wanted to track the foldness of my index finger by a small program(as pasted below) . But unfortunately I am always getting zero. As I as seen in definition of foldness it should range from 0 to 100. What I am missing here? Can anybody help please.
Regards,
Debabrata
void CFaceProcessor::processHand()
{
PXCSenseManager *psm = getSenseManager();
psm->EnableStream(PXCCapture::STREAM_TYPE_DEPTH, 640, 480, 30);
psm->EnableHand();
PXCHandModule *handAnalyzer = NULL;
while (!(handAnalyzer = psm->QueryHand())){
std::cout << "wating...\n";
Sleep(1);
}
if (psm->Init() < PXC_STATUS_NO_ERROR) {
return;
}
PXCHandData* outputData = handAnalyzer->CreateOutput();
PXCHandConfiguration* config = handAnalyzer->CreateActiveConfiguration();
config->EnableNormalizedJoints(true);
config->SetTrackingMode(PXCHandData::TRACKING_MODE_EXTREMITIES);
config->EnableAllGestures();
config->ApplyChanges();
config->Update();
pxcI32 foldnessOld = -1;
while (psm->AcquireFrame(true) >= PXC_STATUS_NO_ERROR){
outputData->Update();
pxcU16 numOfHands = outputData->QueryNumberOfHands();
PXCHandData::IHand* handData;
for (int i = 0; i < numOfHands; i++){
if (outputData->QueryHandData(PXCHandData::AccessOrderType::ACCESS_ORDER_BY_TIME, i, handData)
== PXC_STATUS_NO_ERROR)
{
for (int i = 0; i < numOfHands; i++){
PXCHandData::FingerData fingerData;
if (handData->QueryFingerData(PXCHandData::FingerType::FINGER_INDEX, fingerData)
== PXC_STATUS_NO_ERROR){
pxcI32 foldess = fingerData.foldedness;
if (foldnessOld != foldess){
std::cout << "foldness " << foldess << std::endl; /// Always printing zero
foldnessOld = foldess;
}
}
}
}
}
psm->ReleaseFrame();
}
psm->Release();
}
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
are you using R2 (v4.0) of the RSSDK?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
https://software.intel.com/en-us/intel-realsense-sdk has the 4.0 version.
Did you download 3.1 recently? or just didn't update with the new software available for just over a month now?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes! I downloaded very recently( 1 or 2 week(s) ago) . But at that time my System was windows 7 with core i3 processor. Looking at RealSense requirement , I Upgraded my system to windows 8 and core i5 one week back and used the same installer binary .
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello.
I updated with the new RealSense 4 as you have said. But unfortunately the result is same. Also
outputData->QueryFiredGesturesNumber(); is returning zero for any gesture like indexfinger,thunb etc etc. Can you help me by pointing out what I am doing wrong?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The extremeties are indeed edge points of the hand. You can read about the extremity points at : https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/index.html?extremitytype_pxchanddata.html
and you can see the other options (and the comparative speeds) including finger and hand openness @
https://software.intel.com/sites/landingpage/realsense/camera-sdk/2014gold/documentation/html/manuals_hand_tracking.html

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page