I am trying to receive depth image from TOF camera loaded with MetrilusShortRange profile.
My setting is as follow.
void TOFApp::Init(int w, int h) { _isRunning = false; _dimen.width = w; _dimen.height = h; _loopDelay = 20; _illum_power = 100U; _intg = 20U; } bool TOFApp::connect() { for(auto &p: profiles) { std::cout << p.first << ", " << p.second; if (p.second == "MetrilusShortRange")//Long Range// High Ambient//MetrilusLongRange//MetrilusShortRange profile_id = p.first; ConfigurationFile *c = _depthCamera->configFile.getCameraProfile(p.first); if(c && c->getLocation() == ConfigurationFile::IN_CAMERA) std::cout << " (HW)"; std::cout << std::endl; } cout << "Profile ID = " << profile_id << endl; if (_depthCamera->setCameraProfile(profile_id)) cout << "Profile setting succeeded." << endl; #if defined (DEPTHFRAME) _depthCamera->registerCallback(DepthCamera::FRAME_DEPTH_FRAME, frameCallback);//FRAME_DEPTH_FRAME #elif defined(POINTCLOUD) _depthCamera->registerCallback(DepthCamera::FRAME_XYZI_POINT_CLOUD_FRAME, frameCallback);//FRAME_DEPTH_FRAME #endif FrameRate fr; fr.numerator = 15; fr.denominator = 1; _depthCamera->setFrameSize(_dimen); _depthCamera->set("intg_duty_cycle", _intg); //_depthCamera->set("intg_time", 0.01267f); _depthCamera->set("illum_power_percentage", _illum_power); _depthCamera->setFrameRate(fr) return true; }
If I set the same parameter at VoxelViewer, the image is quite clean.
What could be wrong? If I set the same setting to VoxelViewer, I can have good images.
Thanks