Grabber for Intel Realsense 2 SDK devices (D400 series) More...
#include <pcl/io/real_sense_2_grabber.h>
Public Types |
|
typedef void() | signal_librealsense_PointXYZ(const pcl::PointCloud< pcl::PointXYZ >::ConstPtr &) |
typedef void() | signal_librealsense_PointXYZI(const pcl::PointCloud< pcl::PointXYZI >::ConstPtr &) |
typedef void() | signal_librealsense_PointXYZRGB(const pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr &) |
typedef void() | signal_librealsense_PointXYZRGBA(const pcl::PointCloud< pcl::PointXYZRGBA >::ConstPtr &) |
Public Member Functions |
|
RealSense2Grabber (const std::string &file_name_or_serial_number="", const bool repeat_playback=true) | |
Constructor. More... |
|
~RealSense2Grabber () | |
virtual Destructor inherited from the Grabber interface. More... |
|
void | setDeviceOptions (std::uint32_t width, std::uint32_t height, std::uint32_t fps=30) |
Set the device options. More... |
|
void | start () override |
Start the data acquisition. More... |
|
void | stop () override |
Stop the data acquisition. More... |
|
bool | isRunning () const override |
Check if the data acquisition is still running. More... |
|
float | getFramesPerSecond () const override |
Obtain the number of frames per second (FPS). More... |
|
std::string | getName () const override |
defined grabber name More... |
|
Public Member Functions inherited from pcl::Grabber | |
Grabber ()=default | |
Default ctor. More... |
|
Grabber (const Grabber &)=delete | |
No copy ctor since Grabber can't be copied. More... |
|
Grabber & | operator= (const Grabber &)=delete |
No copy assign operator since Grabber can't be copied. More... |
|
Grabber (Grabber &&)=default | |
Move ctor. More... |
|
Grabber & | operator= (Grabber &&)=default |
Move assign operator. More... |
|
virtual | ~Grabber () noexcept=default |
virtual destructor. More... |
|
template<typename T > | |
boost::signals2::connection | registerCallback (const std::function< T > &callback) |
registers a callback function/method to a signal with the corresponding signature More... |
|
template<typename T > | |
bool | providesCallback () const noexcept |
indicates whether a signal with given parameter-type exists or not More... |
|
bool | toggle () |
For devices that are streaming, stopped streams are started and running stream are stopped. More... |
|
Protected Member Functions |
|
void | signalsChanged () override |
Handle when a signal callback has been changed. More... |
|
void | threadFunction () |
the thread function More... |
|
void | reInitialize () |
Dynamic reinitialization. More... |
|
pcl::PointCloud< pcl::PointXYZ >::Ptr | convertDepthToPointXYZ (const rs2::points &points) |
Convert a Depth image to a pcl::PointCloud<pcl::PointXYZ> More... |
|
pcl::PointCloud< pcl::PointXYZI >::Ptr | convertIntensityDepthToPointXYZRGBI (const rs2::points &points, const rs2::video_frame &ir) |
Convert an Infrared Depth image to a pcl::PointCloud<pcl::PointXYZI> More... |
|
pcl::PointCloud< pcl::PointXYZRGB >::Ptr | convertRGBDepthToPointXYZRGB (const rs2::points &points, const rs2::video_frame &rgb) |
Convert an rgb Depth image to a pcl::PointCloud<pcl::PointXYZRGB> More... |
|
pcl::PointCloud< pcl::PointXYZRGBA >::Ptr | convertRGBADepthToPointXYZRGBA (const rs2::points &points, const rs2::video_frame &rgb) |
Convert an rgb Depth image to a pcl::PointCloud<pcl::PointXYZRGBA> More... |
|
template<typename PointT , typename Functor > | |
pcl::PointCloud< PointT >::Ptr | convertRealsensePointsToPointCloud (const rs2::points &points, Functor mapColorFunc) |
template function to convert realsense point cloud to PCL point cloud More... |
|
Protected Member Functions inherited from pcl::Grabber | |
template<typename T > | |
boost::signals2::signal< T > * | find_signal () const noexcept |
template<typename T > | |
int | num_slots () const noexcept |
template<typename T > | |
void | disconnect_all_slots () |
template<typename T > | |
void | block_signal () |
template<typename T > | |
void | unblock_signal () |
void | block_signals () |
void | unblock_signals () |
template<typename T > | |
boost::signals2::signal< T > * | createSignal () |
Static Protected Member Functions |
|
static size_t | getTextureIdx (const rs2::video_frame &texture, float u, float v) |
Retrieve pixel index for UV texture coordinate. More... |
|
static pcl::RGB | getTextureColor (const rs2::video_frame &texture, float u, float v) |
Retrieve RGB color from texture video frame. More... |
|
static std::uint8_t | getTextureIntensity (const rs2::video_frame &texture, float u, float v) |
Retrieve color intensity from texture video frame. More... |
|
Protected Attributes |
|
boost::signals2::signal< signal_librealsense_PointXYZ > * | signal_PointXYZ |
boost::signals2::signal< signal_librealsense_PointXYZI > * | signal_PointXYZI |
boost::signals2::signal< signal_librealsense_PointXYZRGB > * | signal_PointXYZRGB |
boost::signals2::signal< signal_librealsense_PointXYZRGBA > * | signal_PointXYZRGBA |
std::thread | thread_ |
handle to the thread More... |
|
std::string | file_name_or_serial_number_ |
Defines either a file path to a bag file or a realsense device serial number. More... |
|
bool | repeat_playback_ |
Repeat playback when reading from file. More... |
|
bool | quit_ |
controlling the state of the thread. More... |
|
bool | running_ |
Is the grabber running. More... |
|
float | fps_ |
Calculated FPS for the grabber. More... |
|
std::uint32_t | device_width_ |
Width for the depth and color sensor. More... |
|
std::uint32_t | device_height_ |
Height for the depth and color sensor. More... |
|
std::uint32_t | target_fps_ |
Target FPS for the device. More... |
|
rs2::pointcloud | pc_ |
Declare pointcloud object, for calculating pointclouds and texture mappings. More... |
|
rs2::pipeline | pipe_ |
Declare RealSense pipeline, encapsulating the actual device and sensors. More... |
|
Protected Attributes inherited from pcl::Grabber | |
std::map< std::string, std::unique_ptr< boost::signals2::signal_base > > | signals_ |
std::map< std::string, std::vector< boost::signals2::connection > > | connections_ |
std::map< std::string, std::vector< boost::signals2::shared_connection_block > > | shared_connections_ |
Detailed Description
Grabber for Intel Realsense 2 SDK devices (D400 series)
- Note
- Device width/height defaults to 424/240, the lowest resolutions for D400 devices.
- Testing on the in_hand_scanner example we found the lower default resolution allowed the app to perform adequately.
- Developers should use this resolution as a starting point and gradually increase to get the best results
Definition at line 59 of file real_sense_2_grabber.h.
Member Typedef Documentation
signal_librealsense_PointXYZ
typedef void() pcl::RealSense2Grabber::signal_librealsense_PointXYZ(const pcl::PointCloud< pcl::PointXYZ >::ConstPtr &) |
Definition at line 107 of file real_sense_2_grabber.h.
signal_librealsense_PointXYZI
typedef void() pcl::RealSense2Grabber::signal_librealsense_PointXYZI(const pcl::PointCloud< pcl::PointXYZI >::ConstPtr &) |
Definition at line 108 of file real_sense_2_grabber.h.
signal_librealsense_PointXYZRGB
typedef void() pcl::RealSense2Grabber::signal_librealsense_PointXYZRGB(const pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr &) |
Definition at line 109 of file real_sense_2_grabber.h.
signal_librealsense_PointXYZRGBA
typedef void() pcl::RealSense2Grabber::signal_librealsense_PointXYZRGBA(const pcl::PointCloud< pcl::PointXYZRGBA >::ConstPtr &) |
Definition at line 110 of file real_sense_2_grabber.h.
Constructor & Destructor Documentation
RealSense2Grabber()
pcl::RealSense2Grabber::RealSense2Grabber | ( | const std::string & | file_name_or_serial_number = "" , |
const bool | repeat_playback = true |
||
) |
Constructor.
- Parameters
-
[in] file_name_or_serial_number used for either loading bag file or specific device by serial number [in] repeat_playback whether to repeat playback when reading from file
~RealSense2Grabber()
pcl::RealSense2Grabber::~RealSense2Grabber | ( | ) |
virtual Destructor inherited from the Grabber interface.
It never throws.
Member Function Documentation
convertDepthToPointXYZ()
|
protected |
Convert a Depth image to a pcl::PointCloud<pcl::PointXYZ>
- Parameters
-
[in] points the depth points
convertIntensityDepthToPointXYZRGBI()
|
protected |
Convert an Infrared Depth image to a pcl::PointCloud<pcl::PointXYZI>
- Parameters
-
[in] points the depth points [in] ir Infrared video frame
convertRealsensePointsToPointCloud()
|
protected |
template function to convert realsense point cloud to PCL point cloud
- Parameters
-
[in] points - realsense point cloud array [in] mapColorFunc dynamic function to convert individual point color or intensity values
convertRGBADepthToPointXYZRGBA()
|
protected |
Convert an rgb Depth image to a pcl::PointCloud<pcl::PointXYZRGBA>
- Parameters
-
[in] points the depth points [in] rgb rgb video frame
convertRGBDepthToPointXYZRGB()
|
protected |
Convert an rgb Depth image to a pcl::PointCloud<pcl::PointXYZRGB>
- Parameters
-
[in] points the depth points [in] rgb rgb video frame
getFramesPerSecond()
|
overridevirtual |
Obtain the number of frames per second (FPS).
Implements pcl::Grabber.
getName()
|
inlineoverridevirtual |
defined grabber name
Implements pcl::Grabber.
Definition at line 104 of file real_sense_2_grabber.h.
getTextureColor()
|
staticprotected |
Retrieve RGB color from texture video frame.
- Parameters
-
[in] texture the texture [in] u 2D coordinate [in] v 2D coordinate
getTextureIdx()
|
staticprotected |
Retrieve pixel index for UV texture coordinate.
- Parameters
-
[in] texture the texture [in] u 2D coordinate [in] v 2D coordinate
getTextureIntensity()
|
staticprotected |
Retrieve color intensity from texture video frame.
- Parameters
-
[in] texture the texture [in] u 2D coordinate [in] v 2D coordinate
isRunning()
|
overridevirtual |
Check if the data acquisition is still running.
Implements pcl::Grabber.
reInitialize()
|
protected |
Dynamic reinitialization.
setDeviceOptions()
|
inline |
Set the device options.
- Parameters
-
[in] width resolution [in] height resolution [in] fps target frames per second for the device
Definition at line 77 of file real_sense_2_grabber.h.
signalsChanged()
|
overrideprotectedvirtual |
Handle when a signal callback has been changed.
Reimplemented from pcl::Grabber.
start()
|
overridevirtual |
Start the data acquisition.
Implements pcl::Grabber.
stop()
|
overridevirtual |
Stop the data acquisition.
Implements pcl::Grabber.
threadFunction()
|
protected |
the thread function
Member Data Documentation
device_height_
|
protected |
Height for the depth and color sensor.
Default 240
Definition at line 209 of file real_sense_2_grabber.h.
device_width_
|
protected |
Width for the depth and color sensor.
Default 424
Definition at line 207 of file real_sense_2_grabber.h.
file_name_or_serial_number_
|
protected |
Defines either a file path to a bag file or a realsense device serial number.
Definition at line 197 of file real_sense_2_grabber.h.
fps_
|
protected |
Calculated FPS for the grabber.
Definition at line 205 of file real_sense_2_grabber.h.
pc_
|
protected |
Declare pointcloud object, for calculating pointclouds and texture mappings.
Definition at line 213 of file real_sense_2_grabber.h.
pipe_
|
protected |
Declare RealSense pipeline, encapsulating the actual device and sensors.
Definition at line 215 of file real_sense_2_grabber.h.
quit_
|
protected |
controlling the state of the thread.
Definition at line 201 of file real_sense_2_grabber.h.
repeat_playback_
|
protected |
Repeat playback when reading from file.
Definition at line 199 of file real_sense_2_grabber.h.
running_
|
protected |
Is the grabber running.
Definition at line 203 of file real_sense_2_grabber.h.
signal_PointXYZ
|
protected |
Definition at line 114 of file real_sense_2_grabber.h.
signal_PointXYZI
|
protected |
Definition at line 115 of file real_sense_2_grabber.h.
signal_PointXYZRGB
|
protected |
Definition at line 116 of file real_sense_2_grabber.h.
signal_PointXYZRGBA
|
protected |
Definition at line 117 of file real_sense_2_grabber.h.
target_fps_
|
protected |
thread_
|
protected |
handle to the thread
Definition at line 195 of file real_sense_2_grabber.h.
The documentation for this class was generated from the following file:
- pcl/io/real_sense_2_grabber.h
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_real_sense2_grabber.html