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

建设嫖客网站百度推广哪家做的最好

建设嫖客网站,百度推广哪家做的最好,四川高速公路建设集团网站,猫咪社区免费资源在线观看目录 一、算法原理1. 点云投影2. 网格划分3. 密度计算4. 完整流程5. 关键公式说明 二、代码实现三、结果展示 博客长期更新,本文最新更新时间为:2025年6月14日。 一、算法原理 1. 点云投影 设原始点云集合为: P { p i } i 1 N , p i ( …

目录

  • 一、算法原理
    • 1. 点云投影
    • 2. 网格划分
    • 3. 密度计算
    • 4. 完整流程
    • 5. 关键公式说明
  • 二、代码实现
  • 三、结果展示

在这里插入图片描述

博客长期更新,本文最新更新时间为:2025年6月14日。

一、算法原理

1. 点云投影

   设原始点云集合为:
P = { p i } i = 1 N , p i = ( x i , y i , z i ) ∈ R 3 P = \{ \mathbf{p}_i \}_{i=1}^N, \quad \mathbf{p}_i = (x_i, y_i, z_i) \in \mathbb{R}^3 P={pi}i=1N,pi=(xi,yi,zi)R3

投影到XY平面(可推广到任意平面):
P proj = { ( x i , y i ) } i = 1 N P_{\text{proj}} = \{ (x_i, y_i) \}_{i=1}^N Pproj={(xi,yi)}i=1N

2. 网格划分

计算投影点集边界:
{ x min ⁡ = min ⁡ 1 ≤ i ≤ N x i x max ⁡ = max ⁡ 1 ≤ i ≤ N x i y min ⁡ = min ⁡ 1 ≤ i ≤ N y i y max ⁡ = max ⁡ 1 ≤ i ≤ N y i \begin{cases} x_{\min} = \min\limits_{1 \leq i \leq N} x_i \\ x_{\max} = \max\limits_{1 \leq i \leq N} x_i \\ y_{\min} = \min\limits_{1 \leq i \leq N} y_i \\ y_{\max} = \max\limits_{1 \leq i \leq N} y_i \end{cases} xmin=1iNminxixmax=1iNmaxxiymin=1iNminyiymax=1iNmaxyi

定义网格尺寸 s s s(用户参数),计算网格维度:
m = ⌈ x max ⁡ − x min ⁡ s ⌉ , n = ⌈ y max ⁡ − y min ⁡ s ⌉ m = \left\lceil \frac{x_{\max} - x_{\min}}{s} \right\rceil, \quad n = \left\lceil \frac{y_{\max} - y_{\min}}{s} \right\rceil m=sxmaxxmin,n=symaxymin

3. 密度计算

对于网格单元 ( j , k ) (j,k) (j,k)

  • 区域范围 R j k = [ x min ⁡ + j ⋅ s , x min ⁡ + ( j + 1 ) ⋅ s ) × [ y min ⁡ + k ⋅ s , y min ⁡ + ( k + 1 ) ⋅ s ) R_{jk} = [x_{\min} + j \cdot s, x_{\min} + (j+1) \cdot s) \times [y_{\min} + k \cdot s, y_{\min} + (k+1) \cdot s) Rjk=[xmin+js,xmin+(j+1)s)×[ymin+ks,ymin+(k+1)s)
  • 点数统计
    C j k = ∑ i = 1 N 1 R j k ( x i , y i ) C_{jk} = \sum_{i=1}^{N} \mathbf{1}_{R_{jk}}(x_i, y_i) Cjk=i=1N1Rjk(xi,yi)
    其中 1 \mathbf{1} 1 为指示函数:
    1 R j k ( x , y ) = { 1 if  ( x , y ) ∈ R j k 0 otherwise \mathbf{1}_{R_{jk}}(x,y) = \begin{cases} 1 & \text{if } (x,y) \in R_{jk} \\ 0 & \text{otherwise} \end{cases} 1Rjk(x,y)={10if (x,y)Rjkotherwise
  • 点密度
    D j k = C j k A , A = s 2 ( 单位面积 ) D_{jk} = \frac{C_{jk}}{A}, \quad A = s^2 \quad (\text{单位面积}) Djk=ACjk,A=s2(单位面积)

4. 完整流程

输入:点云  P , 网格尺寸  s ↓ 1. 投影: P proj = { ( x i , y i ) ∣ ∀ p i ∈ P } ↓ 2. 边界计算: x min ⁡ , x max ⁡ , y min ⁡ , y max ⁡ ↓ 3. 网格划分: m × n 网格 ↓ 4. 密度计算: D j k = 1 s 2 ∑ i = 1 N 1 [ x min ⁡ + j s , x min ⁡ + ( j + 1 ) s ) ( x i ) ⋅ 1 [ y min ⁡ + k s , y min ⁡ + ( k + 1 ) s ) ( y i ) for  j = 0 , … , m − 1 ; k = 0 , … , n − 1 ↓ 输出:密度矩阵  D = [ D j k ] m × n \boxed{ \begin{array}{c} \text{输入:点云 } P, \text{ 网格尺寸 } s \\ \downarrow \\ \text{1. 投影:} P_{\text{proj}} = \{(x_i,y_i) | \forall \mathbf{p}_i \in P\} \\ \downarrow \\ \text{2. 边界计算:} x_{\min}, x_{\max}, y_{\min}, y_{\max} \\ \downarrow \\ \text{3. 网格划分:} m \times n \text{ 网格} \\ \downarrow \\ \text{4. 密度计算:} \\ D_{jk} = \dfrac{1}{s^2} \sum\limits_{i=1}^{N} \mathbf{1}_{[x_{\min}+js,\ x_{\min}+(j+1)s)}(x_i) \cdot \mathbf{1}_{[y_{\min}+ks,\ y_{\min}+(k+1)s)}(y_i) \\ \text{for } j=0,\dots,m-1; \ k=0,\dots,n-1 \\ \downarrow \\ \text{输出:密度矩阵 } \mathbf{D} = [D_{jk}]_{m \times n} \end{array} } 输入:点云 P, 网格尺寸 s1. 投影:Pproj={(xi,yi)∣∀piP}2. 边界计算:xmin,xmax,ymin,ymax3. 网格划分:m×n 网格4. 密度计算:Djk=s21i=1N1[xmin+js, xmin+(j+1)s)(xi)1[ymin+ks, ymin+(k+1)s)(yi)for j=0,,m1; k=0,,n1输出:密度矩阵 D=[Djk]m×n

5. 关键公式说明

  1. 网格索引映射
    j = ⌊ x i − x min ⁡ s ⌋ , k = ⌊ y i − y min ⁡ s ⌋ j = \left\lfloor \frac{x_i - x_{\min}}{s} \right\rfloor, \quad k = \left\lfloor \frac{y_i - y_{\min}}{s} \right\rfloor j=sxixmin,k=syiymin
    确保点落入正确网格单元

  2. 边界处理
    j ∈ [ 0 , m − 1 ] , k ∈ [ 0 , n − 1 ] j \in [0, m-1], \quad k \in [0, n-1] j[0,m1],k[0,n1]
    超出范围的索引被丢弃

  3. 密度单位
    D j k D_{jk} Djk 单位为 点 / m 2 \text{点}/\text{m}^2 /m2(当 s s s 以米为单位时),用于量化局部点云密度

此方法通过降维投影和空间离散化,将三维密度计算转化为二维直方图统计,是点云分析的基础操作。

二、代码实现

#include <vector>
#include <pcl/io/pcd_io.h>
#include <pcl/point_cloud.h>
#include <pcl/point_types.h>
#include <pcl/common/common.h>// 计算投影密度
void computeProjectionDensity(pcl::PointCloud<pcl::PointXYZ>::Ptr& cloud, float grid_size, std::vector<std::vector<float>>& density_grid)
{// 获取点云边界pcl::PointXYZ min_pt, max_pt;pcl::getMinMax3D(*cloud, min_pt, max_pt);// 计算网格维度(XY平面投影)int grid_x = ceil((max_pt.x - min_pt.x) / grid_size);int grid_y = ceil((max_pt.y - min_pt.y) / grid_size);// 初始化密度网格density_grid.resize(grid_x, std::vector<float>(grid_y, 0.0f));// 统计每个网格的点数for (const auto& point : cloud->points) {int x_idx = (point.x - min_pt.x) / grid_size;int y_idx = (point.y - min_pt.y) / grid_size;if (x_idx >= 0 && x_idx < grid_x && y_idx >= 0 && y_idx < grid_y) {density_grid[x_idx][y_idx] += 1.0f;}}// 计算密度(点数/单位面积)float cell_area = grid_size * grid_size;for (int i = 0; i < grid_x; ++i) {for (int j = 0; j < grid_y; ++j) {density_grid[i][j] /= cell_area;}}
}// 使用示例
int main() 
{pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);if (pcl::io::loadPCDFile<pcl::PointXYZ>("E://data//道路.pcd", *cloud) == -1){PCL_ERROR("Cloudn't read file!");return -1;}std::vector<std::vector<float>> density_grid;computeProjectionDensity(cloud, 0.1f, density_grid); // 网格尺寸0.1m// 输出密度结果for (const auto& row : density_grid) {for (float density : row) {std::cout << density << " ";}std::cout << std::endl;}return 0;
}

三、结果展示

在这里插入图片描述

http://www.hkea.cn/news/260816/

相关文章:

  • 能源企业 网站建设网络营销的应用
  • 如何看网站是用什么语言做的关键词排名是由什么决定的
  • 政府网站建设招标书百度网站收录
  • 已经有了网站怎么做推广哈尔滨关键词优化报价
  • 网站建设与管理作业镇江推广公司
  • 域名申请好后 如何建设网站网站权重划分
  • 佛山百度网站快速优化网络营销推广工具
  • 建一个网站需要哪些人广州seo网站推广公司
  • 建设银行etc官方网站搜索引擎优化的七个步骤
  • 做网站需要花钱吗海南百度推广运营中心
  • 做的网站显示图片很慢百度运营公司
  • 青州哪里做网站公司推广渠道
  • 网站面包屑导航怎么做的网推接单平台有哪些
  • 宜昌网站建设兼职百度关键词排名软件
  • 如何让百度快照找到自己的网站营销策划方案ppt模板
  • php网站超市广告软文是什么意思
  • b2c跨境电商宣城网站seo
  • 网站建设一流公司免费网站开发平台
  • 网站开发模式名词外贸谷歌优化
  • 网站素材 下载产品推广渠道
  • 网站后台维护怎么做seo专员工资一般多少
  • 中国网站推广黄页名录微商推广哪家好
  • 哈尔滨网站开发电话电商培训基地
  • 如何用php数据库做网站搜索seo优化托管
  • 中国城乡建设部人力网站首页优化落实疫情防控
  • 做网站到底能不能赚钱网络优化工程师前景
  • 乌镇网站建设标书百度站长工具域名查询
  • 制作公司网站价格腾讯广告代理商加盟
  • 大学生活动网站开发文案苏州seo门户网
  • 阿里云认证网站建设题库seo助理