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

建设教育网站的国内外研究现状wordpress导入主题

建设教育网站的国内外研究现状,wordpress导入主题,免费国外建站,高品质的网站开发公司这次我们将使用pcl::ROPSEstimation这个类来导出点的特征。 下面是这个方法的特征提取方式。有一个网格和一个点集可以让我们来执行一些简单的操作。第一步#xff0c;对于一个给定的兴趣点局部的表面将会被削平。局部表面包含了在半径内的点和三角形。对于给定的局部表面LRF…这次我们将使用pcl::ROPSEstimation这个类来导出点的特征。 下面是这个方法的特征提取方式。有一个网格和一个点集可以让我们来执行一些简单的操作。第一步对于一个给定的兴趣点局部的表面将会被削平。局部表面包含了在半径内的点和三角形。对于给定的局部表面LRF将被计算。LRF是向量的3个组之一。真正重要的是使用那些具有旋转不变的向量。为了做到这一点我们把感兴趣的点作为原点来做转换再这之后我们旋转局部表面以至于LRF向量关于OxOy,Oz坐标轴对称。完成这些后我们开始了特征导出。对于每个Ox,Oy,Oz坐标轴我们会把这些这些坐标轴作为当前的坐标轴。 1.局部表面通过一个给定的角度在当前的坐标轴进行旋转。 2.把局部表面投影成3个平面XY,XZ和YZ. 3.对于每个投影分布矩阵这个矩阵将展示怎么样把把点分到不同的容器里面。容器的数量代表了矩阵的维度和算法的参数。 4.每个分布矩阵的中心矩将会被计算。M11,M12,M21,M22E。E是信息熵。 5.计算值将会组成子特征。 我们把上面这些步骤进行多次迭代。不同坐标轴的子特征将组成RoPS描述器。 下面是代码 我们首先要找到目标模型 points 包含点云 indices 点的下标 triangles包含了多边形 #include pcl/features/rops_estimation.h #include pcl/io/pcd_io.h int main (int argc, char** argv) { if (argc ! 4) return (-1); pcl::PointCloudpcl::PointXYZ::Ptr cloud (new pcl::PointCloudpcl::PointXYZ ()); if (pcl::io::loadPCDFile (argv[1], *cloud) -1) return (-1); pcl::PointIndicesPtr indices boost::shared_ptr pcl::PointIndices (new pcl::PointIndices ()); std::ifstream indices_file; indices_file.open (argv[2], std::ifstream::in); for (std::string line; std::getline (indices_file, line);) { std::istringstream in (line); unsigned int index 0; in index; indices-indices.push_back (index - 1); } indices_file.close (); std::vector pcl::Vertices triangles; std::ifstream triangles_file; triangles_file.open (argv[3], std::ifstream::in); for (std::string line; std::getline (triangles_file, line);) { pcl::Vertices triangle; std::istringstream in (line); unsigned int vertex 0; in vertex; triangle.vertices.push_back (vertex - 1); in vertex; triangle.vertices.push_back (vertex - 1); in vertex; triangle.vertices.push_back (vertex - 1); triangles.push_back (triangle); } float support_radius 0.0285f; unsigned int number_of_partition_bins 5; unsigned int number_of_rotations 3; pcl::search::KdTreepcl::PointXYZ::Ptr search_method (new pcl::search::KdTreepcl::PointXYZ); search_method-setInputCloud (cloud); pcl::ROPSEstimation pcl::PointXYZ, pcl::Histogram 135 feature_estimator; feature_estimator.setSearchMethod (search_method); feature_estimator.setSearchSurface (cloud); feature_estimator.setInputCloud (cloud); feature_estimator.setIndices (indices); feature_estimator.setTriangles (triangles); feature_estimator.setRadiusSearch (support_radius); feature_estimator.setNumberOfPartitionBins (number_of_partition_bins); feature_estimator.setNumberOfRotations (number_of_rotations); feature_estimator.setSupportRadius (support_radius); pcl::PointCloudpcl::Histogram 135 ::Ptr histograms (new pcl::PointCloud pcl::Histogram 135 ()); feature_estimator.compute (*histograms); return (0); } 上面是指定下标点的RoPS特征计算的地方 std::vector pcl::Vertices triangles; std::ifstream triangles_file; triangles_file.open (argv[3], std::ifstream::in); for (std::string line; std::getline (triangles_file, line);) { pcl::Vertices triangle; std::istringstream in (line); unsigned int vertex 0; in vertex; triangle.vertices.push_back (vertex - 1); in vertex; triangle.vertices.push_back (vertex - 1); in vertex; triangle.vertices.push_back (vertex - 1); triangles.push_back (triangle); } 上面是加载关于多边形的信息的。你可以取代信息用下面的代码来进行三角划分如果你只有点云没有网格图。 float support_radius 0.0285f; unsigned int number_of_partition_bins 5; unsigned int number_of_rotations 3; 上面的这些代码定义了重要的算法参数局部表面裁剪支持的半径以及用于组成分布矩阵的容器的数量和旋转的次数。最后的参数将影响描述器的长度。 pcl::search::KdTreepcl::PointXYZ::Ptr search_method (new pcl::search::KdTreepcl::PointXYZ); search_method-setInputCloud (cloud); 上面设置了搜索方法。 pcl::ROPSEstimation pcl::PointXYZ, pcl::Histogram 135 feature_estimator; feature_estimator.setSearchMethod (search_method); feature_estimator.setSearchSurface (cloud); feature_estimator.setInputCloud (cloud); feature_estimator.setIndices (indices); feature_estimator.setTriangles (triangles); feature_estimator.setRadiusSearch (support_radius); feature_estimator.setNumberOfPartitionBins (number_of_partition_bins); feature_estimator.setNumberOfRotations (number_of_rotations); feature_estimator.setSupportRadius (support_radius); 上面是实例化类的地方。它包含了两个参数 PointInT输入点的类型 PointOutT输出点的类型 最终我们需要进行特征计算 pcl::PointCloudpcl::Histogram 135 ::Ptr histograms (new pcl::PointCloud pcl::Histogram 135 ()); feature_estimator.compute (*histograms); 然后运行 ./rops_feature points.pcd indices.txt triangles.txt
http://www.pierceye.com/news/365543/

