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_
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.
RangeImagePlanar is derived from the original range image and differs from it because it's not a sphe...
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.
boost::shared_ptr< RangeImagePlanar > Ptr
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.
PCL_EXPORTS RangeImagePlanar()
Constructor.
float focal_length_y_
The focal length of the image in pixels.
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.
float getCenterX() const
Getter for the principal point in X.
Ptr makeShared()
Get a boost shared pointer of a copy of this.
float center_y_
The principle point of the image.
boost::shared_ptr< const RangeImagePlanar > ConstPtr
float focal_length_x_reciprocal_
float getFocalLengthY() const
Getter for the focal length in Y.
virtual PCL_EXPORTS ~RangeImagePlanar()
Destructor.
virtual void getImagePoint(const Eigen::Vector3f &point, float &image_x, float &image_y, float &range) const
Get imagePoint from 3D point in world coordinates.
RangeImage is derived from pcl/PointCloud and provides functionalities with focus on situations where...
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 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.
float focal_length_y_reciprocal_
1/focal_length -> for internal use
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.
float getCenterY() const
Getter for the principal point in Y.
float getFocalLengthX() const
Getter for the focal length in X.
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.
virtual RangeImage * getNew() const
Return a newly created RangeImagePlanar.