mirror of
https://github.com/introlab/rtabmap_ros.git
synced 2026-10-03 16:27:46 +08:00
Merge branch 'master' of https://github.com/introlab/rtabmap into devel
This commit is contained in:
@@ -1238,7 +1238,7 @@ bool CameraFreenect2::init(const std::string & calibrationFolder)
|
|||||||
//default registration params
|
//default registration params
|
||||||
libfreenect2::Freenect2Device::IrCameraParams depthParams = dev_->getIrCameraParams();
|
libfreenect2::Freenect2Device::IrCameraParams depthParams = dev_->getIrCameraParams();
|
||||||
libfreenect2::Freenect2Device::ColorCameraParams colorParams = dev_->getColorCameraParams();
|
libfreenect2::Freenect2Device::ColorCameraParams colorParams = dev_->getColorCameraParams();
|
||||||
reg_ = new libfreenect2::Registration(&depthParams, &colorParams);
|
reg_ = new libfreenect2::Registration(depthParams, colorParams);
|
||||||
|
|
||||||
// look for calibration files
|
// look for calibration files
|
||||||
if(!calibrationFolder.empty())
|
if(!calibrationFolder.empty())
|
||||||
@@ -1322,7 +1322,20 @@ void CameraFreenect2::captureImage(cv::Mat & rgb, cv::Mat & depth, float & fx, f
|
|||||||
if(dev_ && listener_)
|
if(dev_ && listener_)
|
||||||
{
|
{
|
||||||
libfreenect2::FrameMap frames;
|
libfreenect2::FrameMap frames;
|
||||||
if(listener_->waitForNewFrame(frames, 1000))
|
#ifndef LIBFREENECT2_THREADING_STDLIB
|
||||||
|
UDEBUG("Waiting for new frames... If it is stalled here, rtabmap should link on libusb of "
|
||||||
|
"libfreenect2, this can be done by setting LD_LIBRARY_PATH to "
|
||||||
|
"\"libfreenect2/depends/libusb/lib\"");
|
||||||
|
listener_->waitForNewFrame(frames);
|
||||||
|
#else
|
||||||
|
if(!listener_->waitForNewFrame(frames, 1000))
|
||||||
|
{
|
||||||
|
UWARN("CameraFreenect2: Failed to get frames! rtabmap should link on libusb of "
|
||||||
|
"libfreenect2, this can be done by setting LD_LIBRARY_PATH to "
|
||||||
|
"\"libfreenect2/depends/libusb/lib\"");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
stamp = UTimer::now();
|
stamp = UTimer::now();
|
||||||
libfreenect2::Frame *rgbFrame = 0;
|
libfreenect2::Frame *rgbFrame = 0;
|
||||||
@@ -1389,7 +1402,9 @@ void CameraFreenect2::captureImage(cv::Mat & rgb, cv::Mat & depth, float & fx, f
|
|||||||
{
|
{
|
||||||
//rgb + ir or rgb + depth
|
//rgb + ir or rgb + depth
|
||||||
|
|
||||||
cv::Mat rgbMat(rgbFrame->height, rgbFrame->width, CV_8UC3, rgbFrame->data);
|
cv::Mat rgbMatC4(rgbFrame->height, rgbFrame->width, CV_8UC4, rgbFrame->data);
|
||||||
|
cv::Mat rgbMat; // rtabmap uses 3 channels RGB
|
||||||
|
cv::cvtColor(rgbMatC4, rgbMat, CV_BGRA2BGR);
|
||||||
cv::flip(rgbMat, rgb, 1);
|
cv::flip(rgbMat, rgb, 1);
|
||||||
|
|
||||||
if(stereoModel_.isValid())
|
if(stereoModel_.isValid())
|
||||||
@@ -1515,12 +1530,6 @@ void CameraFreenect2::captureImage(cv::Mat & rgb, cv::Mat & depth, float & fx, f
|
|||||||
}
|
}
|
||||||
listener_->release(frames);
|
listener_->release(frames);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
UWARN("CameraFreenect2: Failed to get frames! rtabmap should link on libusb of "
|
|
||||||
"libfreenect2, this can be done by setting LD_LIBRARY_PATH to "
|
|
||||||
"\"libfreenect2/depends/libusb/lib\"");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
UERROR("CameraFreenect2: RTAB-Map is not built with Freenect2 support!");
|
UERROR("CameraFreenect2: RTAB-Map is not built with Freenect2 support!");
|
||||||
|
|||||||
Reference in New Issue
Block a user