相关文章:

  • 肥城网站设计公司商务网站要怎么做
  • 做网站的毕设用什么软件统计wordpress
  • 网站备案 游戏易企推
  • 男人做想看的免费网站网页设计有哪些岗位
  • 南江县规划和建设局网站怎样做淘宝客导购网站
  • 浦江县住房和城乡建设局网站校园网站开发方案
  • 微做网站网站开发源代码
  • 福建省住房城乡建设部网站fusionaccess免费服务器
  • 山东省春季高考网站建设试题莱芜在线论坛莱芜话题秦立奉
  • 太原城市建设招标网站电子商务是干什么的具体
  • 网站 营销网站的备案的要多少钱
  • 网站模板 源码wordpress手机端装换
  • 咋把网站制作成软件wordpress添加单页模板
  • 大连网站平台研发偷别人的WordPress主题
  • 做网站ps文字有锯齿公司做外地网站
  • 如何在百度提交自己的网站梦织和wordpress特点
  • 毕业设计做网站还是系统好网站可以随便创建么
  • 做网站与网页有什么区别昊客网络
  • 临沂地区建站网站设计一个企业网站首页
  • wordpress本地建站精准信息预测
  • 云服务器如何安装网站爱站网seo综合查询
  • 个人建什么样的网站好wordpress添加用户登录
  • 中国教育网站官网做网站购买域名之后
  • 公司网站建设的优势新图闻的品牌建设经验
  • 网站建设是在商标哪个类别深圳宝安区新安街道
  • 网站推广服务器怎么选wordpress获取菜单链接地址
  • 横岗做网站外贸网站建设推广优化
  • 怎样搭建一个个人网站国金紫郡府淮北论坛
  • 网站建设类型wordpress词典模板
  • wordpress标签订阅插件优化网站视频