15 #ifndef VISIONTRANSFER_RECONSTRUCT3D_H 16 #define VISIONTRANSFER_RECONSTRUCT3D_H 20 #include "visiontransfer/common.h" 21 #include "visiontransfer/imageset.h" 71 float* createPointMap(
const unsigned short* dispMap,
int width,
int height,
72 int rowStride,
const float* q,
unsigned short minDisparity = 1,
73 int subpixelFactor = 16);
87 float* createPointMap(
const ImageSet& imageSet,
unsigned short minDisparity = 1);
111 void projectSinglePoint(
int imageX,
int imageY,
unsigned short disparity,
const float* q,
112 float& pointX,
float& pointY,
float& pointZ,
int subpixelFactor = 16);
140 void writePlyFile(
const char* file,
const unsigned short* dispMap,
142 int dispRowStride,
int imageRowStride,
const float* q,
143 double maxZ = std::numeric_limits<double>::max(),
144 bool binary =
false,
int subpixelFactor = 16);
161 void writePlyFile(
const char* file,
const ImageSet& imageSet,
162 double maxZ = std::numeric_limits<double>::max(),
bool binary =
false);
164 #ifdef PCL_MAJOR_VERSION 180 inline pcl::PointCloud<pcl::PointXYZ>::Ptr createXYZCloud(
const ImageSet& imageSet,
181 const char* frameId,
unsigned short minDisparity = 0);
188 inline pcl::PointCloud<pcl::PointXYZI>::Ptr createXYZICloud(
const ImageSet& imageSet,
189 const char* frameId,
unsigned short minDisparity = 0);
196 inline pcl::PointCloud<pcl::PointXYZRGB>::Ptr createXYZRGBCloud(
const ImageSet& imageSet,
197 const char* frameId,
unsigned short minDisparity = 0);
209 #ifdef PCL_MAJOR_VERSION 211 template <
typename T>
212 typename pcl::PointCloud<T>::Ptr initPointCloud(
const ImageSet& imageSet,
const char* frameId);
218 #include "visiontransfer/reconstruct3d-pcl.h"
Transforms a disparity map into a set of 3D points.
ImageFormat
Image formats that can be transferred.
A set of one to three images, but usually two (the left camera image and the disparity map)...