自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

自强不息,知行合一

悟已往之不谏,知来者之可追

  • 博客(16)
  • 资源 (2)
  • 收藏
  • 关注

原创 C++实现STL文件向glTF文件的转换

最近在学习Cesium这个平台,了解到Cesium只支持glTF格式三维模型的可视化,因此手撕了一下STL文件向glTF文件转换的代码,整个过程在Qt中用C++实现。将STL文件转换为glTF文件,首先要分别了解二者的文件格式。STL文件如下图示:它以三角面为单元进行描述,每个三角面以facet normal开始,以endfacet结束,其中facet normal描述当前面的法向量,vertex描述三角面的三个顶点坐标,可以看出STL文件格式还是非常简单的。而glTF文件就相对复杂很多

2021-12-21 15:10:08 2530 1

原创 google earth中显示点云

最近,在想办法将点云数据显示在google earth界面上,今天摸索出一种方法----即以海量点标记的形式表示点云,每个点标记的图标采用圆点形式(默认情形下google earth的点标记图标为黄色图钉)。采用这种方法表示点云的KML文件书写格式如下:<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://earth.google.com/kml/2.0"> <Document> <Fol

2021-03-01 19:43:48 1210

原创 在QT中调用google earth并打开KML文件

最近由于项目需求,需要在自己做的软件中调用卫星地球,笔者先后尝试了高德、百度和谷歌地球,最后选择了谷歌地球。原因在于高德地图的卫星地球模式清晰度完全不能满足使用要求;百度地图的清晰度虽然可以满足使用要求,但清晰度也不如google earth,且百度地图的调用方法是将其网页嵌入自己的软件界面中,对于我这个不熟悉javascript的人来说难度较大;所以我选择google earth,清晰度最高,学习资料也多,与本项目合作的公司也用的是google earth,美中不足的是用google earth得翻墙。

2021-01-17 12:23:35 2186 1

原创 关于CPD算法的理解

最近看了论文《Point Set Registration: Coherent Point Drift》,来记录一下对这个算法的理解。CPD算法使用的数学模型为高斯混合模型(GMM),关于高斯混合模型的理解可以参考下面这篇博客https://www.jianshu.com/p/928d48afcd9a论文首先定义了一系列变量:其中点集X和点集Y是两个需要配准的点云,T为变换矩阵。其中点集Y解释为GMM模型的型心,点集X为由GMM模型生成的数据点,这就可以理解为,现在我已将点集Y当成一个正

2020-08-25 19:32:07 6279 1

原创 使用高斯混合模型的点云配准

最近在学习基于概率模型的点云配准方法,上一篇中学习的是基于NDT(Normal Distribution Transform)的点云配准方法,其中关键是将点云进行体素单元格划分,并将每个体素单元格用一个概率密度函数表示。今天读了另一篇论文《Robust Point Set Registration Using Gaussian Mixture Models》,这篇论文也是基于概率模型进行点云配准,论文实现的关键思想是将输入点集用高斯混合模型进行表示,由于高斯函数和正态分布在我看来还是一回事,因此下文我与

2020-08-17 17:04:33 3779

原创 对NDT配准算法的一些理解

最近在学习点云配准方法,先看了NDT配准方法,该方法由于在配准的时候不需要寻找对应点,而是用概率密度得分进行配准,所以配准速度较快,其他博客中也有很多介绍该配准方法的,我也从中学到了许多,下面我说一下我对NDT配准的通俗理解,有不对的地方还望各位大佬留言指正。NDT配准流程如下图示:从上述流程可以看到,NDT配准算法首先将参考点云用数个体素网格进行划分,并在每个体素网格中计算该网格的概率密度分布,没错,这种配准方法用网格的概率密度函数来表示该网格的点云分布情况,如下图(又盗用别人图了,哈哈):

2020-08-16 17:48:11 2302

原创 关于采用LAS格式点云文件实现点云分类的一些看法

最近因项目需求,尝试实现输电线路点云的自动分类(分为地面点、植被点、电力线点、杆塔点四类),最初我根据输电线路固有特征实现了这个功能,统共写了2000多行代码,分类时间长达40多分钟。而一些公司中的软件分类可以在十几秒内完成,这不禁让人思考他们是怎么做到的,这些天,我通过查阅资料和读cloudcompare的代码(cloudcompare也可以实现这个功能),终于找到了答案。答案很简单,之前做的那么麻烦是因为不了解LAS文件的格式,首先看一下LAS文件格式,LAS文件按每条扫描线排列方式存放数据,包括激

2020-08-15 19:05:29 3352 9

原创 QT5.9.9+PCL1.8.1中读取TXT格式点云

由于TXT格式的点云文件是下图中的样子因此按行读取即可,核心代码段如下 std::string file = fileName.toStdString(); //fileName为文件名,QString型数据 ifstream infile; infile.open(file.data()); //将文件流对象与文件连接起来 assert(infile.is_open()); //若失败,则

2020-06-08 22:39:41 1353 4

原创 QT中配置LASLib实现.las格式点云文件读取

