自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 收藏
  • 关注

原创 点云处理之KD-Tree

例如,在物体识别中,可以将每个物体的特征向量表示为一个点云,然后利用KD-Tree搜索待识别物体的最近邻点云,从而实现物体识别。然后选择一个维度,计算该维度的中位数,并将该中位数作为节点的分割点。其实现方法为:首先选择一个维度,将所有数据按照这个维度的大小排序,然后选择中位数作为分割点,将数据集分为两个子集,小于等于分割点的放在左子树中,大于分割点的放在右子树中。KD-Tree是一种用于加速点云处理的数据结构,其原理是通过递归地分割空间,构建一颗二叉树,以实现高效的最近邻搜索、点云分割、三维重建等操作。

2023-03-27 12:16:13 1286 1

原创 点云滤波方法

常见的统计滤波器包括平均值滤波器、中值滤波器和高斯滤波器,它们分别对每个点的邻域内点的坐标进行处理,达到去除离群点的目的。体素滤波器可以将点云划分为小的体素(立方体),并在每个体素中选取一个代表点,从而达到向下采样的目的,同时不破坏点云的几何结构,降低数据量并去除噪声。这种算法的优点在于运行速度快,留下的点一定是最密集的。:高斯滤波器是一种基于加权平均的统计滤波器,根据距离计算每个点的权值,距离越近的点权值越大,距离越远的点权值越小。将该邻域内的所有点的坐标乘以对应的权值,然后求和,得到该点的加权坐标。

2023-03-26 18:56:49 1080

原创 Ubuntu安装中文man手册

Ubuntu安装中文man手册

2022-11-30 16:55:57 485

原创 AB3DMOT: A Baseline for 3D Multi-Object Tracking and New Evaluation Metrics

AB3DMOT

2022-09-15 16:12:26 1319

原创 卡尔曼滤波公式理解

卡尔曼滤波公式理解

2022-08-11 16:35:44 3141 2

原创 匈牙利算法 求二分图最大匹配

匈牙利算法的介绍,C++/Python实现二分图匹配

2022-08-11 16:33:32 223

原创 多普勒效应的基本原理

毫米波雷达原理之多普勒效应

2022-06-04 21:53:34 1571

原创 进程的创建和回收

进程的创建和回收fork:创建子进程fork()会返回两次,在子进程中返回 0, 在父进程中返回子进程的 pid,返回 -1 表示创建失败创建成功之后,子进程和父进程共享数据(只有pcb中的一些数据不同,如 pid,ppid)。读时共享,写时复制。孤儿进程 VS 僵尸进程孤儿进程:父进程结束,子进程运行 --------> 子进程的父进程设置为 init (pid = 1) ---------------> 子进程结束时init 回收僵尸进程:子进程结束,父进程运行 ----

2022-05-31 00:30:28 103

原创 字节序(网络/主机)转换

字节序(网络/主机)转换两种常用的相互转换:主机字节序端口 <-----------> 网络字节序端口 (uint16_t <----------------> uint16_t)IPv4字符串 <----------------> 网络字节序IPv4 (const char * <----------> unsigned int)/**************************************************

2022-05-30 22:05:04 225

原创 字节序 - 如何判断大端小端

字节序 - 如何判断大端小端大端模式:高的有效字节存储在低的存储器地址。网络字节序为大端;小端模式:低的有效字节存储在低的存储器地址。顺序自然即大端判断原理:定义一个大字节的数据 x,判断存放 x 的首地址的数据如何。强制类型转换,指针指向首地址联合体中成员共用一段内存,并且都是从内存首地址开始存/*********************************************************Copyright © 2022 Shengkai Liu. All r

2022-05-30 22:04:28 94

原创 Linux 系统 IO - 文件读写

Linux 系统 IO - 文件读写系统调用实现文件拷贝,涉及 open, close, read, write./*********************************************************Copyright © 2022 Shengkai Liu. All rights reserved.FileName: copy.cAuthor: Shengkai LiuDate: 2022-05-30*****************

2022-05-30 22:03:03 189

原创 套接字实现 TCP 通信流程

套接字实现 TCP 通信流程/*********************************************************Copyright © 2022 Shengkai Liu. All rights reserved.FileName: client.cAuthor: Shengkai LiuDate: 2022-05-30***********************************************************/

2022-05-30 22:01:22 161

原创 服务器系统 Windows server 2019 安装与搭建

