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

安论坛网站建设个人网站主页设计模板

安论坛网站建设,个人网站主页设计模板,代理推广平台,蓝色风格网站目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1 索引空间采样 2.1.2 可视化原始点云和下采样后的点云 2.2完整代码 三、实现效果 PCL点云算法汇总及实战案例汇总的目录地址链接#xff1a; PCL点云算法与项目实战案例汇总#xf…目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1 索引空间采样 2.1.2 可视化原始点云和下采样后的点云 2.2完整代码 三、实现效果 PCL点云算法汇总及实战案例汇总的目录地址链接 PCL点云算法与项目实战案例汇总长期更新 一、概述 索引空间采样 是一种点云降采样方法通过使用点云的索引来选择特定的点进行保留。这种方法灵活且易于实现适用于需要从点云中提取特定索引点的场景。 1.1原理 索引空间采样的基本思想是使用点的索引来直接选择要保留的点。例如可以根据一定的规则如每隔 n 个点选择点或选择特定条件下的点。通过这种方式可以控制下采样的结果以达到所需的数据量。 常见的索引方法 基于法线或曲率的条件可以根据法线的方向、曲率等属性选择点。例如只选择那些法线曲率大于某个阈值的点以保留重要的几何特征。根据空间位置可以选择在特定区域内的点。例如只选择在某个坐标范围内的点或者选择在特定高度以上或以下的点。随机选择可以随机选择点的索引从而确保样本的多样性。这种方法适用于需要快速采样且不需要特定规则的场景。基于点的属性根据点的颜色、强度或其他属性选择点。例如选择强度高于某个值的点以提取出特定特征。自定义采样规则根据应用的具体需求自定义采样逻辑。例如可以根据点与某个参考点的距离进行采样只选择距离较近的点。 1.2实现步骤 读取点云数据。根据索引选择要保留的点。可视化原始点云和下采样后的点云。 1.3应用场景 点云简化在不影响整体形状的情况下减少点的数量。特征提取提取特定区域或特征的点。数据分析根据索引条件选择样本点进行分析。 二、代码实现 2.1关键函数 2.1.1 索引空间采样 通过使用点云的索引进行降采样。 #include pcl/io/pcd_io.h #include pcl/point_types.h// 设置采样步长 int step_size 10; // 每隔十个点采样一个点// 创建新的点云以存储下采样后的结果 pcl::PointCloudpcl::PointXYZ::Ptr sampled_cloud(new pcl::PointCloudpcl::PointXYZ);// 索引空间采样 for (size_t i 0; i cloud-size(); i step_size) {sampled_cloud-points.push_back(cloud-points[i]); // 添加采样点 } sampled_cloud-width sampled_cloud-points.size(); sampled_cloud-height 1; sampled_cloud-is_dense true; // 确保点云是密集的2.1.2 可视化原始点云和下采样后的点云 使用 PCLVisualizer 可视化原始点云和下采样后的点云设置背景为白色。 #include pcl/visualization/pcl_visualizer.h// 可视化原始点云和下采样后的点云 void visualizePointClouds(pcl::PointCloudpcl::PointXYZ::Ptr cloud, // 原始点云pcl::PointCloudpcl::PointXYZ::Ptr sampled_cloud) // 下采样后的点云 {pcl::visualization::PCLVisualizer::Ptr viewer(new pcl::visualization::PCLVisualizer(Index Space Sample Viewer));// 设置视口1显示原始点云int vp_1;viewer-createViewPort(0.0, 0.0, 0.5, 1.0, vp_1); // 左侧窗口viewer-setBackgroundColor(1.0, 1.0, 1.0, vp_1); // 白色背景viewer-addText(Original PointCloud, 10, 10, vp1_text, vp_1); // 标题pcl::visualization::PointCloudColorHandlerCustompcl::PointXYZ cloud_color_handler(cloud, 0, 255, 0); // 绿色viewer-addPointCloud(cloud, cloud_color_handler, original_cloud, vp_1);// 设置视口2显示下采样后的点云int vp_2;viewer-createViewPort(0.5, 0.0, 1.0, 1.0, vp_2); // 右侧窗口viewer-setBackgroundColor(1.0, 1.0, 1.0, vp_2); // 白色背景viewer-addText(Sampled PointCloud, 10, 10, vp2_text, vp_2); // 标题pcl::visualization::PointCloudColorHandlerCustompcl::PointXYZ sampled_color_handler(sampled_cloud, 255, 0, 0); // 红色viewer-addPointCloud(sampled_cloud, sampled_color_handler, sampled_cloud, vp_2);// 设置点的大小viewer-setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 2, original_cloud, vp_1);viewer-setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 4, sampled_cloud, vp_2);viewer-addCoordinateSystem(1.0);viewer-initCameraParameters();while (!viewer-wasStopped()){viewer-spinOnce(100);} }2.2完整代码 #include iostream #include pcl/io/pcd_io.h #include pcl/point_types.h #include pcl/visualization/pcl_visualizer.h// 可视化原始点云和下采样后的点云 void visualizePointClouds(pcl::PointCloudpcl::PointXYZ::Ptr cloud, // 原始点云pcl::PointCloudpcl::PointXYZ::Ptr sampled_cloud) // 下采样后的点云 {pcl::visualization::PCLVisualizer::Ptr viewer(new pcl::visualization::PCLVisualizer(Index Space Sample Viewer));// 设置视口1显示原始点云int vp_1;viewer-createViewPort(0.0, 0.0, 0.5, 1.0, vp_1); // 左侧窗口viewer-setBackgroundColor(1.0, 1.0, 1.0, vp_1); // 白色背景viewer-addText(Original PointCloud, 10, 10, vp1_text, vp_1); // 标题pcl::visualization::PointCloudColorHandlerCustompcl::PointXYZ cloud_color_handler(cloud, 0, 255, 0); // 绿色viewer-addPointCloud(cloud, cloud_color_handler, original_cloud, vp_1);// 设置视口2显示下采样后的点云int vp_2;viewer-createViewPort(0.5, 0.0, 1.0, 1.0, vp_2); // 右侧窗口viewer-setBackgroundColor(1.0, 1.0, 1.0, vp_2); // 白色背景viewer-addText(Sampled PointCloud, 10, 10, vp2_text, vp_2); // 标题pcl::visualization::PointCloudColorHandlerCustompcl::PointXYZ sampled_color_handler(sampled_cloud, 255, 0, 0); // 红色viewer-addPointCloud(sampled_cloud, sampled_color_handler, sampled_cloud, vp_2);// 设置点的大小viewer-setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 2, original_cloud, vp_1);viewer-setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 4, sampled_cloud, vp_2);/*viewer-addCoordinateSystem(1.0);viewer-initCameraParameters();*/while (!viewer-wasStopped()){viewer-spinOnce(100);} }int main(int argc, char** argv) {// -----------------------------读取点云数据---------------------------------pcl::PointCloudpcl::PointXYZ::Ptr cloud(new pcl::PointCloudpcl::PointXYZ);if (pcl::io::loadPCDFilepcl::PointXYZ(China dragon.pcd, *cloud) -1){PCL_ERROR(Couldnt read the PCD file!\n);return -1;}// -----------------------------索引空间采样---------------------------------pcl::PointCloudpcl::PointXYZ::Ptr sampled_cloud(new pcl::PointCloudpcl::PointXYZ); // 存储下采样后的点云// 设置采样步长int step_size 20; // 每隔十个点采样一个点// 索引空间采样for (size_t i 0; i cloud-size(); i step_size){sampled_cloud-points.push_back(cloud-points[i]); // 添加采样点}sampled_cloud-width sampled_cloud-points.size();sampled_cloud-height 1;sampled_cloud-is_dense true; // 确保点云是密集的// -----------------------------可视化原始点云和下采样后的点云---------------------------------visualizePointClouds(cloud, sampled_cloud);return 0; }三、实现效果
http://www.w-s-a.com/news/33805/

