Items with no label
3335 Discussions

SR300 / C++ - face scanning config returns pxcStatus::STATUS_FEATURE_UNSUPPORTED (?)

TTyle
Beginner
2,587 Views

I'm using SDK 2016 R2, and trying to get the 3D scanning functionality working for a face scan using the SR300.

I was under the impression that the SR300 supported 3D face scanning?? In fact, that's a major part of the reason we've purchased it.

And I've tested the face scanning sample from https://github.com/GameTechDev/FaceMapping2 https://github.com/GameTechDev/FaceMapping2 (using SDK 2016 R1) which works fine with my SR300...

here's the relevant function (with section where I get STATUS_FEATURE_UNSUPPORTED in bold):

bool RSScanner::enable(PXCSenseManager* smPtr) {

mSenseMgr = smPtr;

if (smPtr == NULL) return false;

pxcStatus status;

status = mSenseMgr->Enable3DScan();

if (status < 0) // error

{

ofLogError("RSScanner") << "unable to initialize 3D scanning module, error status: " << status;

return false;

}

mScanner = mSenseMgr->Query3DScan();

if (mScanner == NULL) return false;

// config scan parameters

PXC3DScan::Configuration config;

config.startScan = false;

config.mode = PXC3DScan::ScanningMode::FACE;

config.options = PXC3DScan::ReconstructionOption::TEXTURE; // generate texture jpg and UV map (as opposed to vertex colors)

config.options = config.options | PXC3DScan::ReconstructionOption::LANDMARKS; // add landmarks data to model

config.maxTriangles = 0; // 0 == no limit

config.flopPreviewImage = false; // maybe make true? test it out

status = mScanner->SetConfiguration(config);

if (status < 0)

{

ofLogError("RSScanner") << "unable to set scan configuration, error status: " << status; /* THIS IS WHERE I GET ERROR CODE -1 == STATUS_FEATURE_UNSUPPORTED */</strong>

return false;

}

// mScanner->Subscribe(&mAlertHandler); // add this later for alert callback

return true;

}

0 Kudos
1 Solution
TTyle
Beginner
366 Views

Hi Pablo,

Thanks for your responses, and I'm sorry for my delay getting back. I was able to get it working.

I found a fork of the FaceMapping2 software which contains a commit aimed at compatibility with the 2016 R2 SDK.

Here it is:

https://github.com/ph0b/FaceMapping2/commit/b213b90604da9224adf9e6c30084d8aa2bc4f25f improved compatibility with 2106 R2 SDK release. · ph0b/FaceMapping2@b213b90 · GitHub

Essentially, it seems that the Sense Manager needs to be initialized before the 3D Scan module can be configured (see https://github.com/ph0b/FaceMapping2/blob/b213b90604da9224adf9e6c30084d8aa2bc4f25f/facescan/GameFaceScan.cpp# L208 line 208).

As far as I can tell, that order of operations is the opposite of the 2016 R1 SDK (and the change is undocumented).

best,

Tyler

View solution in original post

5 Replies
idata
Employee
366 Views

Hi tyhenry,

 

 

Thank you very much for contacting us and for your interest in the Intel® RealSense™ Technology.

 

Could you please provide the steps you're using as exactly as possible so we can replicate your issue? I would like to know which environment you're working on and the steps you're using to compile and run.

 

Also, I'm wondering if you have tried running the DF_3DScan.cs.exe sample. I would like to know if you get some positive results from it. You can launch it or, if you wish, compile and execute within Microsoft Visual Studio. Check this link to know where it is located https://software.intel.com/sites/landingpage/realsense/camera-sdk/v1.1/documentation/html/sample_3d_scan_cs.html https://software.intel.com/sites/landingpage/realsense/camera-sdk/v1.1/documentation/html/sample_3d_scan_cs.html.

 

We'll be waiting for your reply.

 

 

Regards,

 

-Pablo
0 Kudos
idata
Employee
366 Views

Hi Henry,

 

 

I'm wondering if you've had any time to work on this. Let us know if you need further help.

 

 

Regards,

 

-Pablo
0 Kudos
TTyle
Beginner
367 Views

Hi Pablo,

Thanks for your responses, and I'm sorry for my delay getting back. I was able to get it working.

I found a fork of the FaceMapping2 software which contains a commit aimed at compatibility with the 2016 R2 SDK.

Here it is:

https://github.com/ph0b/FaceMapping2/commit/b213b90604da9224adf9e6c30084d8aa2bc4f25f improved compatibility with 2106 R2 SDK release. · ph0b/FaceMapping2@b213b90 · GitHub

Essentially, it seems that the Sense Manager needs to be initialized before the 3D Scan module can be configured (see https://github.com/ph0b/FaceMapping2/blob/b213b90604da9224adf9e6c30084d8aa2bc4f25f/facescan/GameFaceScan.cpp# L208 line 208).

As far as I can tell, that order of operations is the opposite of the 2016 R1 SDK (and the change is undocumented).

best,

Tyler

idata
Employee
366 Views

Hi Tyler,

 

 

Thank you very much for providing this information. Hopefully this will help some other users as well.

 

 

Regards,

 

-Pablo
0 Kudos
SEOM
Beginner
366 Views
0 Kudos
Reply