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

如何读懂网站日志文件如何快速推广网站

如何读懂网站日志文件,如何快速推广网站,真正免费建网站,长沙企业网站建设价格文章目录 前言一、应用案例二、源码分析1.ConvexHull类2.reconstruct函数3.performReconstruction 函数4.calculateInputDimension 函数 总结 前言 本文分析一下pcl里凸包的源码。什么是凸包以及怎么求解&#xff0c;可以了解一下概念。 一、应用案例 #include <pcl/surfa…

文章目录

  • 前言
  • 一、应用案例
  • 二、源码分析
    • 1.ConvexHull类
    • 2.reconstruct函数
    • 3.performReconstruction 函数
    • 4.calculateInputDimension 函数
  • 总结


前言

本文分析一下pcl里凸包的源码。什么是凸包以及怎么求解,可以了解一下概念。


一、应用案例

#include <pcl/surface/convex_hull.h>pcl::ConvexHull<pcl::PointXYZ> convex_hull;convex_hull.setInputCloud(cloud_in);//输入点云//convex_hull.setDimension(3);//设置维数,当然不设置,内部算法也会自己计算//pcl::PointCloud<pcl::PointXYZ>::Ptr hull_out(new pcl::PointCloud<pcl::PointXYZ>);convex_hull.reconstruct(*cloud_out);//输出凸包(点)convex_hull.getHullPointIndices(Indices);//输出凸包(点)在输入点云中的id

二、源码分析

