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

wap手机网站开发软件wordpress编辑器不行

wap手机网站开发软件,wordpress编辑器不行,软件开发能力,如何网页设计与制作#xff08;二十七#xff09;基于法线差的点云分割 图片来源 提出这个方法的论文#xff1a;Difference of Normals as a Multi-Scale Operator in Unorganized Point Clouds 算法流程#xff1a; 在大尺度的范围内#xff08;半径 r 1 r_1 r1​#xff09;估计每个点…二十七基于法线差的点云分割 图片来源 提出这个方法的论文Difference of Normals as a Multi-Scale Operator in Unorganized Point Clouds 算法流程 在大尺度的范围内半径 r 1 r_1 r1​估计每个点的法线 在晓尺度的范围半径 r 2 r_2 r2​估计每个点的法线 计算法线差Difference of Normals (DoN) 根据设定的法线差阈值过滤点 对剩余的点进行欧几里得分割。 don_segmentation.cpp /*** file don_segmentation.cpp* Difference of Normals Example for PCL Segmentation Tutorials.** author Yani Ioannou* date 2012-09-24*/ #include string #include pcl/point_types.h #include pcl/io/pcd_io.h #include pcl/search/organized.h #include pcl/search/kdtree.h #include pcl/features/normal_3d_omp.h #include pcl/filters/conditional_removal.h #include pcl/segmentation/extract_clusters.h #include pcl/features/don.husing namespace pcl;int main (int argc, char *argv[]) {///The smallest scale to use in the DoN filter.double scale1;///The largest scale to use in the DoN filter.double scale2;///The minimum DoN magnitude to threshold bydouble threshold;///segment scene into clusters with given distance tolerance using euclidean clusteringdouble segradius;if (argc 6){std::cerr usage: argv[0] inputfile smallscale largescale threshold segradius std::endl;exit (EXIT_FAILURE);}/// the file to read from.std::string infile argv[1];/// small scalestd::istringstream (argv[2]) scale1;/// large scalestd::istringstream (argv[3]) scale2;std::istringstream (argv[4]) threshold; // threshold for DoN magnitudestd::istringstream (argv[5]) segradius; // threshold for radius segmentation// Load cloud in blob formatpcl::PCLPointCloud2 blob;pcl::io::loadPCDFile (infile.c_str (), blob);pcl::PointCloudPointXYZRGB::Ptr cloud (new pcl::PointCloudPointXYZRGB);pcl::fromPCLPointCloud2 (blob, *cloud);// OrganizedNeighbor适用于有组织的数据。KDTree适用于无组织的数据pcl::search::SearchPointXYZRGB::Ptr tree;if (cloud-isOrganized ()){tree.reset (new pcl::search::OrganizedNeighborPointXYZRGB ());}else{tree.reset (new pcl::search::KdTreePointXYZRGB (false));}// Set the input pointcloud for the search treetree-setInputCloud (cloud);if (scale1 scale2){std::cerr Error: Large scale must be small scale! std::endl;exit (EXIT_FAILURE);}// 计算每个点小尺度和大尺度的法线// 通过OpenMP多线程使用处理器中的多个内核来计算法线pcl::NormalEstimationOMPPointXYZRGB, PointNormal ne; // PointNormal-float x,y,z,normal[3], curvaturene.setInputCloud (cloud);ne.setSearchMethod (tree);// 设置一个在所有法线计算中使用的视点,确保了在不同尺度上估计的法线的基本方向一致。ne.setViewPoint (std::numeric_limitsfloat::max (), std::numeric_limitsfloat::max (), std::numeric_limitsfloat::max ());// calculate normals with the small scalestd::cout Calculating normals for scale... scale1 std::endl;pcl::PointCloudPointNormal::Ptr normals_small_scale (new pcl::PointCloudPointNormal);ne.setRadiusSearch (scale1);ne.compute (*normals_small_scale);// calculate normals with the large scalestd::cout Calculating normals for scale... scale2 std::endl;pcl::PointCloudPointNormal::Ptr normals_large_scale (new pcl::PointCloudPointNormal);ne.setRadiusSearch (scale2);ne.compute (*normals_large_scale);// Create output cloud for DoN resultsPointCloudPointNormal::Ptr doncloud (new pcl::PointCloudPointNormal);copyPointCloud (*cloud, *doncloud);std::cout Calculating DoN... std::endl;// DoN 估计模板的3个参数第一个对应于输入点云类型,第二个对应于为点云估计的法线类型.第三个对应于输出类型pcl::DifferenceOfNormalsEstimationPointXYZRGB, PointNormal, PointNormal don;don.setInputCloud (cloud);don.setNormalScaleLarge (normals_large_scale);don.setNormalScaleSmall (normals_small_scale);if (!don.initCompute ()){std::cerr Error: Could not initialize DoN feature operator std::endl;exit (EXIT_FAILURE);}// Compute DoNdon.computeFeature (*doncloud);// Save DoN featurespcl::PCDWriter writer;writer.writepcl::PointNormal (don.pcd, *doncloud, false); std::cout Filtering out DoN mag threshold ... std::endl;// 设定滤波条件根据点的法线差矢量过滤点 pcl::ConditionOrPointNormal::Ptr range_cond (new pcl::ConditionOrPointNormal ());// curvature 过滤DoN的l2范数小于threshold的点range_cond-addComparison (pcl::FieldComparisonPointNormal::ConstPtr (new pcl::FieldComparisonPointNormal (curvature, pcl::ComparisonOps::GT, threshold)));// 创建条件滤波器pcl::ConditionalRemovalPointNormal condrem;condrem.setCondition (range_cond);condrem.setInputCloud (doncloud);pcl::PointCloudPointNormal::Ptr doncloud_filtered (new pcl::PointCloudPointNormal);// Apply filtercondrem.filter (*doncloud_filtered);doncloud doncloud_filtered;// Save filtered outputstd::cout Filtered Pointcloud: doncloud-size () data points. std::endl;writer.writepcl::PointNormal (don_filtered.pcd, *doncloud, false); // 欧几里得聚类分割std::cout Clustering using EuclideanClusterExtraction with tolerance segradius ... std::endl;pcl::search::KdTreePointNormal::Ptr segtree (new pcl::search::KdTreePointNormal);segtree-setInputCloud (doncloud);std::vectorpcl::PointIndices cluster_indices;pcl::EuclideanClusterExtractionPointNormal ec;ec.setClusterTolerance (segradius);ec.setMinClusterSize (50);ec.setMaxClusterSize (100000);ec.setSearchMethod (segtree);ec.setInputCloud (doncloud);ec.extract (cluster_indices);int j 0;for (const auto cluster : cluster_indices){pcl::PointCloudPointNormal::Ptr cloud_cluster_don (new pcl::PointCloudPointNormal);for (const auto idx : cluster.indices){cloud_cluster_don-points.push_back ((*doncloud)[idx]);}cloud_cluster_don-width cloud_cluster_don-size ();cloud_cluster_don-height 1;cloud_cluster_don-is_dense true;//Save clusterstd::cout PointCloud representing the Cluster: cloud_cluster_don-size () data points. std::endl;std::stringstream ss;ss don_cluster_ j .pcd;writer.writepcl::PointNormal (ss.str (), *cloud_cluster_don, false);j;} }CMakeLists.txt cmake_minimum_required(VERSION 3.5 FATAL_ERROR)project(don_segmentation)find_package(PCL 1.7 REQUIRED)include_directories(${PCL_INCLUDE_DIRS}) link_directories(${PCL_LIBRARY_DIRS}) add_definitions(${PCL_DEFINITIONS})add_executable (don_segmentation don_segmentation.cpp) target_link_libraries (don_segmentation ${PCL_LIBRARIES})数据样例 编译并运行 $ ./don_segmentation inputfile smallscale largescale threshold segradius$./don_segmentation 003000.pcd 0.4 2 0.2 0.5DoN 根据DoN滤除点 聚类
http://www.hkea.cn/news/14466848/

