38 #ifndef PCL_RANGE_IMAGE_PLANAR_H_
39 #define PCL_RANGE_IMAGE_PLANAR_H_
41 #include <pcl/range_image/range_image.h>
57 typedef boost::shared_ptr<RangeImagePlanar>
Ptr;
58 typedef boost::shared_ptr<const RangeImagePlanar>
ConstPtr;
72 PCL_EXPORTS
virtual void
92 float focal_length,
float base_line,
float desired_angular_resolution=-1);
107 setDepthImage (
const float* depth_image,
int di_width,
int di_height,
float di_center_x,
float di_center_y,
108 float di_focal_length_x,
float di_focal_length_y,
float desired_angular_resolution=-1);
123 setDepthImage (
const unsigned short* depth_image,
int di_width,
int di_height,
float di_center_x,
float di_center_y,
124 float di_focal_length_x,
float di_focal_length_y,
float desired_angular_resolution=-1);
139 template <
typename Po
intCloudType>
void
141 int di_width,
int di_height,
float di_center_x,
float di_center_y,
142 float di_focal_length_x,
float di_focal_length_y,
143 const Eigen::Affine3f& sensor_pose,
145 float min_range=0.0f);
159 calculate3DPoint (
float image_x,
float image_y,
float range, Eigen::Vector3f& point)
const;
169 getImagePoint (
const Eigen::Vector3f& point,
float& image_x,
float& image_y,
float& range)
const;
184 PCL_EXPORTS
virtual void
185 getSubImage (
int sub_image_image_offset_x,
int sub_image_image_offset_y,
int sub_image_width,
186 int sub_image_height,
int combine_pixels,
RangeImage& sub_image)
const;
189 PCL_EXPORTS
virtual void
217 #include <pcl/range_image/impl/range_image_planar.hpp>
219 #endif //#ifndef PCL_RANGE_IMAGE_H_
boost::shared_ptr< RangeImagePlanar > Ptr
float focal_length_x_reciprocal_
float getFocalLengthY() const
Getter for the focal length in Y.
virtual void getImagePoint(const Eigen::Vector3f &point, float &image_x, float &image_y, float &range) const
Calculate the image point and range from the given 3D point.
void calculate3DPoint(float image_x, float image_y, float range, PointWithRange &point) const
Calculate the 3D point according to the given image point and range.
virtual void getImagePoint(const Eigen::Vector3f &point, float &image_x, float &image_y, float &range) const
Get imagePoint from 3D point in world coordinates.
Ptr makeShared()
Get a boost shared pointer of a copy of this.
PCL_EXPORTS void setDisparityImage(const float *disparity_image, int di_width, int di_height, float focal_length, float base_line, float desired_angular_resolution=-1)
Create the image from an existing disparity image.
RangeImagePlanar is derived from the original range image and differs from it because it's not a sphe...
RangeImage is derived from pcl/PointCloud and provides functionalities with focus on situations where...
float center_y_
The principle point of the image.
float focal_length_y_
The focal length of the image in pixels.
virtual PCL_EXPORTS void getSubImage(int sub_image_image_offset_x, int sub_image_image_offset_y, int sub_image_width, int sub_image_height, int combine_pixels, RangeImage &sub_image) const
Get a sub part of the complete image as a new range image.
float getCenterX() const
Getter for the principal point in X.
float getFocalLengthX() const
Getter for the focal length in X.
PCL_EXPORTS RangeImagePlanar()
Constructor.
float focal_length_y_reciprocal_
1/focal_length -> for internal use
virtual PCL_EXPORTS void getHalfImage(RangeImage &half_image) const
Get a range image with half the resolution.
virtual PCL_EXPORTS void copyTo(RangeImage &other) const
Copy *this to other.
virtual RangeImage * getNew() const
Return a newly created RangeImagePlanar.
virtual void calculate3DPoint(float image_x, float image_y, float range, Eigen::Vector3f &point) const
Calculate the 3D point according to the given image point and range.
boost::shared_ptr< const RangeImagePlanar > ConstPtr
float getCenterY() const
Getter for the principal point in Y.
virtual PCL_EXPORTS ~RangeImagePlanar()
Destructor.
PCL_EXPORTS void setDepthImage(const float *depth_image, int di_width, int di_height, float di_center_x, float di_center_y, float di_focal_length_x, float di_focal_length_y, float desired_angular_resolution=-1)
Create the image from an existing depth image.
void createFromPointCloudWithFixedSize(const PointCloudType &point_cloud, int di_width, int di_height, float di_center_x, float di_center_y, float di_focal_length_x, float di_focal_length_y, const Eigen::Affine3f &sensor_pose, CoordinateFrame coordinate_frame=CAMERA_FRAME, float noise_level=0.0f, float min_range=0.0f)
Create the image from an existing point cloud.