自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

尚庆龙的专栏

一点一滴,记录自己的学习之路。。。 欢迎进行相关技术交流、讨论。

  • 博客(63)
  • 收藏
  • 关注

原创 Qt终极教程——用Qt编程实现中国象棋游戏(提供源代码和程序编译运行教程)

afas

2020-03-20 23:42:29 3831 2

原创 扩展卡尔曼滤波教程(一)----中文版

扩展卡尔曼滤波教程

2019-05-11 17:15:03 11603 6

原创 Qt终极教程----使用Qt制作一款精致小巧的开源音乐播放器(提供源代码)

HiPlay 是一款精致小巧的音乐播放器。 其主要功能如下: 添加本地歌曲到播放列表; 自动通过网络获取专辑图片和歌词; 歌词桌面显示,且带有歌词遮罩效果; Mini模式显示。 以下是部分软件截图: 播放器主界面: 歌词显示效果: Mini窗口: About界面: HiPlayer播放器基于Qt技术开发,作者开发环境为Qt5.8.0,MinGW5.3.0(32-bi

2018-03-10 16:33:15 5496 5

原创 利用毫米波雷达点云进行多目标聚类跟踪的算法设计

利用多反射点对雷达目标进行聚类跟踪的设计与实现本文主要参考TIDEP-0090的设计实例,该实例主要用于交通检测对象的检测与跟踪. 本文主要涉及其中的聚类和跟踪部分的算法设计与实现. Ti官网相关网页请看:http://www.ti.com/tool/TIDEP-0090http://www.ti.com/lit/ug/tidud31a/tidud31a.pdf1 简介1.1 跟踪模块...

2022-05-29 17:18:26 8321 5

原创 Ubuntu 18.04LTS 更新镜像配置参考博文

Ubuntu 18.04LTS 更新镜像配置参考博文:https://www.cnblogs.com/yunlongaimeng/p/10167885.html

2020-11-30 00:43:51 232

原创 【自动驾驶技术】优达学城无人驾驶工程师学习笔记(七)——计算机视觉基础

计算机视觉基础部分目录前言颜色选择(Color Selection)理论基础代码实践区域筛选(Region Masking)理论基础代码实践Canny边缘检测问题背景Canny边缘检测原理代码实践霍夫变换(Hough Transform)前言本博文为笔者关于优达学城无人驾驶工程师课程中计算机视觉基础部分的学习笔记,该部分为实现车道线图像识别功能的基础课程,关于本课程的详细说明请参考优达学城官...

2020-11-30 00:41:46 1165

原创 【自动驾驶技术】优达学城无人驾驶工程师学习笔记(六)——Github与Markdown相关教程

Github与Markdown相关教程本博文为笔者关于优达学城无人驾驶工程师课程中计算机视觉基础部分的学习笔记,该部分为实现车道线图像识别功能的基础课程,关于本课程的详细说明请参考优达学城官网。优达学城为学员提供了一个简短的Github教程,另外还提供了一个详细的免费教程:Git和Github。要学习README文件和Markdown,可以查看优达学城免费课程: course on RE...

2020-11-30 00:39:40 662

原创 基于ROS实现在建图的同时显示本地地图背景的方法

基于ROS实现在建图的同时显示本地地图背景的方法目录基于ROS实现在建图的同时显示本地地图背景的方法1.安装map_server2.map_server功能包简介3.利用map_server将地图保存在本地4.利用map_server回放本地地图文件5.在rviz上显示回放的地图数据6.在Cartographer建图的同时显示本地地图背景本文介绍如何通过ros的map_server工具包将创建...

2020-04-09 00:38:10 1367 2

原创 解决Ubuntu18.04和Win10双系统系统时间不对的问题

https://www.cnblogs.com/xiaobai1226/p/7852280.html电脑安装完windows10与ubuntu16.04双系统后,Ubuntu的时间总会和Windows的时间相差8小时,原因在于windows认为BIOS时间是本地时间,Ubuntu认为BIOS时间是UTC时间,这样从Ubuntu重启到windows会发现时间相差8小时,Ubuntu会经常与NTP服...

2020-03-29 21:34:55 3131 2

原创 ROS程序Simulink建模简单小结

利用Simulink ROS ToolBox工具箱建立ROS程序模型时,ROS消息以BUS的形式进行数据传递,并且对于ROS消息中的不定长数组[],在BUS中将被表示为定长数组,BUS中相应的定长数组长度可以修改。当定长数组的长度大于消息中的原数组长度时,数组后续多余的部分均和原不定长数组的最后一个有效元素数据相同。经测试可得,利用S-Function Builder无法以嵌套的BUS作为输入...

2020-03-29 21:30:06 1128 2

原创 Matlab添加ROS自定义消息支持的参考资料小结

Matlab添加ROS自定义消息支持的参考资料小结无论是使用Matlab的readMessages函数读取rosbag中的自定义消息,还是使用Simulink ROS Toolbox中的Read Data模块回放rosbag中的自定义消息,都需要在Matlab中添加ROS自定义消息支持。前提条件:在Matlab中安装ROS Toolbox Interface for ROS Custom...

2020-03-29 21:28:30 1747

原创 【多传感融合】优达学城多传感融合学习笔记(五)——利用YOLO进行图像目标识别

利用YOLO进行图像目标识别目录利用YOLO进行图像目标识别为什么需要目标检测?YOLO简介YOLOv3工作流程为什么需要目标检测?在上一课中我们已经实现了将激光雷达3D点云映射到相机图像中(效果如下图所示),但是要想让我们得到的激光和相机融合后的结果更好地服务于自动驾驶车辆,例如,应用到常见的碰转时间(TTC)估计中,我们还需要一种技术来检测图像中的车辆目标,这样我们就能分离出图像中匹配的...

2020-03-25 01:47:30 1579

原创 Simulink生成ROS节点C++代码的参考资料小结

Simulink中的具体操作步骤,可参考Matlab官方文档:Generate Code to Manually Deploy a ROS Node from SimulinkSimulink代码生成相关配置说明,可参考博客:Simulink学习笔记(二)——Simulink自动代码生成(一)关于Simulink 模型、Stateflow图和 MATLAB函数生成代码的详细说明,可...

2020-03-24 22:27:11 1075

原创 Qt5.12+VS2017联合开发环境配置及注意事项

Qt5.12+VS2017问题记录qt安装安装官网下载在线安装包,选择MSVC和MinGW编译工具,以及需要的Qt Chart和Data Visualization模块。选择Qt Creator.如果需要能够查看Qt源代码,则可以选中Sources模块,但是会大大增加Qt安装的时间。Qt安装结束之后,可以使用MinGW编译器编译Qt例程,但由于尚未在Visual Studio中安装Q...

2020-03-24 22:22:52 5859

原创 Linux下find命令的常用方法记录

查找当前目录下所有的make文件$ find . -name "*.mk" -o -name "makefile"在某个目录下多个文件中搜索关键字有以下四种方法:find 文件目录 -name ‘*.*' -exec grep 'xxx' {} + -n或是find 文件目录 -name '*.*' | xargs grep 'xxx' -n或是grep 'XXX' 文件目录 ...

2020-03-24 22:12:08 416

原创 【多传感融合】优达学城多传感融合学习笔记(四)——将激光雷达3D点云映射到相机图像(下)

将激光雷达3D点云映射到相机图像(下)——编程实践

2020-03-13 00:42:01 2833 7

原创 解决raw.githubusercontent.com地址DNS污染的方法参考

解决raw.githubusercontent.com地址DNS污染参考博文:https://www.jianshu.com/p/bbd79e0444ea另附,成功使用过的host配置:151.101.72.133 raw.githubusercontent.com

2020-03-11 22:36:57 10491

原创 【多传感融合】优达学城多传感融合学习笔记(三)——将激光雷达3D点云映射到相机图像(上)

将激光雷达3D点云映射到摄像头图像目录将激光雷达3D点云映射到摄像头图像齐次坐标齐次坐标为了将激光雷达3D点云映射到摄像头二维图像上,我们可以使用如下公式:...

2020-03-11 22:07:06 6482 4

原创 【多传感融合】优达学城多传感融合学习笔记(二)——将激光雷达点云俯视图映射到二维图像

以图片形式显示激光雷达点云俯视图实现方法:通过数据文件加载激光雷达点云数据,来自Kitti数据集。初始化特定像素大小的图片(1000*2000)。根据需要显示的激光雷达点云范围和图片像素范围,将激光雷达点云的横纵坐标映射到图片的特定像素中,其中激光雷达所处的世界坐标系遵循右手系,x轴对应前进方向,y轴对应左侧横向;而对于图像坐标系,x,y分别对应其图像的行索引和列索引,且图像左上角为原点...

2020-03-11 00:59:22 3097

原创 【多传感融合】优达学城多传感融合学习笔记(一)——针孔相机模型

目录1. 用图片显示激光雷达点云复试俯视图1. 用图片显示激光雷达点云复试俯视图实现方法:1.加载激光雷达点云数据2.参考代码如下:

2020-03-11 00:35:11 2288 2

原创 Matlab S-Function使用方法总结

Matlab S-Function使用方法总结目录Matlab S-Function使用方法总结1 S-Function示例程序分析1.1 输入输出分析1.2 函数分析1.2.1 flag为0的情况1.2.2 flag为1的情况1.2.3 flag为2的情况1.2.4 flag为3的情况1.2.5 flag为4的情况1.2.6 flag为9的情况1.3 输入参数设置2 S-Function模型生...

2020-03-10 23:24:42 9938 1

原创 ROS中调用第三方库tinyxml2解析XML文件(以解析launch文件为例)

1.TinyXML2的简介第三方库TinyXML2是简单、小型、高效、开源的C++ XML文件解析库,可以很方便的应用到现有的项目之中,非常适合解析XML文件,存储简单数据,配置文件以及对象序列化等数据量不是很大的操作。TinyXML2详细介绍与详见:TinyXML2官网。2.TinyXML2的获取与安装TinyXML2可以通过其Github主页获取源代码,具体来说可以采用git clon...

2019-07-05 01:40:34 1560

原创 扩展卡尔曼滤波教程(四)----中文版

扩展卡尔曼滤波教程(四)

2019-05-19 21:26:57 8097 3

原创 【调试解决方案】Note: No relevant classes found. No output generated. && QVTKWidget添加Q_OBJECT出现错误

错误场景在VS2017+Qt5.12.0环境中调用PCL,类PclVisualizer继承自类QMainWindow,在类PclVisualizer中添加了QVTKWidget之后,只要添加Q_OBJECT就会出现编译错误。错误提示1.编译过程输出PclVisualizer.h(0): Note: No relevant classes found. No output generate...

2019-05-16 09:40:33 3152

原创 Linux系统安装驱动过程中ko文件加载错误(Required key not available)的解决办法

Linux系统安装驱动过程中ko文件加载错误(Required key not available)的解决办法问题描述在Ubuntu上使用CP210x USB转UART设备时需要安装驱动程序(CP210x USB to UART Bridge VCP Drivers),安装驱动过程中cp210x.ko文件已经编译成功,但使用命令 insmod /lib/modules/4.15.0-43-g...

2019-05-12 20:39:34 7175

原创 Qt5.12.1 + VS2017 程序代码移植Bug调试经验分享

Qt5.12.1 + VS2017 程序移植Bug调试经验分享现象程序无法编译通过,报错:QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly.解决办法1.首先检查Qt MSVC2017是否安装正确,可以通过编译Qt Creator中的示例程序进行确认;2.检查Qt的相关环...

2019-05-12 20:29:23 4311 1

原创 Qt中按钮(QPushButton)的大小设置

Qt中按钮(QPushButton)的大小设置设置默认大小可以通过重写sizeHint()方法修改按钮的默认大小。在布局(Layout)中设置大小1.通过QSizePolicy类可以修改按钮的大小策略和拉伸策略。2.也可以直接使用setFixedSize()方法设置按钮的固定大小。...

2019-05-12 20:26:14 41021 3

原创 纯Ubuntu系统重新安装为纯Windows10系统方法

简介计算机当前操作系统为Ubuntu 18.04,且没有安装双系统,如果想要在此基础上安装再安装Ubuntu+Windows双系统,可参考博文:https://blog.csdn.net/u010598713/article/details/80239727下面本文将简要介绍如何将计算机重新安装为只有一个Windows系统。注意,重装计算机系统前,务必提前做好数据备份。安装环境原操作系统...

2019-05-12 20:24:13 19315 5

原创 Qt程序CPU占用率较高的解决办法

Qt程序CPU占用率较高的解决办法分析思路总的来说,Qt程序CPU占用率较高的原因可能有以下几点:1、在paintEvent中调用update函数,造成无限循环2、频繁刷新数据3、复杂的浮点运算4、死循环5、paintEvent里操作太多我遇到这个问题的程序是利用多个子线程(接收子线程)同时接收并解析网口的数据,同时另外一个子线程(融合子线程)对多个子线程解析得到的数据进行融合...

2019-05-12 20:20:08 11713 2

原创 扩展卡尔曼滤波教程(三)----中文版

扩展卡尔曼滤波新手教程(三)说明:本文内容翻译自外文网站The Extended Kalman Filter: An Interactive Tutorial for Non-Experts,仅供学习和参考。本文是扩展卡尔曼滤波新手教程系列的第三篇,上一篇博客请看:扩展卡尔曼滤波新手教程(二)。Part11: 线性代数前面我们得到了根据速度和时间描述距离的方程:distancecurre...

2019-05-12 20:16:02 5554 4

原创 扩展卡尔曼滤波新手教程(二)----中文版

扩展卡尔曼滤波新手教程(二)说明:本文内容翻译自外文网站The Extended Kalman Filter: An Interactive Tutorial for Non-Experts,仅供学习和参考。本文是扩展卡尔曼滤波新手教程系列的第二篇,上一篇博客请看:扩展卡尔曼滤波新手教程(一)。Part6: 预测和更新我们现在已经快要准备好运行我们的卡尔曼滤波器了。但是,首先你可能想知道在...

2019-05-12 13:42:03 6916

原创 【Qt编程笔记】采用遍历方式删除QList中全部元素的方法

QList类是Qt提供的链表模板类,在日常工作和学习中经常会用到,虽然QList操作十分便利,但是在用遍历方式删除全部元素时很可能会因为疏忽造成没有将元素全部删除,从而给程序留下隐患。下面小结一下采用遍历方式删除QList中全部元素的方法,避免重走弯路。下面将比较for循环和foreach循环两种方式下的不同,并给出正确的删除方式。在比较之前,首先构建一个QList对象,其中包含若干QStri...

2019-04-20 14:55:38 21336 4

原创 VS2017+Qt5.12.0+PCL1.9.1开发环境配置过程详细记录

VS2017+Qt5.12.0+PCL1.9.1开发环境配置过程记录系统环境Windows 10 64位VS2017安装Visual Studio 2017采用Community(社区)版本,可前往微软官网下载:Visual Studio官方下载地址,可根据个人喜好选择安装路径,本人的安装路径为D:\ProgramFile\VS2017,仅供参考。Qt5.12.0安装Qt5.12.0可...

2019-04-18 10:28:54 12952 48

原创 LFMCW雷达解速度模糊和近场校正方案

解速度模糊    采用一种简单的解速度模糊技术. 它可以将目标的不模糊速度提高到2vmax2v_{max}2vmax​, 甚至允许对大于2vmax2v_{max}2vmax​的目标速度进行X/Y坐标的纠正计算. 该技术需要在CFAR检测阶段之后执行以下步骤. 对于每一个被检测到的目标, 假设对虚拟天线的多普勒纠正已经完成:将已经进行过多普勒纠正的天线数...

2019-04-16 17:19:28 5801 3

原创 Qt qOverload函数介绍

Qt qOverload函数介绍函数原型auto qOverload(T functionPointer)详细介绍该函数返回一个指向重载函数的指针,其中的模板参数是重载函数参数类型的列表(list)。functionPointer是重载函数(成员函数)的指针: struct Foo { void overloadedFunction(); void overl...

2019-01-19 14:54:43 12596

原创 TINY Web服务器实例源代码(参考《深入理解计算机系统(第二版)》)

TINY Web服务器实例源代码(参考《深入理解计算机系统(第二版)》)笔者参考《深入理解计算机系统(第二版)》中11.6节的内容实现了这个TINY Web服务器程序(本文末尾提供全部源代码下载)。源代码主要来自该书提供的参考代码,笔者针对实际调试中的问题进行了少量修改。代码经过测试,可以实现相应的功能。笔者的测试环境如下: 操作系统:CentOS 7 编译器:g++ (GCC) 4.8.

2017-08-30 14:50:56 1282

原创 Linux 命令行使用技巧整理

linux命令有很多,需要我们通过实践和总结来掌握。本文整理了一些linux命令行使用技巧,并且在今后的使用和学习中还会不断添加新的内容。由于本文只是对命令技巧的简单整理,故没有展示命令实际的效果图,实际效果请通过亲自操作查看,相信这样也能使读者获得更大的收获。将输出内容以表格的形式显示出来有时,在你看到命令行执行的输出时,因为字符串过度拥挤(比如说 mount 命令的输出)导致输出内容难以识别。如

2017-08-25 13:29:06 360

原创 Jsoncpp的使用详细教程

Jsoncpp的使用详细教程本文详细介绍Jsoncpp的入门知识以及下载、使用。具体实现基于linux系统。笔者的系统为CentOS 7。Jsoncpp简介JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-26

2017-08-09 21:18:52 7923

原创 linux系统下结巴分词库(cppjieba)的下载和应用

linux系统下结巴分词库(cppjieba)的下载和应用本文详细介绍linux系统下结巴分词库(cppjieba)的下载编译以及在c++项目中使用。操作过程全部由作者测试实现。作者的系统环境如下:linux操作系统:CentOS 7linux内核版本:3.10.0-327.el7.x86_64(命令$uname -r查看)g++版本:g++ (GCC) 4.8.5 20150623

2017-08-03 17:51:49 5693 3

原创 线程安全(MT-safe)的多线程并发服务器程序实例

该程序是一个线程安全(MT-safe)的多线程并发服务器实例。包括服务器程序和客户端程序。编译及运行的相关信息如下: 操作系统:CentOS 7 编译工具:GCC 调试工具:GDB 程序实现的功能如下: 1、服务器等候客户连接,一旦连接成功则显示客户的地址,接着接收该客户的名字并显示到屏幕。然后接收来自该客户的信息(字符串)。每当接收到一个字符串,则

2016-09-29 20:58:11 2026

空空如也

空空如也

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

TA关注的人

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