当前位置: 首页 > news >正文

腾讯网站建设费用dw制作网站

腾讯网站建设费用,dw制作网站,淘宝网发布网站建设,upyun wordpress介绍 “Clustering of Pointclouds into Supervoxels” 是一种点云数据聚类的方法#xff0c;用于将点云数据分割成具有相似特征的超体素#xff08;supervoxel#xff09;。 超体素是一种在点云数据中表示连续区域的方法#xff0c;类似于像素在图像中表示连续区域。超体…介绍 “Clustering of Pointclouds into Supervoxels” 是一种点云数据聚类的方法用于将点云数据分割成具有相似特征的超体素supervoxel。 超体素是一种在点云数据中表示连续区域的方法类似于像素在图像中表示连续区域。超体素是点云数据的小块区域具有相似的几何特征和颜色特征。通过将点云数据聚类成超体素可以实现对点云数据的语义分割和对象识别。 “Clustering of Pointclouds into Supervoxels” 方法的主要步骤如下 首先对输入的点云数据进行预处理包括点云滤波、法线估计等操作以获取点云的几何和颜色特征。 然后通过选择一个种子点seed point开始使用一种聚类算法如欧几里得聚类或基于图的聚类将点云数据分割成超体素。聚类过程中会考虑点云的几何和颜色特征以确保超体素内的点具有相似的特征。 聚类过程中可以根据一些准则如紧密度、颜色一致性等对超体素进行合并或分割以进一步优化聚类结果。 最后生成的超体素可以用于点云的语义分割、对象识别等应用。可以根据超体素的特征将点云数据划分为不同的对象或区域。 “Clustering of Pointclouds into Supervoxels” 方法在点云处理和分析中具有广泛的应用特别是在三维场景理解、目标检测和机器人导航等领域。通过将点云数据聚类为超体素可以提取出具有语义信息的局部区域为后续的处理和分析提供更准确和可靠的数据基础。 效果 代码 #include pcl/console/parse.h #include pcl/point_cloud.h #include pcl/point_types.h #include pcl/io/pcd_io.h #include pcl/visualization/pcl_visualizer.h #include pcl/segmentation/supervoxel_clustering.h//VTK include needed for drawing graph lines #include vtkPolyLine.h// Types typedef pcl::PointXYZRGBA PointT; typedef pcl::PointCloudPointT PointCloudT; typedef pcl::PointNormal PointNT; typedef pcl::PointCloudPointNT PointNCloudT; typedef pcl::PointXYZL PointLT; typedef pcl::PointCloudPointLT PointLCloudT;void addSupervoxelConnectionsToViewer (PointT supervoxel_center,PointCloudT adjacent_supervoxel_centers,std::string supervoxel_name,pcl::visualization::PCLVisualizer::Ptr viewer);int main (int argc, char ** argv) {if (argc 2){pcl::console::print_error (Syntax is: %s pcd-file \n --NT Dsables the single cloud transform \n-v voxel resolution\n-s seed resolution\n-c color weight \n-z spatial weight \n-n normal_weight\n, argv[0]);return (1);}PointCloudT::Ptr cloud (new PointCloudT);pcl::console::print_highlight (Loading point cloud...\n);if (pcl::io::loadPCDFilePointT (argv[1], *cloud)){pcl::console::print_error (Error loading cloud file!\n);return (1);}bool disable_transform pcl::console::find_switch (argc, argv, --NT);float voxel_resolution 0.008f;// 用于体素化点云数据的分辨率bool voxel_res_specified pcl::console::find_switch (argc, argv, -v);if (voxel_res_specified)pcl::console::parse (argc, argv, -v, voxel_resolution);float seed_resolution 0.1f; // 用于种子点选择的分辨率bool seed_res_specified pcl::console::find_switch (argc, argv, -s);if (seed_res_specified)pcl::console::parse (argc, argv, -s, seed_resolution);float color_importance 0.2f;if (pcl::console::find_switch (argc, argv, -c))pcl::console::parse (argc, argv, -c, color_importance);float spatial_importance 0.4f;if (pcl::console::find_switch (argc, argv, -z))pcl::console::parse (argc, argv, -z, spatial_importance);float normal_importance 1.0f;if (pcl::console::find_switch (argc, argv, -n))pcl::console::parse (argc, argv, -n, normal_importance);// //// This is how to use supervoxels// //pcl::SupervoxelClusteringPointT super (voxel_resolution, seed_resolution);if (disable_transform)super.setUseSingleCameraTransform (false);super.setInputCloud (cloud);super.setColorImportance (color_importance); // 设置颜色重要性super.setSpatialImportance (spatial_importance); // 设置空间重要性super.setNormalImportance (normal_importance); // 设置法线重要性std::map std::uint32_t, pcl::SupervoxelPointT::Ptr supervoxel_clusters;pcl::console::print_highlight (Extracting supervoxels!\n);super.extract (supervoxel_clusters);pcl::console::print_info (Found %d supervoxels\n, supervoxel_clusters.size ());pcl::visualization::PCLVisualizer::Ptr viewer (new pcl::visualization::PCLVisualizer (3D Viewer));viewer-setBackgroundColor (0, 0, 0);PointCloudT::Ptr voxel_centroid_cloud super.getVoxelCentroidCloud (); // 获取超体素的体素质心点云viewer-addPointCloud (voxel_centroid_cloud, voxel centroids);viewer-setPointCloudRenderingProperties (pcl::visualization::PCL_VISUALIZER_POINT_SIZE,2.0, voxel centroids);viewer-setPointCloudRenderingProperties (pcl::visualization::PCL_VISUALIZER_OPACITY,0.95, voxel centroids);PointLCloudT::Ptr labeled_voxel_cloud super.getLabeledVoxelCloud (); // 获取标记过的点云viewer-addPointCloud (labeled_voxel_cloud, labeled voxels);viewer-setPointCloudRenderingProperties (pcl::visualization::PCL_VISUALIZER_OPACITY,0.8, labeled voxels);PointNCloudT::Ptr sv_normal_cloud super.makeSupervoxelNormalCloud (supervoxel_clusters); //获取超体素的法线点云//We have this disabled so graph is easy to see, uncomment to see supervoxel normals//viewer-addPointCloudNormalsPointNormal (sv_normal_cloud,1,0.05f, supervoxel_normals);pcl::console::print_highlight (Getting supervoxel adjacency\n);std::multimapstd::uint32_t, std::uint32_t supervoxel_adjacency;super.getSupervoxelAdjacency (supervoxel_adjacency); // 获取超体素的邻接关系//To make a graph of the supervoxel adjacency, we need to iterate through the supervoxel adjacency multimapor (auto label_itr supervoxel_adjacency.cbegin (); label_itr ! supervoxel_adjacency.cend (); ){//First get the labelstd::uint32_t supervoxel_label label_itr-first;//Now get the supervoxel corresponding to the labelpcl::SupervoxelPointT::Ptr supervoxel supervoxel_clusters.at (supervoxel_label);//Now we need to iterate through the adjacent supervoxels and make a point cloud of themPointCloudT adjacent_supervoxel_centers;for (auto adjacent_itr supervoxel_adjacency.equal_range (supervoxel_label).first; adjacent_itr!supervoxel_adjacency.equal_range (supervoxel_label).second; adjacent_itr){pcl::SupervoxelPointT::Ptr neighbor_supervoxel supervoxel_clusters.at (adjacent_itr-second);adjacent_supervoxel_centers.push_back (neighbor_supervoxel-centroid_);}//Now we make a name for this polygonstd::stringstream ss;ss supervoxel_ supervoxel_label;//This function is shown below, but is beyond the scope of this tutorial - basically it just generates a star polygon mesh from the points givenaddSupervoxelConnectionsToViewer (supervoxel-centroid_, adjacent_supervoxel_centers, ss.str (), viewer);//Move iterator forward to next labellabel_itr supervoxel_adjacency.upper_bound (supervoxel_label);}while (!viewer-wasStopped ()){viewer-spinOnce (100);}return (0);}void addSupervoxelConnectionsToViewer (PointT supervoxel_center,PointCloudT adjacent_supervoxel_centers,std::string supervoxel_name,pcl::visualization::PCLVisualizer::Ptr viewer){vtkSmartPointervtkPoints points vtkSmartPointervtkPoints::New ();vtkSmartPointervtkCellArray cells vtkSmartPointervtkCellArray::New ();vtkSmartPointervtkPolyLine polyLine vtkSmartPointervtkPolyLine::New ();//Iterate through all adjacent points, and add a center point to adjacent point pairfor (auto adjacent_itr adjacent_supervoxel_centers.begin (); adjacent_itr ! adjacent_supervoxel_centers.end (); adjacent_itr){points-InsertNextPoint (supervoxel_center.data);points-InsertNextPoint (adjacent_itr-data);}// Create a polydata to store everything invtkSmartPointervtkPolyData polyData vtkSmartPointervtkPolyData::New ();// Add the points to the datasetpolyData-SetPoints (points);polyLine-GetPointIds ()-SetNumberOfIds(points-GetNumberOfPoints ());for(unsigned int i 0; i points-GetNumberOfPoints (); i)polyLine-GetPointIds ()-SetId (i,i);cells-InsertNextCell (polyLine);// Add the lines to the datasetpolyData-SetLines (cells);viewer-addModelFromPolyData (polyData,supervoxel_name);}
http://www.zqtcl.cn/news/754219/

