网站搭建的流程济南网站建设公

bicheng/2026/1/18 12:07:50/文章来源:
网站搭建的流程,济南网站建设公,汕头cms模板建站,北京电商网站开发公司目录 一、LCCP方法二、代码实现三、实验结果四、总结五、相关链接 一、LCCP方法 LCCP指的是Local Convexity-Constrained Patch#xff0c;即局部凸约束补丁的意思。LCCP方法的基本思想是在图像中找到局部区域内的凸结构#xff0c;并将这些结构用于分割图像或提取特征。这种… 目录 一、LCCP方法二、代码实现三、实验结果四、总结五、相关链接 一、LCCP方法 LCCP指的是Local Convexity-Constrained Patch即局部凸约束补丁的意思。LCCP方法的基本思想是在图像中找到局部区域内的凸结构并将这些结构用于分割图像或提取特征。这种方法可以帮助识别图像中的凸物体并对它们进行分割。LCCP方法通常结合了空间和法线信息以提高图像分割的准确性和稳定性。 LCCP算法大致可以分成两个部分1.基于超体聚类的过分割。2.在超体聚类的基础上再聚类。 该方法流程图如下 二、代码实现 #include iostream #include pcl/ModelCoefficients.h #include pcl/io/pcd_io.h #include pcl/point_types.h #include pcl/sample_consensus/method_types.h #include pcl/sample_consensus/model_types.h #include pcl/segmentation/sac_segmentation.h #include pcl/visualization/cloud_viewer.h #include pcl/filters/extract_indices.h #include boost/thread/thread.hpp #include stdlib.h #include cmath #include limits.h #include boost/format.hpp #include pcl/console/parse.h #include pcl/io/pcd_io.h #include pcl/visualization/pcl_visualizer.h #include pcl/visualization/point_cloud_color_handlers.h #include pcl/filters/passthrough.h #include pcl/segmentation/supervoxel_clustering.h #include pcl/segmentation/lccp_segmentation.h #include vtkPolyLine.h #include pcl/point_cloud.h #include pcl/segmentation/supervoxel_clustering.h #include pcl/visualization/pcl_visualizer.husing namespace std; typedef pcl::PointXYZ PointT; typedef pcl::LCCPSegmentationPointT::SupervoxelAdjacencyList SuperVoxelAdjacencyList; //邻接线条可视化 void addSupervoxelConnectionsToViewer(pcl::PointXYZRGBA supervoxel_center, pcl::PointCloudpcl::PointXYZRGBA adjacent_supervoxel_centers,std::string supervoxel_name, pcl::visualization::PCLVisualizer::Ptr viewer) {vtkSmartPointervtkPoints points vtkSmartPointervtkPoints::New();vtkSmartPointervtkCellArray cells vtkSmartPointervtkCellArray::New();vtkSmartPointervtkPolyLine polyLine vtkSmartPointervtkPolyLine::New();for (auto adjacent_itr adjacent_supervoxel_centers.begin(); adjacent_itr ! adjacent_supervoxel_centers.end(); adjacent_itr){points-InsertNextPoint(supervoxel_center.data);points-InsertNextPoint(adjacent_itr-data);}vtkSmartPointervtkPolyData polyData vtkSmartPointervtkPolyData::New();polyData-SetPoints(points);polyLine-GetPointIds()-SetNumberOfIds(points-GetNumberOfPoints());for (unsigned int i 0; i points-GetNumberOfPoints(); i)polyLine-GetPointIds()-SetId(i, i);cells-InsertNextCell(polyLine);polyData-SetLines(cells);viewer-addModelFromPolyData(polyData, supervoxel_name); }int main(int argc, char** argv) {pcl::PointCloudpcl::PointXYZ::Ptr cloud(new pcl::PointCloudpcl::PointXYZ);pcl::PointCloudpcl::PointXYZ::Ptr cloud_filtered(new pcl::PointCloudpcl::PointXYZ);pcl::PCDReader reader;// 读入点云PCD文件reader.read(E:****.pcd, *cloud);cout Point cloud data: cloud-points.size() points endl;pcl::ModelCoefficients::Ptr coefficients(new pcl::ModelCoefficients);pcl::PointIndices::Ptr inliers(new pcl::PointIndices);// 创建分割对象pcl::SACSegmentationpcl::PointXYZ seg;// 可选择配置设置模型系数需要优化seg.setOptimizeCoefficients(true);// 必须配置设置分割的模型类型、所用随机参数估计方法seg.setModelType(pcl::SACMODEL_PLANE);seg.setMethodType(pcl::SAC_RANSAC);seg.setDistanceThreshold(0.02);// 距离阈值 单位m。距离阈值决定了点被认为是局内点时必须满足的条件//seg.setDistanceThreshold(0.15);// 距离阈值 单位m。距离阈值决定了点被认为是局内点时必须满足的条件//距离阈值表示点到估计模型的距离最大值。seg.setInputCloud(cloud);//输入点云seg.segment(*inliers, *coefficients);//实现分割并存储分割结果到点集合inliers及存储平面模型系数coefficientsif (inliers-indices.size() 0){PCL_ERROR(Could not estimate a planar model for the given dataset.);return (-1);}//***********************************************************************//-----------输出平面模型的系数 a,b,c,d-----------cout Model coefficients: coefficients-values[0] coefficients-values[1] coefficients-values[2] coefficients-values[3] endl;cout Model inliers: inliers-indices.size() endl;//***********************************************************************// 提取地面pcl::ExtractIndicespcl::PointXYZ extract;extract.setInputCloud(cloud);extract.setIndices(inliers);extract.filter(*cloud_filtered);cout Ground cloud after filtering: endl;cout *cloud_filtered std::endl;pcl::PCDWriter writer;writer.writepcl::PointXYZ(3dpoints_ground.pcd, *cloud_filtered, false);// 提取除地面外的物体extract.setNegative(true);extract.filter(*cloud_filtered);cout Object cloud after filtering: endl;cout *cloud_filtered endl;//writer.writepcl::PointXYZ(.pcd, *cloud_filtered, false);// 点云可视化boost::shared_ptrpcl::visualization::PCLVisualizerviewer0(new pcl::visualization::PCLVisualizer(显示点云));//左边窗口显示输入的点云,右边的窗口显示分割后的点云int v1(0), v2(0);viewer0-createViewPort(0, 0, 0.5, 1, v1);viewer0-createViewPort(0.5, 0, 1, 1, v2);viewer0-setBackgroundColor(0, 0, 0, v1);viewer0-setBackgroundColor(0.3, 0.3, 0.3, v2);pcl::visualization::PointCloudColorHandlerCustompcl::PointXYZ color_in(cloud, 255, 0, 0);viewer0-addPointCloudpcl::PointXYZ(cloud, color_in, cloud_in, v1);viewer0-setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 1, cloud_in, v1);viewer0-addPointCloudpcl::PointXYZ(cloud_filtered, cloud_out, v2);viewer0-setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_COLOR, 0, 255, 0, cloud_out, v2);viewer0-setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 1, cloud_out, v2);while (!viewer0-wasStopped()){viewer0-spinOnce(100);boost::this_thread::sleep(boost::posix_time::microseconds(1000));}//***********************************************************************//超体聚类 float voxel_resolution 0.01f; // 设置体素大小该设置决定底层八叉树的叶子尺寸float seed_resolution 0.15f; // 设置种子大小该设置决定超体素的大小float color_importance 0.0f; // 设置颜色在距离测试公式中的权重即颜色影响超体素分割结果的比重。 真实点云都是一个颜色所以这个参数无作用float spatial_importance 0.9f; // 设置空间距离在距离测试公式中的权重较高的值会构建非常规则的超体素较低的值产生的体素会按照法线float normal_importance 4.0f; // 设置法向量的权重即表面法向量影响超体素分割结果的比重。bool use_single_cam_transform false;bool use_supervoxel_refinement false;unsigned int k_factor 0;//voxel_resolution is the resolution (in meters) of voxels used、seed_resolution is the average size (in meters) of resulting supervoxels pcl::SupervoxelClusteringPointT super(voxel_resolution, seed_resolution);super.setUseSingleCameraTransform(use_single_cam_transform);super.setInputCloud(cloud_filtered); //cloud_filteredsuper.setColorImportance(color_importance);//Set the importance of spatial distance for supervoxels.super.setSpatialImportance(spatial_importance);//Set the importance of scalar normal product for supervoxels. super.setNormalImportance(normal_importance);std::mapuint32_t, pcl::SupervoxelPointT::Ptr supervoxel_clusters;super.extract(supervoxel_clusters);std::multimapuint32_t, uint32_t supervoxel_adjacency;super.getSupervoxelAdjacency(supervoxel_adjacency);pcl::PointCloudpcl::PointNormal::Ptr sv_centroid_normal_cloud pcl::SupervoxelClusteringPointT::makeSupervoxelNormalCloud(supervoxel_clusters);cout 超体素分割的体素个数为 supervoxel_clusters.size() endl;// 获取点云对应的超体素分割标签pcl::PointCloudpcl::PointXYZL::Ptr supervoxel_cloud super.getLabeledCloud();pcl::visualization::PCLVisualizer::Ptr viewer1(new pcl::visualization::PCLVisualizer(VCCS));viewer1-setWindowName(超体素分割);viewer1-addPointCloud(supervoxel_cloud, 超体素分割);viewer1-setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 1, 超体素分割);viewer1-setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_OPACITY, 0.5, 超体素分割);//-----------------------------------------获得体素点云的邻接单元----------------------------------------------multimapuint32_t, uint32_tSupervoxelAdjacency;super.getSupervoxelAdjacency(SupervoxelAdjacency);for (auto label_itr SupervoxelAdjacency.cbegin(); label_itr ! SupervoxelAdjacency.cend();){uint32_t super_label label_itr-first;//获取体素单元的标签pcl::Supervoxelpcl::PointXYZ::Ptr super_cloud supervoxel_clusters.at(super_label);//把对应标签内的点云、体素质心、以及质心对应的法向量提取出来pcl::PointCloudpcl::PointXYZRGBA adjacent_supervoxel_centers;for (auto adjacent_itr SupervoxelAdjacency.equal_range(super_label).first; adjacent_itr ! SupervoxelAdjacency.equal_range(super_label).second; adjacent_itr){pcl::Supervoxelpcl::PointXYZ::Ptr neighbor_supervoxel supervoxel_clusters.at(adjacent_itr-second);adjacent_supervoxel_centers.push_back(neighbor_supervoxel-centroid_);}std::stringstream ss;ss supervoxel_ super_label;addSupervoxelConnectionsToViewer(super_cloud-centroid_, adjacent_supervoxel_centers, ss.str(), viewer1);label_itr SupervoxelAdjacency.upper_bound(super_label);}// 等待直到可视化窗口关闭while (!viewer1-wasStopped()){viewer1-spinOnce(100);boost::this_thread::sleep(boost::posix_time::microseconds(1000));}//return 0;//***********************************************************************//LCCP分割float concavity_tolerance_threshold 10;float smoothness_threshold 0.8;uint32_t min_segment_size 0;bool use_extended_convexity false;bool use_sanity_criterion false;pcl::LCCPSegmentationPointT lccp;lccp.setConcavityToleranceThreshold(concavity_tolerance_threshold);//CC效验beta值lccp.setSmoothnessCheck(true, voxel_resolution, seed_resolution, smoothness_threshold);lccp.setKFactor(k_factor); //CC效验的k邻点lccp.setInputSupervoxels(supervoxel_clusters, supervoxel_adjacency);lccp.setMinSegmentSize(min_segment_size);//最小分割尺寸lccp.segment();pcl::PointCloudpcl::PointXYZL::Ptr sv_labeled_cloud super.getLabeledCloud();pcl::PointCloudpcl::PointXYZL::Ptr lccp_labeled_cloud sv_labeled_cloud-makeShared();lccp.relabelCloud(*lccp_labeled_cloud);SuperVoxelAdjacencyList sv_adjacency_list;lccp.getSVAdjacencyList(sv_adjacency_list);pcl::visualization::PCLVisualizer::Ptr viewer2(new pcl::visualization::PCLVisualizer(LCCP超体素分割));viewer2-setWindowName(LCCP超体素分割);viewer2-addPointCloud(lccp_labeled_cloud, LCCP超体素分割);viewer2-setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 1, LCCP超体素分割);viewer2-setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_OPACITY, 0.5, LCCP超体素分割);// 等待直到可视化窗口关闭while (!viewer2-wasStopped()){viewer2-spinOnce(100);boost::this_thread::sleep(boost::posix_time::microseconds(1000));}return 0;} 三、实验结果 原数据 去除地面后 超体聚类过分割 LCCP分割 四、总结 从实验结果来看LCCP算法在相似物体场景分割方面有着较好的表现对于颜色类似但棱角分明的物体可使用该算法。 五、相关链接 [1]PCL-低层次视觉-点云分割超体聚类 [2]PCL_使用LCCP进行点云分割

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/89224.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新乡网站建设网站收录率

