40#include <pcl/2d/kernel.h>
44template <
typename Po
intT>
94template <
typename Po
intT>
110 std::exp(
float(-
double(iks * iks + jks * jks) / sigma_sqr));
111 sum += float(
kernel(j, i).intensity);
116 for (std::size_t i = 0; i <
kernel.size(); ++i)
117 kernel[i].intensity /= sum;
120template <
typename Po
intT>
135 float temp = float(
double(iks * iks + jks * jks) / sigma_sqr);
136 kernel(j, i).intensity = (1.0f - temp) * std::exp(-temp);
137 sum +=
kernel(j, i).intensity;
142 for (std::size_t i = 0; i < kernel.
size(); ++i)
146template <
typename Po
intT>
153 kernel(0, 0).intensity = -1;
154 kernel(1, 0).intensity = 0;
155 kernel(2, 0).intensity = 1;
156 kernel(0, 1).intensity = -2;
157 kernel(1, 1).intensity = 0;
158 kernel(2, 1).intensity = 2;
159 kernel(0, 2).intensity = -1;
160 kernel(1, 2).intensity = 0;
164template <
typename Po
intT>
171 kernel(0, 0).intensity = -1;
172 kernel(1, 0).intensity = 0;
173 kernel(2, 0).intensity = 1;
174 kernel(0, 1).intensity = -1;
175 kernel(1, 1).intensity = 0;
176 kernel(2, 1).intensity = 1;
177 kernel(0, 2).intensity = -1;
178 kernel(1, 2).intensity = 0;
182template <
typename Po
intT>
189 kernel(0, 0).intensity = 1;
190 kernel(1, 0).intensity = 0;
191 kernel(0, 1).intensity = 0;
192 kernel(1, 1).intensity = -1;
195template <
typename Po
intT>
202 kernel(0, 0).intensity = -1;
203 kernel(1, 0).intensity = -2;
204 kernel(2, 0).intensity = -1;
205 kernel(0, 1).intensity = 0;
207 kernel(2, 1).intensity = 0;
208 kernel(0, 2).intensity = 1;
209 kernel(1, 2).intensity = 2;
210 kernel(2, 2).intensity = 1;
213template <
typename Po
intT>
220 kernel(0, 0).intensity = 1;
221 kernel(1, 0).intensity = 1;
222 kernel(2, 0).intensity = 1;
223 kernel(0, 1).intensity = 0;
224 kernel(1, 1).intensity = 0;
226 kernel(0, 2).intensity = -1;
227 kernel(1, 2).intensity = -1;
228 kernel(2, 2).intensity = -1;
231template <
typename Po
intT>
238 kernel(0, 0).intensity = 0;
239 kernel(1, 0).intensity = 1;
240 kernel(0, 1).intensity = -1;
241 kernel(1, 1).intensity = 0;
244template <
typename Po
intT>
251 kernel(0, 0).intensity = -1;
252 kernel(1, 0).intensity = 0;
253 kernel(2, 0).intensity = 1;
256template <
typename Po
intT>
263 kernel(0, 0).intensity = 0;
264 kernel(1, 0).intensity = -1;
265 kernel(2, 0).intensity = 1;
268template <
typename Po
intT>
275 kernel(0, 0).intensity = -1;
276 kernel(1, 0).intensity = 1;
277 kernel(2, 0).intensity = 0;
280template <
typename Po
intT>
287 kernel(0, 0).intensity = -1;
288 kernel(0, 1).intensity = 0;
289 kernel(0, 2).intensity = 1;
292template <
typename Po
intT>
299 kernel(0, 0).intensity = 0;
300 kernel(0, 1).intensity = -1;
301 kernel(0, 2).intensity = 1;
304template <
typename Po
intT>
311 kernel(0, 0).intensity = -1;
312 kernel(0, 1).intensity = 1;
313 kernel(0, 2).intensity = 0;
316template <
typename Po
intT>
323template <
typename Po
intT>
330template <
typename Po
intT>
PointCloud represents the base class in PCL for storing collections of 3D points.
void prewittKernelY(pcl::PointCloud< PointT > &kernel)
void derivativeXBackwardKernel(pcl::PointCloud< PointT > &kernel)
void derivativeYBackwardKernel(PointCloud< PointInT > &kernel)
void prewittKernelX(pcl::PointCloud< PointT > &kernel)
void loGKernel(pcl::PointCloud< PointT > &kernel)
void setKernelSize(int kernel_size)
void sobelKernelX(pcl::PointCloud< PointT > &kernel)
void setKernelSigma(float kernel_sigma)
void derivativeXCentralKernel(pcl::PointCloud< PointT > &kernel)
void robertsKernelY(pcl::PointCloud< PointT > &kernel)
KERNEL_ENUM
Different types of kernels available.
@ DERIVATIVE_FORWARD_X
DERIVATIVE_FORWARD_X.
@ DERIVATIVE_BACKWARD_X
DERIVATIVE_BACKWARD_X.
@ DERIVATIVE_CENTRAL_X
DERIVATIVE_CENTRAL_X.
void setKernelType(KERNEL_ENUM kernel_type)
void gaussianKernel(pcl::PointCloud< PointInT > &kernel)
void sobelKernelY(pcl::PointCloud< PointT > &kernel)
void fetchKernel(pcl::PointCloud< PointT > &kernel)
void derivativeXForwardKernel(pcl::PointCloud< PointT > &kernel)
void derivativeYForwardKernel(pcl::PointCloud< PointInT > &kernel)
void robertsKernelX(pcl::PointCloud< PointT > &kernel)
void derivativeYCentralKernel(pcl::PointCloud< PointInT > &kernel)