相关文章:

  • 苏州资讯网站建设工作态度和责任心感悟
  • 佛山优化网站公司wordpress本地打开很慢
  • 贵阳专业做网站公司有哪些广东新闻联播主持人
  • 网站如何做等保备案wordpress怎么私人媒体库
  • 做视频链接网站十大免费ppt网站软件
  • 网站怎么做动态图旅游网站设计规划书
  • wordpress仿站插件昆明购物网站建设
  • 网站有哪些布局郴州网站网络推广平台
  • 网站建设公司公司建一个公司网站多少钱
  • 网站查询ip地址查询长沙seo优化公司哪家好
  • 温州网站设计服务广东seo排名
  • 做外文网站wordpress suspected
  • 培训医院网站建设网站建设搭建环境
  • 上海做网站的公司电话wordpress 去掉左上角
  • 怎么将自己做的网站放到网上个人网站设计论文题目
  • 免费个人网站搭建完整网页开发
  • xp 做网站服务器吗wordpress数据库更改账号密码
  • 网站群 主要功能九江茶叶网站建设
  • 福州医保网站调入申报怎么做蝉知 wordpress
  • 关键词查网站网络营销项目策划书
  • 可以做微信公众号封面的网站网站服务器的功能
  • 做网站那些好公司注册资金最低是多少
  • 做网站素材google浏览器下载
  • 奉贤庄行网站建设网站的关键词排名怎么做
  • 蓝色网站素材母版页和窗体做网站例子
  • 常州网络公司中环互联网网站建设深圳动画制作
  • 门网站源码wordpress首页友情链接
  • win7用iis搭建网站网站群建设规范
  • 手机创建网站免费怎样做自己网站
  • 网站突然被降权wordpress评论自定义头像