PyTorch深度学习实战(5)——计算机视觉 0. 前言1. 图像表示2. 将图像转换为结构化数组2.1 灰度图像表示2.2 彩色图像表示 3 利用神经网络进行图像分析的优势小结系列链接 0. 前言 计算机视觉是指通过计算机系统对图像和视频进行处理和分析,利…

网站设计师绩效做微信小程序和网站那个简单

Linxu自动化构建工具make/Makefile究竟时什么? 一、简介二、makefile文件制作(简洁版)2.1 源文件2.2 makefile如何制作2.2.1 依赖关系、依赖方法2.2.3 伪目标(清理文件资源) 三、make/Makefile自动化原理3.1 伪目标为什…

asp怎么新建网站wordpress点评插件

1、在AI中,有没有和CD一样的调整文字间距的快捷键呀? 答:Alt+左右方向键移动箭头。 2、在AI中,如何像快速放大缩小编辑区域? 答:按住Alt滚动鼠标滚轮。 3、在AI中,如何设置圆角矩形的圆角大小? 答:点击圆角矩形工具,用鼠标点击画布,这里可以填。 4、在AI中,如何简单…

网站做多久能盈利怎样用自己电脑做网站

单例模式是一个经典设计模式,简要的说,一个类的单例模式就是它只能被实例化一次,实例变量在第一次实例化时就已经固定。 在Python中常见的单例模式有None,这就是一个很典型的设计,通常使用 if xxx is None或者if xxx …

