資源簡介
源文件夾包含基于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???{
????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?<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條采集規則
- 下一篇:基于功率預測模型的并網逆變器直接功率控制
評論
共有 條評論