15 #ifndef VISIONTRANSFER_RECONSTRUCT3D_H 16 #define VISIONTRANSFER_RECONSTRUCT3D_H 20 #include "visiontransfer/common.h" 21 #include "visiontransfer/imageset.h" 70 float* createPointMap(
const unsigned short* dispMap,
int width,
int height,
71 int rowStride,
const float* q,
unsigned short minDisparity = 1);
85 float* createPointMap(
const ImageSet& imageSet,
unsigned short minDisparity = 1);
107 void projectSinglePoint(
int imageX,
int imageY,
unsigned short disparity,
const float* q,
108 float& pointX,
float& pointY,
float& pointZ);
135 void writePlyFile(
const char* file,
const unsigned short* dispMap,
137 int dispRowStride,
int imageRowStride,
const float* q,
138 double maxZ = std::numeric_limits<double>::max(),
139 bool binary =
false);
156 void writePlyFile(
const char* file,
const ImageSet& imageSet,
157 double maxZ = std::numeric_limits<double>::max(),
bool binary =
false);
159 #ifdef PCL_MAJOR_VERSION 175 inline pcl::PointCloud<pcl::PointXYZ>::Ptr createXYZCloud(
const ImageSet& imageSet,
176 const char* frameId,
unsigned short minDisparity = 0);
183 inline pcl::PointCloud<pcl::PointXYZI>::Ptr createXYZICloud(
const ImageSet& imageSet,
184 const char* frameId,
unsigned short minDisparity = 0);
191 inline pcl::PointCloud<pcl::PointXYZRGB>::Ptr createXYZRGBCloud(
const ImageSet& imageSet,
192 const char* frameId,
unsigned short minDisparity = 0);
204 #ifdef PCL_MAJOR_VERSION 206 template <
typename T>
207 typename pcl::PointCloud<T>::Ptr initPointCloud(
const ImageSet& imageSet,
const char* frameId);
213 #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)...