Windows server 2019 服务器搭建步骤1. windows server 2019 安装微软官网下载windows server 2019 iso 文件。找一张空U盘,格式化(NTFS)安装刻录软件UltraISO,制作U盘启动盘。先“打开文件”,然后“启动”-“写入硬盘映像”制作好的U盘插入服务器,开机自检时,根据屏幕右上角提示按 F11进入Boot Manager设置,选择 Bios Boot Menu,选择U盘,按 F5 将它移到第一位,保存并退出重启即

2022-05-18 19:06:21 60039 4

原创 re --- 正则表达式

文章目录1. 正则表达式常用操作符3. 操作符优先级3. 模式匹配规则2. 经典正则表达式实例3. Re库主要功能函数1. 正则表达式常用操作符操作符说明实例.除换行以外的任何单个字符[ ]字符集,对单个字符给出取值范围[abc]表示a或b或c、[a-z]表示a到z单个字符[^ ]字符集,对单个字符给出排除范围[^abc]表示非a非b非c的单个字符*前一个字符0次或无限次扩展ab*表示a、ab、abb、abbb、等+前一个字符1次或者无限次

2022-05-18 17:18:40 134

原创 Requests 入门

文章目录1.Requests 的7个方法2. `r = requests.get(url,params=None,**kwargs)`3.Response对象的属性4.爬取网页的通用代码框架5.HTTP协议1.Requests 的7个方法requests.requests()构造一个请求,支撑一下各种方法的基础方法requests.get()获取HTML网页的主要方法,对应HTTP的GETrequests.head()获取HTML网页头信息的方法,对应HTTP的HEAD

2022-05-18 16:52:44 345

原创 Ubuntu20.04 安装PCL库

Ubuntu20.04 安装PCL库文章目录Ubuntu20.04 安装PCL库1. 安装依赖2. 安装PCL3. 测试1. 安装依赖sudo apt-get updatesudo apt-get install git build-essential linux-libc-devsudo apt-get install cmake cmake-guisudo apt-get install libusb-1.0-0-dev libusb-dev libudev-devsudo apt-get

2022-04-10 16:49:20 1906 1

原创 CMake 教程

CMake 教程

2022-04-04 14:08:50 619

原创 Linux 查看进程、杀死进程

文章目录1. 查看进程2. 动态显示进程3. 杀死进程4. 进程号和相关函数1. 查看进程ps -auxps -ajx# a: 显示终端上所有进程,包括其他用户进程# u: 显示进程的详细信息# x: 显示没有控制端的进程# j: 列出与作业控制相关的信息ps -aux 查看格式:USERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMANDroot10.10.100?Ss3月261:22./main

2022-03-31 08:22:23 9790 1

原创 Linux 进程概述

1.进程概述1.1 程序和进程程序是包含一系列信息的文件,这些信息描述了如何在运行时创建一个进程:二进制格式标识:每个程序文件都包含用于描述可执行文件格式的元信息。内核利用此信息来解释文件中的其他信息。(ELF可执行连接格式)机器语言指令:对程序算法进行编码。程序入口地址:标识程序开始执行时的起始指令位置。数据:程序文件包含的变量初始值和程序使用的字面量值(比如字符串)。符号表及重定位表:描述程序中函数和变量的位置及名称。这些表格有多重用途,其中包括调试和运行时的符号解析(动态链接)。共

2022-03-31 08:16:32 224

原创 IO函数 (C库 VS Linux文件系统)

文章目录1. 标准 C 库 IO 函数2. 标准 C 库 IO 和 Linux 系统 IO 的关系3. 相关概念4. Linux 系统 IO 操作1. 标准 C 库 IO 函数man 3 fread 查看函数用法2. 标准 C 库 IO 和 Linux 系统 IO 的关系C 库 IO 调用 Linux 系统 IO, 如 fopen标准库函数调用open系统调用3. 相关概念虚拟地址空间文件描述符st_mode 变量Linux 下文件类型有哪些?

2022-03-27 21:32:16 1382

原创 GDB 调试介绍

GDB介绍

2022-03-25 21:30:16 697

原创 Makefile 简单介绍

Makefile作用:实现“自动化编译” , 只需要一个 make 命令,整个工程完全自动编译,提高了软件开发的效率。1 规则文件命名: makefile 或者 MakefileMakefile 规则target ...: depend ... shell command ...一个 Makefile 文件有一条或者多条规则Makefile 中的其它规则一般都是为第一条规则服务的2 工作原理命令在执行之前,需要先检查规则中的依赖是否存在如果存在,

2022-03-23 20:33:23 391

原创 静态库、动态库的制作与使用

