本文整理汇总了C++中KinfuTracker::getImage方法的典型用法代码示例。如果您正苦于以下问题:C++ KinfuTracker::getImage方法的具体用法?C++ KinfuTracker::getImage怎么用?C++ KinfuTracker::getImage使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KinfuTracker
的用法示例。
在下文中一共展示了KinfuTracker::getImage方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: msg
void
publishScene (KinfuTracker& kinfu, std_msgs::Header header, bool registration, Eigen::Affine3f* pose_ptr = 0)
{
// if (pose_ptr)
// {
// raycaster_ptr_->run ( kinfu.volume (), *pose_ptr, kinfu.getCyclicalBufferStructure () ); //says in cmake it does not know it
// raycaster_ptr_->generateSceneView(view_device_);
// }
// else
{
kinfu.getImage (view_device_);
}
/* if (paint_image_ && registration && !pose_ptr)
{
colors_device_.upload (rgb24.data, rgb24.step, rgb24.rows, rgb24.cols);
paint3DView (colors_device_, view_device_);
}
*/
int cols;
view_device_.download (view_host_, cols);
//convert image to sensor message
sensor_msgs::ImagePtr msg(new sensor_msgs::Image);
sensor_msgs::fillImage((*msg), "rgb8", view_device_.rows(), view_device_.cols(),
view_device_.cols() * 3, &view_host_[0]);
msg->header.frame_id = header.frame_id;
pubKinfu.publish(msg);
}
示例2: showScene
void
showScene (KinfuTracker& kinfu, const PtrStepSz<const KinfuTracker::PixelRGB>& rgb24, bool registration, Eigen::Affine3f* pose_ptr = 0)
{
if (pose_ptr)
{
raycaster_ptr_->run(kinfu.volume(), *pose_ptr);
raycaster_ptr_->generateSceneView(view_device_);
}
else
kinfu.getImage (view_device_);
if (paint_image_ && registration && !pose_ptr)
{
colors_device_.upload (rgb24.data, rgb24.step, rgb24.rows, rgb24.cols);
paint3DView (colors_device_, view_device_);
}
int cols;
view_device_.download (view_host_, cols);
viewerScene_.showRGBImage (reinterpret_cast<unsigned char*> (&view_host_[0]), view_device_.cols (), view_device_.rows ());
//viewerColor_.showRGBImage ((unsigned char*)&rgb24.data, rgb24.cols, rgb24.rows);
#ifdef HAVE_OPENCV
if (accumulate_views_)
{
views_.push_back (cv::Mat ());
cv::cvtColor (cv::Mat (480, 640, CV_8UC3, (void*)&view_host_[0]), views_.back (), CV_RGB2GRAY);
//cv::copy(cv::Mat(480, 640, CV_8UC3, (void*)&view_host_[0]), views_.back());
}
#endif
}
示例3: showScene
void ImageView::showScene (KinfuTracker& kinfu, bool registration, Eigen::Affine3f* pose_ptr)
{
if (pose_ptr)
{
raycaster_ptr_->run(kinfu.volume(), *pose_ptr);
raycaster_ptr_->generateSceneView(view_device_);
}
else
kinfu.getImage (view_device_);
int cols;
view_device_.download (view_host_, cols);
if (viz_)
viewerScene_->showRGBImage (reinterpret_cast<unsigned char*> (&view_host_[0]), view_device_.cols (), view_device_.rows ());
//viewerColor_.showRGBImage ((unsigned char*)&rgb24.data, rgb24.cols, rgb24.rows);
if (accumulate_views_)
{
views_.push_back (cv::Mat ());
cv::cvtColor (cv::Mat (480, 640, CV_8UC3, (void*)&view_host_[0]), views_.back (), CV_RGB2GRAY);
//cv::copy(cv::Mat(480, 640, CV_8UC3, (void*)&view_host_[0]), views_.back());
}
}