相关文章:

  • 网站职能建设论文做外贸都有哪些网站
  • 网站建设项目需求分析房地产网站源码
  • 网站充值提现公司账务怎么做中国能建设计公司网站
  • 网站信息资源建设包括哪些网站网站做维护
  • 网站性能优化的方法有哪些建设施工合同网站
  • 郑州建设企业网站山西省住房和城乡建设厅网站
  • 做网站的去哪找客户正规制作网站公司
  • 网站代理访问是什么意思外国优秀设计网站
  • 合肥个人建站模板网络技术服务有限公司
  • 做网站什么公司好dw企业网站开发教程
  • 怎么做自己的个人网站宝安网站设计哪家最好
  • 浩博建设集团网站站长网站统计
  • 电商网站开发视频seo排名优化方式方法
  • 宿迁市住房城乡建设局网站wordpress纯图片主题
  • 广州建设网站 公司湖北省建设信息网官网
  • 网站建立时间查询做百度移动网站优化排
  • 网站建设和运行费用qq恢复官方网站
  • 可以免费建立网站吗免费的网络营销方式
  • 天津企业设计网站建设wordpress标题字体大小
  • 上高县城乡规划建设局网站创业项目
  • 钓鱼网站在线下载广州网站设计哪里好
  • 做阿里国际网站会有成效吗wordpress微博同步
  • 西安网站建设云速网络网站运营情况怎么写
  • 免费建网站的网站微信商城分销系统方案
  • 烟台网站seo服务友情链接有哪些展现形式
  • 什么是移动网站开发免费网站开发框架
  • 做网站 创业wordpress子菜单
  • 门户网站类型有哪些权重7以上的网站
  • 政务网站建设论文android app开发教程
  • 网站开发实训h5总结个人网站注册平台要多少钱