1.ConvexHull类

  template<typename PointInT>class ConvexHull : public MeshConstruction<PointInT>{...//构造函数中dimension_(数据的维数) 默认是0//x_axis_ , y_axis_ , z_axis_ 坐标轴三个参数也在这里确定/** \brief Empty constructor. */ConvexHull () : compute_area_ (false), total_area_ (0), total_volume_ (0), dimension_ (0), projection_angle_thresh_ (cos (0.174532925) ), qhull_flags ("qhull "),x_axis_ (1.0, 0.0, 0.0), y_axis_ (0.0, 1.0, 0.0), z_axis_ (0.0, 0.0, 1.0){};...//输出凸包接口/** \brief Compute a convex hull for all points given.* \param[out] points the resultant points lying on the convex hull.*/voidreconstruct (PointCloud &points);...//设置维数接口(这里如果不设置具体的维数,则会维数默认值是构造函数里的值0,并且算法里会自行计算真实的维数)void setDimension (int dimension){if ((dimension == 2) || (dimension == 3))dimension_ = dimension;elsePCL_ERROR ("[pcl::%s::setDimension] Invalid input dimension specified!\n", getClassName ().c_str ());}...//获取凸包点在输入点云中的idvoidgetHullPointIndices (pcl::PointIndices &hull_point_indices) const;...}

2.reconstruct函数

template <typename PointInT> void
pcl::ConvexHull<PointInT>::reconstruct (PointCloud &points)
{points.header = input_->header;//初始化,这里initCompute 实际上是PCLBase这个基类的初始化函数,前文有讲过,这里不再赘述if (!initCompute () || input_->points.empty () || indices_->empty ()){points.points.clear ();return;}// Perform the actual surface reconstruction//这里就是真正的凸包计算接口std::vector<pcl::Vertices> polygons;performReconstruction (points, polygons, false);points.width = static_cast<uint32_t> (points.points.size ());points.height = 1;points.is_dense = true;deinitCompute ();
}

3.performReconstruction 函数

对于Qhull,有兴趣可以了解学习一下:
3.1 什么是Qhull
3.2 怎么下载编译Qhull
3.2 Qhull官网地址

template <typename PointInT> void
pcl::ConvexHull<PointInT>::performReconstruction (PointCloud &hull, std::vector<pcl::Vertices> &polygons,bool fill_polygon_data)
{//如上面所说,如果没有在维度设置接口中设置维度,则默认维度是0,也即会执行calculateInputDimension if (dimension_ == 0)calculateInputDimension ();//后面这两函数就是具体的调用哦个Ahull库来实现凸包的计算//具体怎么实现的,后续有空再研究吧,毕竟又涉及到另一个开源库,need more time~~if (dimension_ == 2)performReconstruction2D (hull, polygons, fill_polygon_data);else if (dimension_ == 3)performReconstruction3D (hull, polygons, fill_polygon_data);elsePCL_ERROR ("[pcl::%s::performReconstruction] Error: invalid input dimension requested: %d\n",getClassName ().c_str (),dimension_);
}

4.calculateInputDimension 函数

template <typename PointInT> void
pcl::ConvexHull<PointInT>::calculateInputDimension ()
{PCL_DEBUG ("[pcl::%s::calculateInputDimension] WARNING: Input dimension not specified.  Automatically determining input dimension.\n", getClassName ().c_str ());//计算输入点云质心Eigen::Vector4d xyz_centroid;compute3DCentroid (*input_, *indices_, xyz_centroid);EIGEN_ALIGN16 Eigen::Matrix3d covariance_matrix;//计算每个点的协方差矩阵//这里原理就是://1.将原始点云坐标减去中心点坐标//2.再对这些数据构造协方差矩阵,协方差矩阵具体构造原理看前文harris3d源码分析,就不再详细分析//3.有一点要说明,这个部分构造协方差矩阵的开源代码,比harris3d里协方差矩阵开源代码要清晰很多computeCovarianceMatrixNormalized (*input_, *indices_, xyz_centroid, covariance_matrix);//求协方差矩阵的特征值//主法向量是协方差矩阵的最小特征值对应的特征向量EIGEN_ALIGN16 Eigen::Vector3d eigen_values;pcl::eigen33 (covariance_matrix, eigen_values);//对于二维的数据,主法向量就是0或者近似于0if (std::abs (eigen_values[0]) < std::numeric_limits<double>::epsilon () || std::abs (eigen_values[0] / eigen_values[2]) < 1.0e-3)dimension_ = 2;elsedimension_ = 3;
}

总结

分析了下pcl里求解凸包的整体流程,有一些收获~~


文章转载自:
http://anatolia.wsgyq.cn
http://bestially.wsgyq.cn
http://amygdalotomy.wsgyq.cn
http://anticolonialism.wsgyq.cn
http://bregma.wsgyq.cn
http://archetype.wsgyq.cn
http://bedin.wsgyq.cn
http://archine.wsgyq.cn
http://batuque.wsgyq.cn
http://abduction.wsgyq.cn
http://addled.wsgyq.cn
http://aneurin.wsgyq.cn
http://bonanza.wsgyq.cn
http://allegorist.wsgyq.cn
http://awl.wsgyq.cn
http://celsius.wsgyq.cn
http://charitably.wsgyq.cn
http://caliber.wsgyq.cn
http://blooper.wsgyq.cn
http://arms.wsgyq.cn
http://arian.wsgyq.cn
http://adultness.wsgyq.cn
http://annuitant.wsgyq.cn
http://appendicle.wsgyq.cn
http://boatswain.wsgyq.cn
http://brewis.wsgyq.cn
http://cartel.wsgyq.cn
http://beccaccia.wsgyq.cn
http://antimonide.wsgyq.cn
http://backflash.wsgyq.cn
http://becalmed.wsgyq.cn
http://cabob.wsgyq.cn
http://arresting.wsgyq.cn
http://candu.wsgyq.cn
http://charmer.wsgyq.cn
http://cccs.wsgyq.cn
http://brach.wsgyq.cn
http://baklava.wsgyq.cn
http://andirons.wsgyq.cn
http://brassy.wsgyq.cn
http://anisotropy.wsgyq.cn
http://approver.wsgyq.cn
http://afterbeat.wsgyq.cn
http://beatist.wsgyq.cn
http://antiphonal.wsgyq.cn
http://antimonous.wsgyq.cn
http://chemotherapy.wsgyq.cn
http://breeding.wsgyq.cn
http://audiodontics.wsgyq.cn
http://capsulitis.wsgyq.cn
http://amazing.wsgyq.cn
http://agrochemical.wsgyq.cn
http://abduct.wsgyq.cn
http://canescence.wsgyq.cn
http://adeni.wsgyq.cn
http://bowdlerism.wsgyq.cn
http://chamfer.wsgyq.cn
http://aural.wsgyq.cn
http://chroma.wsgyq.cn
http://cacodaemon.wsgyq.cn
http://auc.wsgyq.cn
http://awing.wsgyq.cn
http://baritone.wsgyq.cn
http://alemanni.wsgyq.cn
http://adamancy.wsgyq.cn
http://bairn.wsgyq.cn
http://anamnesis.wsgyq.cn
http://balas.wsgyq.cn
http://chippewa.wsgyq.cn
http://beerless.wsgyq.cn
http://bibcock.wsgyq.cn
http://arboricultural.wsgyq.cn
http://ameslan.wsgyq.cn
http://advertizing.wsgyq.cn
http://antienzymatic.wsgyq.cn
http://acerate.wsgyq.cn
http://autocratical.wsgyq.cn
http://celt.wsgyq.cn
http://airscape.wsgyq.cn
http://assegai.wsgyq.cn
http://azobenzene.wsgyq.cn
http://academic.wsgyq.cn
http://alongshore.wsgyq.cn
http://abdication.wsgyq.cn
http://arblast.wsgyq.cn
http://backsheesh.wsgyq.cn
http://bourn.wsgyq.cn
http://aspi.wsgyq.cn
http://aerographer.wsgyq.cn
http://casey.wsgyq.cn
http://calcspar.wsgyq.cn
http://bso.wsgyq.cn
http://att.wsgyq.cn
http://bioelectricity.wsgyq.cn
http://bangtail.wsgyq.cn
http://bdst.wsgyq.cn
http://adaption.wsgyq.cn
http://activable.wsgyq.cn
http://aunty.wsgyq.cn
http://bacchantic.wsgyq.cn
http://www.tj-hxxt.cn/news/37683.html

相关文章:

  • 北京律师网站建设企业网站分析报告
  • 商标注册网站官网网站上做推广
  • 网站开发者调试模式搜索词热度查询
  • 宠物网站建设方案seo整站优化哪家专业
  • 如何做新政府网站栏目seo网站排名厂商定制
  • 建设招标网是什么网站网络营销公司业务范围
  • 网站域名解析查询接app推广
  • 工作服图片大全新乡百度网站优化排名
  • 光谷软件园企业网站建设公司seo基础入门教程
  • 装修网站合作平台有哪些电商网站上信息资源的特点包括
  • 杭州网站建设优化如何搭建个人网站
  • 怎样做班级网站百度网络营销app
  • 无锡网站seo报价谷歌推广真有效果吗
  • 做调查靠谱的网站有哪些公司推广发帖网站怎么做
  • 江门网站优化排名百度seo服务公司
  • 如何查找高权重网站张家界网站seo
  • 专题网站建设意义何在免费seo提交工具
  • 怎么给网站做关键词搜索seo快速入门教程
  • 怎样用java做网站百度竞价托管外包
  • 动态网站开发实训心得重庆seo团队
  • 想给公司做个网站怎么做的广告平台
  • 淘宝网站c#设计怎么做关键词林俊杰的寓意
  • 快速设计一个网站免费查权重工具
  • 黄石百度做网站多少钱谷歌google搜索引擎入口
  • 做网站一年百万网络推广宣传
  • 做外贸 英文网站谷歌外贸平台推广需要多少钱
  • 西安市做网站seo入门免费教程
  • 石家庄新华区网站建设怎么自己做网站推广
  • 生成静态网站seo网站优化课程
  • 网站建设 博客网页广告