静态库和动态库文章目录静态库和动态库1.1 什么是库1.2 静态库的制作1.3 动态库的制作1.4 静态库/动态库的优缺点1.1 什么是库库可以提供给使用者一些需要的变量、函数或类库文件有两种,静态库和动态库(共享库)静态库在程序的链接阶段被复制到了程序中动态库在程序运行时由系统动态加载到内存中被调用好处:1. 代码保密 2. 方便部署和分发1.2 静态库的制作命名:Linux: libxxx.aWindows: libxxx.lib制作# 获得 .o 文件gc

2022-03-21 18:13:03 663

原创 GCC 简明教程

1 GCC文章目录1 GCC1.1 什么是 GCC1.2 GCC的工作流程1.3 gcc 和 g++ 的区别1.4 GCC 常用参数选项1.1 什么是 GCCGCC 原名为 GNU C语言编译器(GNU C Compiler)GCC(GNU Compiler Collection,GNU编译器套件)可以编译 C、C++、Java、Go等语言Linux系统安装命令 sudo apt install gcc g++, Windows下安装查看版本 gcc/g++ -v/--version1.2

2022-03-21 18:10:34 1255

原创 如何将 DAT 转换为 MP4

文章目录如何使用Movavi DAT 文件转换器?如何免费的将 DAT 文件转换为MP4?如何在线使用 DAT-to-MP4 转换器?什么是DAT文件?常见问题12 best ways to convert DAT to MP4123apps: online video converter需要访问外网才能打开如何使用Movavi DAT 文件转换器?如何免费的将 DAT 文件转换为MP4?如何在线使用 DAT-to-MP4 转换器?什么是DAT文件?带有DAT扩展名的文件通常有存储在文件中

2022-01-05 12:15:20 6119

原创 SSH速查

