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

排名好的网站开发论坛网站搭建

排名好的网站开发,论坛网站搭建,一站式网站建设哪家专业,参考消息电子版官网目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1 加载点云数据 2.1.2 执行4PCS粗配准 2.1.3 可视化源点云、目标点云和配准结果 2.2完整代码 三、实现效果 3.1原始点云 3.2配准后点云 PCL点云算法汇总及实战案例汇总的目录地址链接…目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1 加载点云数据 2.1.2 执行4PCS粗配准 2.1.3 可视化源点云、目标点云和配准结果 2.2完整代码 三、实现效果 3.1原始点云 3.2配准后点云 PCL点云算法汇总及实战案例汇总的目录地址链接 PCL点云算法与项目实战案例汇总长期更新 一、概述 4PCS四点一致集算法是一种用于点云配准的粗配准方法。该算法通过寻找目标点云和源点云之间具有几何约束的四点集合进行匹配继而估计出变换矩阵。4PCS 算法具有较好的抗噪性和计算效率适用于较大尺度的点云配准场景。 1.1原理 4PCS 算法通过以下步骤进行粗配准 点云采样从源点云和目标点云中采样若干点形成四点集合。几何一致性验证计算这四个点在两个点云中的相对距离通过几何一致性约束找到符合要求的四点集合。估计变换矩阵使用一致的四点集合计算源点云到目标点云的变换矩阵。应用变换矩阵将计算得到的变换矩阵应用到源点云上使其与目标点云对齐。 配准结果的质量依赖于 重叠率设置源点云和目标点云的近似重叠率。采样点数量设置参与匹配的采样点数量。精度参数 Delta控制配准的精度通过对配准点云的稀疏化进行加速。 1.2实现步骤 加载源点云和目标点云。设置4PCS配准参数包括近似重叠率、采样点数量、精度参数等。执行4PCS粗配准通过设置参数执行粗配准得到变换矩阵。应用变换矩阵将源点云应用变换矩阵对齐至目标点云。可视化结果将源点云、目标点云以及对齐后的点云进行可视化对比。 1.3应用场景 粗配准阶段4PCS 可以用于点云配准的初步阶段提供较为快速的粗略对齐结果后续可以使用更精细的算法如ICP进行精配准。多场景拼接在多视角点云场景下4PCS 可以帮助快速匹配不同视角的点云数据。点云地图生成在SLAM同步定位与地图构建中4PCS 可以用于不同帧之间的点云匹配与对齐。 二、代码实现 2.1关键函数 2.1.1 加载点云数据 void loadPointClouds(pcl::PointCloudpcl::PointXYZ::Ptr source_cloud, pcl::PointCloudpcl::PointXYZ::Ptr target_cloud) {if (pcl::io::loadPCDFilepcl::PointXYZ(hand_trans.pcd, *target_cloud) -1) {PCL_ERROR(读取目标点云失败 \n);}if (pcl::io::loadPCDFilepcl::PointXYZ(hand.pcd, *source_cloud) -1) {PCL_ERROR(读取源点云失败 \n);} } 2.1.2 执行4PCS粗配准 void perform4PCSRegistration(pcl::PointCloudpcl::PointXYZ::Ptr source_cloud, pcl::PointCloudpcl::PointXYZ::Ptr target_cloud, pcl::PointCloudpcl::PointXYZ::Ptr aligned_cloud, Eigen::Matrix4f transformation_matrix) {pcl::registration::FPCSInitialAlignmentpcl::PointXYZ, pcl::PointXYZ fpcs;fpcs.setInputSource(source_cloud);fpcs.setInputTarget(target_cloud);fpcs.setApproxOverlap(0.7); // 设置近似重叠率fpcs.setDelta(0.01); // 精度参数fpcs.setNumberOfSamples(100); // 采样点数量fpcs.align(*aligned_cloud); // 执行配准transformation_matrix fpcs.getFinalTransformation(); // 获取变换矩阵 }2.1.3 可视化源点云、目标点云和配准结果 // 可视化源点云、目标点云和配准结果 void visualizePointClouds(pcl::PointCloudpcl::PointXYZ::Ptr source_cloud, pcl::PointCloudpcl::PointXYZ::Ptr target_cloud) {boost::shared_ptrpcl::visualization::PCLVisualizer viewer(new pcl::visualization::PCLVisualizer(Point Cloud Registration Viewer));viewer-setBackgroundColor(1.0, 1.0, 1.0); // 设置背景颜色为黑色pcl::visualization::PointCloudColorHandlerCustompcl::PointXYZ target_color(target_cloud, 255, 0, 0);viewer-addPointCloud(target_cloud, target_color, target cloud); // 目标点云红色pcl::visualization::PointCloudColorHandlerCustompcl::PointXYZ source_color(source_cloud, 0, 0, 255);viewer-addPointCloud(source_cloud, source_color, source cloud); // 源点云蓝色viewer-setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 2, target cloud);viewer-setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 2, source cloud);while (!viewer-wasStopped()) {viewer-spinOnce();} } 2.2完整代码 #include iostream #include pcl/io/pcd_io.h #include pcl/point_types.h #include pcl/registration/ia_fpcs.h #include pcl/console/time.h #include boost/thread/thread.hpp #include pcl/visualization/pcl_visualizer.h// 加载点云数据 void loadPointClouds(pcl::PointCloudpcl::PointXYZ::Ptr source_cloud, pcl::PointCloudpcl::PointXYZ::Ptr target_cloud) {if (pcl::io::loadPCDFilepcl::PointXYZ(hand_trans.pcd, *target_cloud) -1) {PCL_ERROR(读取目标点云失败 \n);}if (pcl::io::loadPCDFilepcl::PointXYZ(hand.pcd, *source_cloud) -1) {PCL_ERROR(读取源点云失败 \n);} }// 执行4PCS粗配准 void perform4PCSRegistration(pcl::PointCloudpcl::PointXYZ::Ptr source_cloud, pcl::PointCloudpcl::PointXYZ::Ptr target_cloud, pcl::PointCloudpcl::PointXYZ::Ptr aligned_cloud, Eigen::Matrix4f transformation_matrix) {pcl::registration::FPCSInitialAlignmentpcl::PointXYZ, pcl::PointXYZ fpcs;fpcs.setInputSource(source_cloud);fpcs.setInputTarget(target_cloud);fpcs.setApproxOverlap(0.7); // 设置近似重叠率fpcs.setDelta(0.01); // 精度参数fpcs.setNumberOfSamples(1000); // 采样点数量fpcs.align(*aligned_cloud); // 执行配准transformation_matrix fpcs.getFinalTransformation(); // 获取变换矩阵 }// 可视化源点云、目标点云和配准结果 // 可视化源点云、目标点云和配准结果 void visualizePointClouds(pcl::PointCloudpcl::PointXYZ::Ptr source_cloud, pcl::PointCloudpcl::PointXYZ::Ptr target_cloud) {boost::shared_ptrpcl::visualization::PCLVisualizer viewer(new pcl::visualization::PCLVisualizer(Point Cloud Registration Viewer));viewer-setBackgroundColor(1.0, 1.0, 1.0); // 设置背景颜色为黑色pcl::visualization::PointCloudColorHandlerCustompcl::PointXYZ target_color(target_cloud, 255, 0, 0);viewer-addPointCloud(target_cloud, target_color, target cloud); // 目标点云红色pcl::visualization::PointCloudColorHandlerCustompcl::PointXYZ source_color(source_cloud, 0, 0, 255);viewer-addPointCloud(source_cloud, source_color, source cloud); // 源点云蓝色viewer-setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 2, target cloud);viewer-setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 2, source cloud);while (!viewer-wasStopped()) {viewer-spinOnce();} }int main(int argc, char** argv) {pcl::console::TicToc time;pcl::PointCloudpcl::PointXYZ::Ptr target_cloud(new pcl::PointCloudpcl::PointXYZ);pcl::PointCloudpcl::PointXYZ::Ptr source_cloud(new pcl::PointCloudpcl::PointXYZ);loadPointClouds(source_cloud, target_cloud);pcl::PointCloudpcl::PointXYZ::Ptr aligned_cloud(new pcl::PointCloudpcl::PointXYZ);Eigen::Matrix4f transformation_matrix;time.tic();perform4PCSRegistration(source_cloud, target_cloud, aligned_cloud, transformation_matrix);cout FPCS配准用时 time.toc() ms endl;cout 变换矩阵 transformation_matrix endl;//显示原始点云visualizePointClouds(source_cloud, target_cloud);//显示配准后点云visualizePointClouds(target_cloud, aligned_cloud);return 0; }三、实现效果 3.1原始点云 3.2配准后点云
http://www.w-s-a.com/news/261986/

相关文章:

  • 织梦 图片网站源码成都建设工程安监局网站
  • 做兼职的网站策划书湖北省建设工程造价信息网
  • 企业网站网址长期做网站应该购买稳定的空间
  • 网站静态化设计html5手机网站制作
  • 深圳最简单的网站建设家居网站建设全网营销
  • 如何取消网站备案佛山网站优化公司
  • 网站开发 成都广水网站设计
  • 音乐网站建设目标合同管理系统
  • jq网站特效插件如何知道网站是否被k
  • 自己的网站怎么接广告网站搭建收费
  • 宁波大型网站制作建立一个网站 优帮云
  • 大连零基础网站建设教学电话有哪些比较好的做ppt好的网站
  • 哪个网站做logo设计我的建筑网
  • php电子商务网站开发沂源手机网站建设公司
  • html和php做网站哪个好3gcms企业手机网站整站源码asp
  • 网站建设网页设计案例云南建设厅网站删除
  • 杏坛网站制作太原做网站要多少钱呢
  • 做新闻类网站还有市场吗东莞黄页网广告
  • 地方网站做外卖专业做互联网招聘的网站有哪些
  • 网站推广公司兴田德润紧急网页升级紧急通知
  • 厦门做网站哪家强企业网站网页设计的步骤
  • 普拓网站建设济南行业网站建设
  • 燕郊 网站开发网站里的地图定位怎么做
  • 门户网站建设招标互联网创业项目概述
  • 用什么做网站比较好市场调研公司是做什么的
  • 电商网站充值消费系统绍兴网站优化
  • 深圳网站建设公司联虚拟币交易网站开发
  • 专业网站设计建设公司抖音代运营公司排名前十强
  • 做网站架构肃北蒙古族自治县建设局网站
  • 推广网站怎么建经济研究院网站建设方案