上海平台网站建设报价外贸营销网页设计

阶段2: // 1.编写自己的Spring容器,实现扫描包,得到bean的class对象.2.扫描将 bean 信息封装到 BeanDefinition对象,并放入到Map.思路: 1.将 bean 信息封装到 BeanDefinition对象中,再将其放入到BeanDefinitionMap集合中,集合的结构大概是 key[beanName]–value[beanDefintion…

网站建设客户需求网络营销的定义是什么

题目 下载题目所给的压缩包后解压得到文本提示 由题目名可知为凯撒密码 根据提示格式为flag{},所以猜测前四个字符原文为flag 先来推测一下偏移量 a->f 偏移量为-5,按道理来说每个字符的偏移量都是一样的,但是对照过后发现后面的字符对…

电商门户网站常州网上车管所

一、概念 (1) 定义 在数据库系统中针对不同的使用对象和应用目的,采用不同的数据模型。根据模型的应用的不同目的,可以将这些模型划分为两类: (2) 分类 A:概念数据模型 它也称信息模型它是按用户的观点(观念世界&…

o2o网站建设方案讲解国内十大网站建设公司

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

江苏建设管理信息网站wordpress 写模版

题目难度: 简单原题链接 题目描述给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。回文串不一定是字典当中的单词。示例 1:输入:"tactcoa" 输出…

展厅设计说明200字seo自然排名优化

最近遇到一个需求&#xff0c;一个古早的移动端 juery 项目要求做一个页面&#xff0c;从接口获取 pdf 文件流&#xff0c;然后预览出来 这里使用第三方工具&#xff1a;pdf.js 代码如下&#xff1a; // 引入相关文件<script src"../js/pdf.js" type"text…

湖北网站建设 鄂 icp小程序ui界面设计

动态规划&#xff1a; 1.先声明dp数组的含义为下标i表示的是在s变量中i前面的字符串是否在wordDict变量中存在&#xff0c;初始化dp【0】来进行后面dp数组的递推。同时要判断截取的值是否在wirdDict中是否存在&#xff0c;还要判断dp【j】的下标的j前面的字符串是否也在wirdDi…

怎么用ps做网站效果图市场调查数据分析

前言&#xff1a;在前面我们知道在类和对象中有六个默认成员函数&#xff0c;并学习了其中三个构造函数、析构函数、拷贝构造函数&#xff0c;今天我们将进一步的学习.赋值运算符重载。 &#x1f496; 博主CSDN主页:卫卫卫的个人主页 &#x1f49e; &#x1f449; 专栏分类:高质…

wordpress is_tag百度智能建站适合优化吗

一、数据类型 数据类型分为数值型、布尔型、字符串型等 1.1数值类型 数值类型可以分为整数类型、浮点数类型、复数类型 1.1.1整数类型 (1)概念&#xff1a;整数类型指数值是没有小数部分的&#xff0c;包含正整数、负整数和0 (2)进制种类&#xff1a;十进制--->234、5…

零库存品牌童装杭州网站建设嘉兴seo排名

在当今数字化时代&#xff0c;数据已成为企业最宝贵的资产之一。数据分析作为一项强大的工具&#xff0c;对企业来说已经不再是可选项&#xff0c;而是一项必不可少的战略性举措。为什么企业要做数据分析&#xff1f;让我们深入探讨这个问题。 提升决策质量&#xff1a; 数据…

做网站学桂林生活网分类信息网站

桌子上有一水杯&#xff0c;杯子里有半杯水。 甲看到了说&#xff1a;太好了&#xff0c;还有半杯水。 乙看到了说&#xff1a;只有半杯水了。 从另一个角度说&#xff0c;甲关注的是“水”&#xff0c;而乙关注的是“空气”即水面到杯子口的那段空间。 收获到了&#xff0c;那…

网站制作的流程包括网站建设技术外文文献

第一章 绪论 一、数据库系统概述 1.数据库的4个基本概念 &#xff08;1&#xff09;数据 描述事物的符号记录称为数据 &#xff08;2&#xff09;数据库 存放数据的仓库 &#xff08;3&#xff09;数据库管理系统 主要功能&#xff1a; &#xff08;1&#xff09;数据定…

免费做公司手机网站怎样在网站做环评公示

前言 在学 Java的时候&#xff0c;我们学习了一个标准类 java.net.URL&#xff0c;该类在 Java SE 中的定位为统一资源定位器&#xff08;Uniform Resource Locator&#xff09;&#xff0c;但是我们知道它的实现基本只限于网络形式发布的资源的查找和定位。然而&#xff0c;实…

网站付费推广渠道做商城网站产品怎么分布

作为一名热衷于分布式系统的开发者&#xff0c;你或许对Tomcat8已经不陌生了。然而&#xff0c;单个Tomcat实例的性能和可用性总有瓶颈&#xff0c;要实现高可用性和更强的性能&#xff0c;就需要搭建一个Tomcat集群。在这篇文章中&#xff0c;我将带你一步步搭建一个基于Tomca…

网站开发源码虚拟主机可以做视频视频网站吗

transition: right 1s; //重点直接改变right值 操作过快 这里用该方法实现1s内淡入淡出 达到效果目标

东莞整合网站建设公司版式设计素材网站

目录 1、实验目的 2、实验预习与准备 3、实验内容及步骤 本博客为数据库课布置的实验二的作业。 1、实验目的 &#xff08;1&#xff09; 掌握Select子句的功能和检索数据的方法 &#xff08;2&#xff09; 掌握对查询结果排序的方法 2、实验预习与准备 &#xf…