挡墙边界提取

基于点云对挡墙边界进行提取

在这里插入图片描述

算法思路

  1. 将点转到极坐标系下,并得到极坐标系下的索引值,并输出距离信息。
double getCellIndexFromPoints(double x, double y, int& chI)
{// 计算点到原点的欧几里得距离double distance = sqrt(x * x + y * y);// 将极坐标中的角度映射为一个标准化的值,确保在 [0, 1) 范围内double chP = (atan2(y, x) + M_PI) / (2 * M_PI);// 将标准化的角度值映射为索引值(在 numChannel_ 范围内)chI = floor(chP * numChannel_);// 返回点到原点的欧几里得距离return distance;
}

在这里插入图片描述
2. 定义一个栅格Cell,栅格存储x,y坐标以及距离distance。定义一个map,key为索引,value是栅格。在索引相同时判断栅格的距离,小距离的保留下来。

typedef  struct
{double x,y;double distance = 9999;
}Cell;cell_map.clear();for(auto point : cloud->points){int chI = -1;double distance = getCellIndexFromPoints(point.x,point.y,chI);if (chI >= 0 && chI < numChannel_){if(cell_map.find(chI)==cell_map.end() || cell_map[chI].distance > distance){cell_map[chI] = {point.x,point.y,distance};}}}
  1. 遍历map,将Value中的x,y填入边界线中,得到最后的内容
    for(auto map_item : cell_map){PointSany point{map_item.second.x,map_item.second.y,1.0};hull->points.push_back(point);}

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

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

相关文章

vue中组件传值方法

父组件给子组件传值 一、 1.在子组件标签中写入父组件传递数据 向下传递prop 2.在子组件内声明props选项接收父组件传递的数据 props:[,,] 父组件&#xff1a; <Header :msgmsg ></Header> 子组件&#xff1a; props:[msg], 二、 provide i…

vue3 vue-router编程式导航(二)

文章目录 一、跳转到指定路径1. query传参2. Params传参 二、前进/后退三、替换当前页 Vue Router提供了强大且灵活的编程式导航功能&#xff0c;能够通过代码来控制路由的切换和跳转。本篇博客将介绍如何在Vue 3应用程序中使用Vue Router进行编程式导航。 一、跳转到指定路径…

markdown记录

文章目录 基础操作使用一级列表、二级列表 博文链接 基础操作 使用一级列表、二级列表 博文链接 CSDN-Markdown语法集锦 CSDN-markdown语法之如何使用LaTeX语法编写数学公式 CSDN Markdown简明教程1-关于Markdown CSDN Markdown简明教程2-基本使用 CSDN Markdown简明教程3-表…

uni-app 微信小程序之好看的ui登录页面(五)

文章目录 1. 页面效果2. 页面样式代码 更多登录ui页面 uni-app 微信小程序之好看的ui登录页面&#xff08;一&#xff09; uni-app 微信小程序之好看的ui登录页面&#xff08;二&#xff09; uni-app 微信小程序之好看的ui登录页面&#xff08;三&#xff09; uni-app 微信小程…

【教学类-35-05】17号的学号字帖(A4竖版1份)

作品展示&#xff1a; 背景需求&#xff1a; 大四班17号男孩目前无法自主数学数字。他表示自己能够认识数字&#xff0c;但不会写。 保育老师说&#xff1a;我曾经教过他&#xff0c;抓着手示范的。但是他记不住。家里估计也不练习的。年龄还没到&#xff0c;下学期再看看能不…

营收增速持续放缓,博通CEO期待AI崛起救场 | 百能云芯

博通作为苹果等大型科技公司的芯片供应商&#xff0c;于周四发布了财报。尽管截至10月29日的第四季度营收增长了4%至93亿美元&#xff0c;符合市场预期&#xff0c;但增速已经降至2020年以来的最低水平。 由于企业客户和电信供应商在控制支出方面的谨慎态度&#xff0c;博通的销…

tomcat配置管理员And配置访问静态资源

配置管理员 打开 tomcat\conf\tomcat-users.xml <tomcat-users xmlns"http://tomcat.apache.org/xml"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://tomcat.apache.org/xml tomcat-users.xsd"version&qu…

Zabbix结合Grafana打造高逼格监控系统

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…

总线(什么是南北桥?您都用过哪些总线?)

什么是总线&#xff1f; 计算机系统中的总线&#xff08;Bus&#xff09;是指计算机设备和设备之间传输信息的公共数据通道&#xff0c;是连接计算机硬件系统内多种设备的通信线路&#xff0c;它的一个重要特征是由总线上的所有设备共享&#xff0c;因此可以将计算机系统内的多…

Spingboot3详解(全网最详细,新建springboot项目并详解各种组件的用法)

一.Spring Initializr创建向导 1.新建一个空项目 2.在新创建的空项目里&#xff0c;新建Module 3. 选择Spring Initializr 4.选择Spring Boot的版本3以上 5.创建好的一个项目结构 controller包是自己创建的 6.项目结构分析 spingboot主程序 package com.example.boot;impor…

因为 postman环境变量全局变量设置好兄弟被公司优化了!

postman环境变量、全局变量设置 在公司中&#xff0c;一般会存在开发环境、测试环境、线上环境等&#xff0c;如果需要在不 同的环境下切换做接口测试&#xff0c;显然我们需要把所有接口的域名进行修改&#xff0c;如果接 口测试用例较多&#xff0c;那么修改会非常费力&…

Java当中常用的算法

文章目录 算法二叉树左右变换数据二分法实现 冒泡排序算法插入排序算法快速排序算法希尔排序算法归并排序算法桶排序算法基数排序算法分治算法汉诺塔问题动态规划算法引子代码实现背包问题 KMP算法什么是KMP算法暴力匹配KMP算法实现 今天我们来看看常用的算法&#xff0c;开干。…