29#include <pcl/point_cloud.h>
30#include <pcl/point_types.h>
32#include <Math/Math3d.h>
43 void InterpolateRotation(
const Mat3d m1,
const Mat3d m2,
const float fWeight, Mat3d& mResult);
52 void ClusterXMeans(
const std::vector<CHypothesisPoint*>& aPoints,
53 const int nMinNumClusters,
54 const int nMaxNumClusters,
55 const float fBICFactor,
56 std::vector<std::vector<CHypothesisPoint*>>& aaPointClusters);
58 const int nMinNumClusters,
59 const int nMaxNumClusters,
60 const float fBICFactor,
61 std::vector<std::vector<Vec3d>>& aaPointClusters,
62 std::vector<std::vector<int>>& aaOldIndizes);
65 const CByteImage* pForegroundImage,
66 const CCalibration* calibration,
67 std::vector<CHypothesisPoint*>& aForegroundPoints);
69 const CByteImage* pForegroundImage,
70 const CCalibration* calibration);
72 const CByteImage* pForegroundImage,
73 const CCalibration* calibration);
75 const CByteImage* pForegroundImage,
76 const CCalibration* calibration,
77 float& fForegroundRatio,
78 int& nNumForegroundPixels);
81 const bool bUseSecondMaxPoints,
88 const Vec2d vMinMiddle,
89 const Vec2d vMaxMiddle,
90 const Vec2d vMiddleMax,
91 const CByteImage* pForegroundImage);
96 void GetMeanAndVariance(
const std::vector<Vec3d>& aPoints, Vec3d& vMean,
float& fVariance);
98 const float fStdDevFactor,
99 std::vector<int>* pOldIndices);
100 void RemoveOutliers(std::vector<CHypothesisPoint*>& aPoints,
const float fStdDevFactor);
103 const CObjectHypothesis* pHypothesis);
105 pcl::PointCloud<pcl::PointXYZRGBA>::Ptr
109 const unsigned char g,
110 const unsigned char b,
115 std::vector<float>& aHueHistogram,
116 std::vector<float>& aSaturationHistogram);
122 std::vector<float>& aHueHistogram,
123 std::vector<float>& aSaturationHistogram);
128 const std::vector<float>& aHistogram2);
130 const std::vector<float>& aHistogram2);
132 const std::vector<float>& aHistogram2);
134 void DrawCross(CByteImage* pGreyImage,
int x,
int y,
int nBrightness);
135 void DrawCross(CByteImage* pColorImage,
int x,
int y,
int r,
int g,
int b);
136 void DrawFatCross(CByteImage* pColorImage,
int x,
int y,
int r,
int g,
int b);
139 const CCalibration* calibration,
140 CByteImage*& pForegroundImage);
142 const CCalibration* calibration,
143 CByteImage*& pProbabilityImage);
148 const CObjectHypothesis* pHypothesis2,
149 const CCalibration* calibration);
152 const CCalibration* calibration,
154 const int nNumFusedHypotheses = 1);
156 FillHolesRGB(
const CByteImage* pInputImage, CByteImage* pOutputImage,
const int nRadius = 1);
158 FillHolesGray(
const CByteImage* pInputImage, CByteImage* pOutputImage,
const int nRadius = 1);
161 void SortByPositionZ(std::vector<CHypothesisPoint*>& pHypothesisPoints);
162 void SortByPositionZ(std::vector<CHypothesisPoint*>& pHypothesisPoints,
163 const int nLeftLimit,
164 const int nRightLimit);
167 CByteImage* pDisparity,
168 CByteImage* pEdgeImage);