相关文章:

  • 网站响应式建设seo排名优化怎样
  • 山东 网站备案德清县建设局网站
  • 中英语双语网站咋做提供网站建设设计外包
  • 云网站功能江门网站seo关键词排名优化
  • 潍坊网站建设外贸制作html网站
  • 网站友情链接怎么添加定制酒营销方案
  • 目前最流行网站开发软件泰州市建设工程招标网
  • 福州网站优化me域名网站
  • 网站 案例互联网外包公司值得去吗
  • 做医疗护具网站浙江立鹏建设有限公司网站
  • 织梦制作手机网站c 网站开发需要学什么软件
  • 罗湖网站制作阿里巴巴开店网站怎么做
  • 深圳住房和建设局网站 招标怎样建设自己的视频网站
  • 网站建设的目的模板茶网站建设需要多少钱
  • 珠海市城乡住房建设局网站网站外链
  • 福田做网站需要多少钱做淘宝客网站性质
  • html网站怎么进入后台网站主题怎么写
  • wordpress怎么ftp建站高端网站建设域名注册
  • 我用织梦5.7做个网站应该把淘宝客店铺链接放到哪聊天软件开发需要多少钱
  • 站长工具爱站竞价单页网站制作
  • 网站分类目录大全购物网站大全棉鞋
  • 网站镜像做排名建立外贸英文网站应该怎么做
  • 上海做网站就用乐云seo手机网站cms 下载
  • 做网站需要固定ip么灵犀科技网站建设
  • 深圳高端做网站建设网站备案与不备案区别
  • 家居企业网站建设公司苏州高新区建设局网站管网
  • 体育门户网站模板seo网络推广有哪些
  • 石家庄网站建设教程百度云下载
  • 怎样查看网站建设时间公司网站关键词优化
  • 网站淘宝推广怎么做网站seo基本流程