ssh cheat sheet文章目录ssh cheat sheet1. 简介1.1 SSH架构1.2 加密传输2. 客户端2.1 安装 ssh2.2 ssh 登陆2.3.1 基本用法2.3.2 别名登陆2.3.3 免密登陆2.3.4 配置文件2.3 参数详解2.4 scp传文件3. 服务端3.1 安装 sshd3.2 配置文件4. 端口转发4.1 动态转发4.2 本地转发4.3 远程转发4.4 autossh5. 双重加密参考1. 简介1.1 SSH架构SSH 的软件架构是服务器-客户端模式(Se

2021-12-11 15:52:32 814

原创 Google 搜索技巧

Google命令限定功能site:zhihu.com在特定网站上搜索filetype:pdf搜索pdf文件类型intitle:search标题中还有search的+ / [space] /AND加号, 空格, AND 表示与-减号后面无空格,表排除? and *“*”代表一连串字符,“?”代表单个字符~"~"表示近义查询, 如: search ~tips“”双引号表示完全匹配@weibbo制定社交网站, 如@twitte

2021-12-05 21:17:57 70

原创 Tmux Cheat Sheet

Tmux Cheat Sheet**tmux 特点: **分屏, 管理多个会话断开Terminal,可继续运行进程tmux 安装$ sudo apt-get install tmux # Ubuntu或Debian$ sudo yum install tmux # CentOs或Fedora$ brew install tmux # MacOStmux 结构tmux------------->>>Sessions--------->>>Window

2021-11-30 20:55:15 320

原创 理解 Ubuntu 中的软件管理器 apt 和 dpkg

大家都知道在ubuntu下,安装软件经常会用到一个命令就是“apt-get install”,这里的apt命令,其实是linux系统下一个通用的软件包管理器,使用该命令可以很方便的用来安装和卸载软件。然而,很多同学应该也知道,ubuntu下,还有另外一个软件包管理器,叫做dpkg,它也可以实现软件的安装和卸载。那么,它们二者究竟各自负责什么,又有什么区别呢?1、apt命令Advanced Packaging Tool(apt)是Linux下的一款安装包管理工具,是一个客户/服务器系统。在服务器上先复制所

2021-11-26 10:47:41 703

原创 Autoware Docker 安装

1. Ubuntu20.04 Docker 官方教程安装Docker 官方教程安装2. 安装 nvidia-docker 2.0官方参考# 之前安装过nvidia-docker 1.0, 要先删除docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -fsudo apt-get purge -y nvidia-docker

2021-11-08 13:28:32 913

原创 Ubuntu20.04 Docker 官方教程安装

文章目录1. 完全卸载docker2. 安装docker(使用repository)3. 将当前用户添加到`docker`用户组1. 完全卸载dockerUninstall Docker Engine# 查看需要卸载的相关packagedpkg -l | grep docker# 卸载上面列出的packagesudo apt-get purge docker-ce docker-ce-cli containerd.io [...]# 删除docker相关镜像、容器、volumessudo

2021-11-08 12:02:54 600

原创 Linux 解压和压缩命令

.zip# 解压unzip FileName.zip# 将DirName本身压缩zip FileName.zip DirName# 将文件夹递归压缩zip -r FileName.zip DirName.tar(仅打包,并非压缩)# 解包tar -xvf FileName.tar# 将DirName和其所有文件(夹)打包tar -cvf FileName.tar DirName.tar.gz(或.tgz)# 解压tar -zxvf FileName.tar.gz#

2021-11-07 11:58:06 126

原创 Linux无线网卡芯片RTL8188EUS驱动安装

Linux无线网卡芯片RTL8188EUS驱动安装1. 获得芯片类型无线网卡最重要的就是芯片,外观什么的并不影响系统对其识别,因此在购买网卡时一定要查询其芯片类型.例如对于我购买的comfast CF-WU810N 无线网卡,介绍页面显示其芯片类型为 RTL8188EUS.对于介绍页面没有的,可以咨询客服或者到wikidevi 网站查询,需要注意的是,网站上网卡信息并不全.2. 查询内核支持情况获得芯片类型后,到passys 网站查询linux内核对芯片支持情况.对于我的网卡RTL8188EUS,其

2021-10-15 13:13:08 4716 1

原创 Git-cheat-sheet

一、概述先用一幅图,从总体上描述主要git命令的工作流程workspace: 本地的工作目录。(记作A)index:缓存区域,临时保存本地改动。(记作B)local repository: 本地仓库,只想最后一次提交HEAD。(记作C)remote repository:远程仓库。(记作D)二、命令笔记以下所有的命令的功能说明,都采用上述的标记的A、B、C、D的方式来阐述。初始化git init //创建git clone /path/to/repository //检出g

2021-07-16 13:51:39 259

原创 Python中Selenium库使用教程详解

Python中Selenium库使用教程详解这篇文章主要介绍了Python中Selenium库使用教程详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下selenium介绍selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器中文参考文档

2021-06-17 19:42:21 1214

原创 C++中 const 小结

C++const 小结const 是 constant 的缩写,本意是不变的,不易改变的意思。在 C++ 中是用来修饰内置类型变量,自定义对象,成员函数,返回值,函数参数。C++ const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程中确实有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助。1. const修饰普通类型的变量const int a = 7;int b = a; // 正确a = 8; // 错

2021-04-23 20:45:43 160 1

原创 C/C++ 中static 的用法

一、static的用法static 是 C/C++ 中很常用的修饰符,它被用来控制变量的存储方式和可见性。1. static 的引入我们知道在函数内部定义的变量,当程序执行到它的定义处时,编译器为它在栈上分配空间,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的方法是定义为全局的变量,但定义一个全局变量有许多缺点,最明显的缺点是破坏了此变量的访问范围(使得在此函数中定义的变量,不仅仅只受此函数控制)。stati

2021-04-21 19:09:57 396

原创 Markdown 语法/公式手册

Cmd Markdown 简明语法手册地址Cmd Markdown 公式指导手册地址

2021-04-20 12:06:34 65

原创 GCC编译器使用指北

GCC相关文章目录GCC相关1. GCC是是什么?2. 安装GCC编译器2.1 Linux安装GCC2.2 Windows安装GCC2.3 手动安装指定版本3. gcc 和 g++ 是什么,有什么区别?4. GCC自动识别的文件扩展名5. 不同GCC版本支持的C/C++语言编译标准6. GCC编译C/C++程序6.1 一步到位6.2 分步编译6.3 补充:GCC -o选项8. 使用gcc一次处理多个文件9. 头文件和源文件10. 主要参考1. GCC是是什么?早期 GCC 的全拼为 GNU C Co

2021-03-25 15:54:14 940 1

原创 基于VS Code的C++环境配置/编译/执行/调试

基于VS Code的C++环境配置1. 安装MinGW-w64编译器套件1.1 下载百度网盘 提取码:3dz1SourceForge托管地址64位Windows平台推荐:x_86_64-win32-sehwin32和posix代表线程模型,seh、sjlj、dwarf代表不同的异常处理模式,理论上都可以随便选。1.2 解压下载解压软件 提取码:21bu ,解压到同名目录将目录文件剪切到路径:C:\Program Files\例如我的是:C:\Program Files\mingw

2021-03-20 12:45:57 264

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除