任何一个点云处理软件一定少不了.las格式点云文件的读取,而读取.las文件主要依靠LASLib库,网上有不少在VS中配置LASLib的博客,但在QT中配置LASLib的博客却很少,因此今天来写一下,总的来说很简单,用半天左右时间即可完成。在配置LASLib之前,首先要对LASLib进行编译,我是在VS2017+WIN10的环境下进行编译的。编译过程主要参考了这两篇博客。博客1:htt......

2020-03-30 21:50:11 2916 11

原创 QT5.9.9+PCL1.8.1+VS2017 实现点云可视化界面

研究生上了半年,最近终于感觉有点东西可写了。今年由于项目需求,导师让做一个点云处理软件用于输电线路工程建设中,然而作为一个电气工程的小白,尚不知点云处理为何物,更没有师兄来指导,只能靠自己摸索,历时10多天,终于能把点云在QT中显示(其实就是把QT5.9.9+PCL1.8.1+VS2017配置好了),这真的是我见过的最难的配置了,所以请大家在配置时加油!!不要放弃,因为真的蛮难的。做点云处......

2020-03-15 10:42:51 3752 14

原创 C#-学习之五子棋 (一) 双人对战版

因为这几天在学习C#,所以就想用C#做一个人机对战的五子棋小游戏,但是人机对战的设计出来较双人对战的复杂,所以我先把双人对战的部分做出来,也是非常简陋,没有设置那些开始游戏之类的button,只是把主要的下棋部分和判断胜负部分完成了,在后面几天再加上最为复杂的人机对战部分,双人对战设计主要用到的就是GDI+绘图。游戏界面设计好之后效果如下所示:代码部分也是非常简单,如下所示:using Syste...

2018-04-05 12:34:49 2027

原创 C#编写上位机示波器(串口接收数据)

这几天因为做项目,需要做一个上位机,来接收单片机传过来的数据,并以示波器的形式显示。语言使用的是C#,对于C#我也是初学者,但是对于做这样一个示波器来说,感觉难度也是不大的。前端界面的设计就如下图所示:没错,创建的是一个窗体应用,对于控件,则选择了chart图表控件,button控件,label控件,combobox控件以及timer控件,当然最主要的还是chart控件和Timer控件。而代码部分...

2018-04-04 22:31:16 13761 12

原创 DS18B20 (by 51单片机)

依旧是接着蓝桥杯的机会来学习一下DS18B20和单总线技术,平台依旧是IAP15F2K61S2单片机DS18B20单线数字温度计以9位数字量的形式反映器件的温度值,DS18B20通过一个单线接口发送或者接受信息,因此在中央微处理器和DS18B20之间只需要一根连线。下图为其引脚功能说明:器件框图如下所示:从图中可以看出,DS18B20主要由三个数字部件构成,分别是64位激光ROM,温度传感器,非易...

2018-03-16 15:08:36 11093 5

原创 PCF8591 ---AD\DA转换器的使用(IIC通信的软件模拟与应用) (by 51单片机)

依旧是借着蓝桥杯的机会,来学习一些模块,和软件模拟一些通信方式。今天学习的模块是PCF8591,一款AD\DA转换器,使用IIC通信方式。芯片的内部框图如下所示:各引脚作用如下表所示:仍旧和之前DS1302的使用相似,对于这款芯片的使用,依旧是按照先寻地址,再读写相应寄存器的步骤。PCF8591芯片所能接收的地址包含固定部分和可编程部分。可编程部分必须根据地址引脚A0,A1,和A2来设置,在IIC...

2018-03-15 20:39:55 33002 8

原创 DS1302的使用(by 51单片机)

最近在准备蓝桥杯单片机组的比赛,在学习这款单片机时,里面涉及到DS1302芯片的使用,所以今天就在这里把学习使用DS1302的过程写下来,以方便日后查阅。DS1302是由DALLAS公司推出的涓流充电时钟芯片,片内含有一个实时时钟和31字节静态RAM.可通过简单串行接口与单片机进行通信。与单片机相连的参考电路如上所示。很明显与单片机相连只需要三条线。CE复位引脚:输入信号,在读写数据期间,必须为高...

2018-03-14 20:51:28 11470 4

原创 两块STM32之间的SPI通信

本文以STM32F103为例展示两块STM32之间的SPI通信。废话少说,直接奉上我写的SPI库吧。首先是 SPI.h#ifndef _SPI_H_#define  _SPI_H_#include "stm32f10x.h"void RCC_Configuration(void);void GPIO_Configuration(void);void

2017-09-14 22:53:18 19349 7

HanV1.0.rar

用QT做的点云显示软件,可以实现从六个方向观察点云,及对点云的基本属性信息展示。适合刚入门做点云处理软件的童鞋下载,代码比较简单,容易看懂。

2020-03-14

cmake-3.16.0-rc2-win64-x64.rar

CMAKE最新版msi文件,官网下载特别慢,文件中包含了安装cmake-3.16.0-rc2-win64-x64.msi文件即安装说明

2020-02-04

空空如也

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

TA关注的人

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