资源简介
源文件夹包含基于PCL实现的树结构建立,最近邻搜索,区域生长,采样分割等
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include
#include
typedef std::pair > vfh_model;
/** \brief Loads an n-D histogram file as a VFH signature
* \param path the input file name
* \param vfh the resultant VFH model
*/
bool
loadHist (const boost::filesystem::path &path vfh_model &vfh)
{
int vfh_idx;
// Load the file as a PCD
try
{
sensor_msgs::PointCloud2 cloud;
int version;
Eigen::Vector4f origin;
Eigen::Quaternionf orientation;
pcl::PCDReader r;
int type; unsigned int idx;
r.readHeader (path.string () cloud origin orientation version type idx);
vfh_idx = pcl::getFieldIndex (cloud “vfh“);
if (vfh_idx == -1)
return (false);
if ((int)cloud.width * cloud.height != 1)
return (false);
}
catch (pcl::InvalidConversionException e)
{
return (false);
}
// Treat the VFH signature as a single Point Cloud
pcl::PointCloud point;
pcl::io::loadPCDFile (path.string () point);
vfh.second.resize (308);
std::vector fields;
pcl::getFieldIndex (point “vfh“ fields);
for (size_t i = 0; i < fields[vfh_idx].count; ++i)
{
vfh.second[i] = point.points[0].histogram[i];
}
vfh.first = path.string ();
return (true);
}
/** \brief Load a set of VFH features that will act as the model (training data)
* \param argc the number of arguments (pass from main ())
* \param argv the actual command line arguments (pass from main ())
* \param extension the file extension containing the VFH features
* \param models the resultant vector of histogram models
*/
void
loadFeatureModels (const boost::filesystem::path &base_dir const std::string &extension
std::vector &models)
{
if (!boost::filesystem::exists (base_dir) && !boost::filesystem::is_directory (base_dir))
return;
for (boost::filesystem::directory_iterator it (base_dir); it != boost::filesystem::directory_iterator (); ++it)
{
if (boost::filesystem::is_directory (it->status ()))
{
std::stringstream ss;
ss << it->path ();
pcl::console::print_highlight (“Loading %s (%lu models loaded so far).\n“ ss.str ().c_str () (unsigned long)models.size ());
loadFeatureModels (it->path () extension models);
}
if (boost::filesystem::is_regular_file (it->status ()) && boost::filesystem::extension (it->path ()) == extension)
{
vfh_model m;
if (loadHist (base_dir / it->path ().filename () m))
models.push_back (m);
}
}
}
int
main (int argc char** argv)
{
if (argc < 2)
{
PCL_ERROR (“Need at least two parameters! Syntax is: %s [model_directo
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4753 2012-05-27 23:46 build_tree.cpp
文件 960 2012-05-27 23:49 CMakeLists.txt
文件 2152 2016-06-14 23:51 conditional_euclidean_clustering.cpp
文件 2038 2016-06-14 23:51 min_cut_segmentation.cpp
文件 9927 2012-05-27 23:48 nearest_neighbors.cpp
文件 2005 2016-06-14 23:51 region_growing.cpp
文件 2194 2016-06-14 23:51 region_growing_rgb.cpp
文件 2429 2016-06-14 23:51 sac_segmentation.cpp
文件 2022 2016-06-14 23:51 segment_differences.cpp
文件 4053 2017-03-07 21:35 segmentation_0.cpp
----------- --------- ---------- ----- ----
32533 10
- 上一篇:DXC采集商业版+50条采集规则
- 下一篇:基于功率预测模型的并网逆变器直接功率控制
相关资源
- TcpListener类与TcpClient类的使用
- 基于图像匹配技术的飞机识别
- WebApi系列-通过HttpClient来调用WebApi接口
- 基于图像识别的候梯人数检测系统
- 点云数据ply格式
- Unity下调用摄像头识别二维码
- 脱机手写签名识别-要求与源码
- 朴素贝叶斯分类器-人脸识别方面的
- V0.7 08XE基本识别程序(口令模式)
- tracerout:路由识别
- KNN识别LED数码管
- juniper SRX防火墙cluster配置步骤
- 车牌的字符分割和字符识别的研究与
- 交通标志识别OpenCV源代码
- pcl icp算法
- 基于OpenCV的摄像头动态手势轨迹识别
- 基于图像处理的焊点缺陷识别方法的
- PCL-1.9.1-AllInOne-msvc2017-win64 百度云链接
- source.zip
- 人行为识别代码,需要的过来看看,
- 支持向量机线性核函数、非线性核函
- 海量点云数据的重复点删除
- Labview实现语音播报与识别
- Labview实现语音识别
- QTP完全卸载助手纯净-QTPCleanUninstalle
- 利用OpenCV,通过SVM识别图像中图形链
- 图像文字识别,BP神经网络
- 国科大模式识别与机器学习考题总结
- LD3320语音识别模块stm32例程调试
- 人脸识别Demo系列免费、带离线——人
评论
共有 条评论