自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (1)
  • 收藏
  • 关注

原创 C++ 共享指针地址指向问题

C++指针

2023-01-31 11:25:17 280 2

原创 C++重定义注意项

C++ 常见重定义错误的解释

2022-09-02 15:41:02 300

原创 C++多态与继承的一个注意点

C++多态与继承的一个注意点问题描述实验结果1.覆盖2.重写结论问题描述父类声明式子类对象使用直接继承的方法,内部方法的指向问题。示例如下,输出是什么?class father{public: virtual void m1()=0; virtual void m2() const{ std::cout<<"father-m2"<<std::endl; }};class son:public father{public:

2022-04-06 19:38:01 589

原创 5分钟让你理解C++的基础编译流程(以PCL为例)

一.整体流程图简介前提:编写的程序需要引入第三方库二. 链接cmakelist的解释前提:1.其中真正执行编译链接的文件是makeFile,不同平台链接脚本的语法不同,为了能够跨平台,需要一种映射程序可以自动修改makeFile的内容。2.直接使用程序比较复杂,为了更加方便开发人员,又加了一层,表象上是直接采用配置文件的方式来生成makeFile文件3.cmakelist得以产生,cmakelist的内容以pcl为例解释意思:   可以看到cmakelist的操作与

2021-10-08 17:27:59 496

原创 前端非常见问题解决

• 1.vue watch (immediate handler)作用:用于首次绑定也执行handler,默认不执行首次。 (deep)作用:深度监测对象和数组• 2.Vue 同名文件,sourcemap默认用相对位置,会导致同名深层调用.vue• 3.Foreach map底层是遍历方法,会并行,对异步无效• 4.Key为Index的 复用问题 ,常见于多层嵌套,diff失效;(甚至拼接字符串也会重复);可用对象地址• 5.元素标签精确数据:getBoundingClientRect 与wind

2021-09-22 17:39:55 161

原创 前端部分问题学习笔记

前端问题1.vue-loader作用:转换vue单文件,解析各个部分,交由其他loader处理。2.刷新或进入网页过程:浏览器缓存和操作系统(OS)缓存 (dns和host)和DNS服务器3.https过程:https://zhuanlan.zhihu.com/p/43789231发送http请求-服务器数字签名后传CA证书(日期,hash,公钥等)-浏览器验证证书日期,及真伪-浏览器生成随机key公钥加密-服务器私钥解密获取随机key-两边都有随机key后,传输数据通过key加密H

2021-09-22 17:32:23 112

原创 PCL教程指南-判断点的邻域范围是否为平面

PCL教程指南-判断点的邻域范围是否为平面用于过滤平面结构或者说判断是否点邻域范围是否为平面两种方法:在某点邻域范围内进行RANSACOBB包围盒坐标值差距以下给出两种方法的核心代码RANSAC判断邻域范围是否为平面 /** * sample plane *///pointIdxNKNSearch 为计算点的邻域点索引 pcl::SampleConsensusModelPlane<pcl::PointXYZ>::Ptr model_p (ne

2021-05-13 11:12:06 583

原创 git使用注意项

1.git 过程初始化: git init克隆远程(可选)关联远程仓库(例如github):git remote add 远程名 地址工作区推送到暂存区: git add [‘*’或者某文件]暂存区提交到本地仓库某分支:git commit -m '描述’本地推送远程:git push 远程名 分支名2.注意项推送分支:分支同名才能推送;没有将会创建(git push github branch1:本地branch1分支推送到远程branch1上)若推送ref错误,即远程分支和推

2021-04-28 14:23:46 89

原创 PyTorch Geometric(PYG)-实现小批量data类中__inc__与__cat_dim__的含义与作用

PYG中实现小批量data类中__inc__与__cat_dim__的含义与作用1.作用此两个函数出现在pytorch geometric实现批量操作时,batch集行为的自定义修改方法,两种方法都是为了解决多个数据之间的拼接问题。2.直观图解官方初始定义,均对某一属性值进行判定def __inc__(self, key, value): if 'index' in key or 'face' in key: return self.num_nodes else

2021-03-02 16:28:47 2278 1

原创 PyTorch Geometric(PYG)入门指南

PyTorch Geometric入门指南pytorch geometric是基于pytorch框架封装的图神经网络库,相比于DGL库更加便利,符合pytorch开发规范,拥有pytorch基础,更易于使用。pytorch基础请移步pytorch训练CNN1.数据类型介绍类比于pytorch,pyg拥有同样名称的库用于构建网络和处理数据:库名作用torch_geometric.nn封装了常用的GNN相关网络,直接可用torch_geometric.dataGNN

2021-03-02 11:19:52 2529

原创 pytorch训练卷积神经网络进行图片分类(官方教程详细解读)

pytorch训练卷积神经网络进行图片分类(官方教程详细解读)文章主要内容[官方文档]对pytorch针对CIFAR10数据集进行图片分类代码的解读,旨在对每一行代码的作用进行解答,整体过程进行梳理。按官方文档顺序,注释解答每行代码的意图和含义注释解读1.读取CIFAR10,并进行标准化import torchimport torchvision #工具库,包含数据集,模型,图片操作,其他操作等等import torchvision.transforms as transforms # 图

2021-02-09 16:10:48 4191

原创 transforms.Compose,transforms.ToTensor(),transforms.Normalize()的含义与原理

transforms.Compose,transforms.ToTensor(),transforms.Normalize()的含义与原理1.问题描述问题来源于pytorch神经网络的示例代码:transform = transforms.Compose( [transforms.ToTensor(), transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])作用主要是读取CIFAR10数

2021-02-09 12:37:19 11864 4

原创 pytorch中backward参数含义

pytorch中backward参数含义1.标量与矢量问题backward参数是否必须取决于因变量的个数,从数据中表现为标量和矢量;例如标量时 y=一个明确的值 y=一个明确的值 y=一个明确的值 矢量时 y=[y1,y2] y=[y1,y2] y=[y1,y2]2.backward 参数计算公式当因变量公式不是一个标量时,需要显式添加一个参数进行计算,以pytorch文档示例说明:import torcha = torch.tensor([2., 3.], requires_

2021-02-03 12:59:57 2164

原创 pycharm安装配置pytorch错误问题解决方案(Try to run this command from the system terminal. Make sure that you use)

pycharm安装配置pytorch错误问题解决方案问题描述直接应用pycharm的setting编译器添加库的方式下载pytorch会提示:Try to run this command from the system terminal. Make sure that you use the correct version of ‘pip’ installed for your Python interpreter located at 'D:\python\python.exe’虽然提示版本

2021-01-22 13:20:30 6361 1

原创 PCL教程指南-VFH描述子

PCL教程指南-VFH描述子官方原文档VFH是对FPFH基础上的扩展,VFH目的是抽象出一个整体的描述特征,这个特征主要由以下两部分组成视点与其他点的关系中心点与其他点的关系示意图视点与其他点的关系:视点与中心点形成的向量与其他点法向量形成的夹角;即图中alpha中心点与其他点的关系:中心点与各点的SPFH特征,即三个角度和一个距离对于文档中的示意图个人认为是有错误的,表述是视点与中心点的向量,示意图却是视点与其他点的向量。源码中计算使

2021-01-21 17:38:49 1432 5

原创 PCL教程指南-PFH与FPFH特征描述子

PCL教程指南-PFH与FPFH特征描述子PFH官方文档FPFH官方文档两种描述子主要思想是利用局部邻域内点之间的角度距离特征组成直方图的思想,具体原理文档和相关论文有详解注释文档代码,并扩展其中用法1.PFH#include <pcl/point_types.h>#include <pcl/features/pfh.h>{ pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointClou

2021-01-17 16:12:33 2224 6

原创 PCL教程指南-估计点云法向量

PCL教程指南-Estimating Surface Normals in a PointCloud(估计点云法向量)官方原文档点云法向指每个点的法向量,它是基于各点所在邻域范围内估计而出,常用方法如最小二乘估计邻域平面进而求出法向量,PCA求解邻域协方差最小特征向量等。具体详细原理另行查询。文档代码注释与接口扩展#include <pcl/point_types.h>#include <pcl/features/normal_3d.h>{ pcl::Point

2021-01-15 11:56:48 1778

原创 PCL教程指南-点云变化检测

PCL教程指南-Spatial change detection on unorganized point cloud data(点云变化检测)官方原文档基于八叉树结构对两组点云检查区别即变化检测。代码注释解读,扩展内容#include <pcl/point_cloud.h>#include <pcl/octree/octree_pointcloud_changedetector.h>#include <iostream>#include <ve

2021-01-14 15:09:57 1424

原创 PCL教程指南-Spatial Partitioning and Search Operations with Octrees(八叉树数据组织及搜索)

PCL教程指南-八叉树数据组织及搜索

2021-01-13 11:35:20 683

原创 PCL教程指南-Point Cloud Compression(八叉树压缩点云数据)

PCL教程指南-Point Cloud Compression(八叉树压缩点云数据)官方原文档针对点云数据量问题,应用八叉树数据结构,进行编码压缩。对原文档代码进行解读,并详细介绍压缩参数和意义,及其他扩展内容#include <pcl/point_cloud.h>#include <pcl/point_types.h>#include <pcl/io/openni_grabber.h>#include <pcl/visualization/clo

2021-01-12 11:22:48 2666 2

原创 PCL教程指南-如何使用KdTree寻找最邻近点

PCL教程指南-如何使用KdTree寻找最邻近点官方原文档KdTree原理官方文档详解,简单概括 利用二叉树结构在高维度的应用,按维度中相近的数据组织,用于查找邻近点对原文档代码解读,并扩展其他内容#include <pcl/point_cloud.h>#include <pcl/kdtree/kdtree_flann.h>#include <iostream>#include <vector>#include <ctime>

2021-01-09 12:17:44 3641 1

原创 PCL教程指南-投影参数模型,索引提取点云,条件滤波或半径滤波剔除离群点

PCL教程指南-投影参数模型,索引提取点云,条件滤波,半径滤波一.Projecting points using a parametric model(投影参数模型)官方文档原文目的是将点云投影到某一个模型上,比如平面,球体等以下对原文代码进行注释解读,并扩展类中其他内容#include <iostream>#include <pcl/io/pcd_io.h>#include <pcl/point_types.h>#include <pcl/Mo

2021-01-07 20:36:29 649

原创 PCL教程指南-直通滤波器,体素滤波器,统计滤波器

PCL教程指南-直通滤波器,体素滤波器,统计滤波器详细解读官方文档代码同时,引出具体类中其他常用方法1.直通滤波器官方文档原文顾名思义,直通滤波器指通过某一个单一条件进行直接限制,比如过滤出x大于10的点;代码较简单,直接对关键点进行复述 // Create the filtering object pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);

2021-01-06 21:14:48 1264

原创 PCL教程指南-ply转pcd,txt转pcd

1.ply转pcdint plyToPcd(){ pcl::PLYReader reader; pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>); reader.read<pcl::PointXYZ>("xxxx.ply", *cloud); pcl::io::savePCDFile("xxxx.pcd", *cloud );

2021-01-05 17:46:14 512

原创 PCL教程指南-读取PCD文件,写入PCD文件,合并点云

PCL教程指南-读取PCD文件,写入PCD文件,合并点云一.读取PCD文件读取PCD应用pcl::io::loadPCDFile<pcl::PointT>(pcd文件,点云对象)函数,针对官方文档代码进行注释解释#include <iostream> #include <pcl/io/pcd_io.h> //pcd流头文件#include <pcl/point_types.h> //点类型即现成的pointTintmain (int

2021-01-05 17:20:54 3937 4

原创 PCL教程指南-基础概要

PCL学习指南-基础概要此系列文章旨在小白对PCL入门,以个人在PCL官方文档所学,加以理解通过中文解读代码的意图1.前言PCL 全程Point Cloud Libirary 中文翻译为点云库;它是在C++基础上开发的点云处理包,包含点云数据结构,点云输入输出,点云滤波,点云特征,点云配准,点云识别,点云分割,三维重建,可视化等模块。极大简化了相关人员开发与实验过程。PCL学习之前,你需要了解C++语法基础,否则PCL代码将成为学习的第一道门槛2.PCD数据格式PCD点云格式是PCL独

2021-01-04 15:16:50 2637

原创 设计模式学习-总结

设计模式学习-总结目的应对变化,可复用实现应用于变化点,针对变化点,重构变化点关键点静态->动态早绑定->晚绑定继承->组合编译时依赖->运行时依赖紧耦合->松耦合结语设计模式本质是设计原则,遵循原则是根本。根本所求是找到关键的变化界线,达到复用的目的。设计模式只是对抽象原则的部分实际总结,实战中模式直接套用为大忌,要根据实际需求,变化进行设计,原则至上。导向图目录组件协作模式模板方法策略模式观察者模式单一职责模式装饰模式桥

2020-12-30 16:14:48 174

原创 设计模式学习-命令模式,访问器,解析器

设计模式学习-命令模式,访问器,解析器命令模式,访问器主要解决行为变化归结为行为变化模式,解析器比较特殊归结为领域规则模式命令模式(Command)定义将一个请求封装成一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及可撤销操作通俗概括由于行为变化频繁,将行为与组件本身分离,实现松耦合模式示意图访问器(Visitor)定义表示一个作用于某对象结构中各元素的操作。使得可以在不改变(稳定)各元素的类的前提下定义(扩展)作用于这些元

2020-12-30 16:00:06 197

原创 设计模式学习-组合模式,迭代器,职责链

设计模式学习-组合模式,迭代器,职责链三种模式应用数据结构实现,可归结为数据结构模式组合模式(Composite)定义将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性(稳定)通俗概括对于部分对象组合操作问题,针对执行组合多与少的问题,将待操作对象组织为树结构,使得对象组合调用一致。模式示意图迭代器(Iterator)定义提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示

2020-12-30 15:52:03 219

原创 设计模式学习-状态模式,备忘录

设计模式学习-状态模式,备忘录两种模式状态管理突出,可归结为状态变化模式状态模式(State)定义允许一个对象在其内部状态改变时改变它的行为。从而使对象看起来似乎修改了其行为通俗概括类似策略模式,利用多态将变化的状态及对应行为抽象出来,分出一个稳定的流程和一个变化的状态。注重状态及其行为(状态转换等)的变化问题模式示意图备忘录(Memento)定义在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到原先保

2020-12-30 15:47:52 178

原创 设计模式学习-门面模式,代理模式,适配器,中介者

设计模式学习-门面模式,代理模式,适配器,中介者四种模式接口隔离特点突出,可归结为接口隔离模式门面模式(Facade)定义为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更易使用(复用)通俗概括增加一个稳定的中间层,类似于在系统模块层面建立桥接,多是架构设计模式模式示意图代理模式(Proxy)定义为其他对象提供一种代理以控制(隔离接口)对这个对象的访问通俗概括为了安全,性能,分布式等考虑,加一个

2020-12-30 15:07:23 337

原创 设计模式学习-单例模式,享元模式

设计模式学习-单例模式,享元模式两种模式主要为了提高性能而设计,可归结为对象性能模式单例模式(Singleton)定义保证一个类仅有一个实例,并提供一个全局访问点。注意项将构造函数与拷贝构造函数设为似有,因为不设置会自动生成。实现方式饿汉式class 懒汉式普通版单锁双锁双锁+编译限制模式示意图抽象工厂(Abstract Factory)定义提供一个接口,让该接口负责创建一系列"相关或相互依赖的对象",无需指定他们具体的

2020-12-30 14:54:43 184

原创 设计模式学习-工厂模式,抽象工厂,原型模式,构建器

设计模式学习-工厂模式,抽象工厂,原型模式,构建器四种模式构建对象特点突出,可归结为对象创建模式工厂模式(Factory)定义定义一个用于创建对象的接口,让子类决定实例化,实例化延迟。通俗概括通过多态特性,让用户利用子类创建对象,达到某方法里与具体类解耦目的;主要解决“单个对象”需求变化,要求创建方法/参数相同模式示意图抽象工厂(Abstract Factory)定义提供一个接口,让该接口负责创建一系列"相关或相互依赖的对象",无需指定他们具体的类通

2020-12-24 16:58:09 284 1

原创 Cesium入门理解与学习路线

Cesium入门理解与学习路线1.Cesium入门CesiumJS是一个开放源代码JavaScript库,用于创建具有最佳性能,精度,视觉质量和易用性的世界一流的3D地球和地图。从航空航天到智慧城市再到无人机,各行各业的开发人员都使用CesiumJS来创建用于共享动态地理空间数据的交互式Web应用程序。Cesium从应用角度上,可以通过整合地理数据,操作数据实现展示、地理计算、仿真模拟、实时实景监控等功能,从开发角度,Cesium即为开源团队架构较为完整的二次开发库,其中涉及数据格式、实体几何

2020-12-24 10:52:03 4014 2

原创 pgadmin4与navicat区别与数据库备份还原方案

pgadmin4与navicat区别与数据库备份还原方案pgadmin4综合问题数据插入错误后,序列仍然会增加,手动更新自增数据库不应手动加ID1.backup文件还原备份会保存模式名,根据模式名还原信息还原结构和数据,customer backup格式,数据和结构全部还原 ,序列和约束都存在还原结构,customer backup格式,结构全部还原 , 结构还原的同时,约束存在,序列自动都从1开始还原数据,customer backup格式 ,数据全部还原,序列也相应还原2

2020-12-24 10:37:23 2476

原创 设计模式学习-装饰模式,桥接模式

设计模式学习-装饰模式,桥接模式两种模式职责特点突出,可归结为单一职责模式装饰模式(Decorato)定义动态(组合)地给一个对象增加额外职责,利用Decorator中间层扩展功能,更加灵活,减少冗余通俗概括组合优于继承,主体功能扩展,通过中间层抽象共有部分,构建通过组合来扩展功能的子类,解决了主体在多方向的功能扩展灵活性模式示意图桥接模式(Bridge)定义将基类中抽象部分与实现部分分离,使它们可以独立地变化通俗概括-通过组合关系,将抽象与实现

2020-12-23 18:52:24 252

原创 C++与Java的区别

C++与Java常见区别1. 指针与引用问题C++ 中指针存储地址是可变的; 引用是别名,本质也是存储了地址但不可变;JAVA中无指针概念但其对象引用类似于指针用于存储地址指针和引用方法参数传递后会有什么区别?C++中指针传递本质是拷贝,换地址不会影响实参;引用传递是别名,不可变指针,会影响实参//////////////////////////////////////////////////////////////////////////////////////////C++有指针为什

2020-12-23 11:30:43 291

原创 设计模式学习-模板方法,策略模式,观察者模式

设计模式学习-模板方法,策略模式,观察者模式三种模式协作特点突出,可归结为组件协作模式模板方法(Template Method)定义定义一个操作中算法的骨架,将一些步骤延迟到子类(虚函数,子类自实现),使子类复用一个算法结构,重新定义通俗概括利用多态性,将固定流程封装,利用多态性自定义变化点模式示意图策略模式(Strategy)定义定义一系列算法,封装起来,使得在独立于客户程序下可变通俗概括利用多态性,算法子类化,传不同对象计算不同算法,主要用

2020-12-22 17:37:30 194

原创 设计模型学习笔记-面向对象思想

设计模型学习笔记-面向对象思想记录李建忠老师设计模型课程学习与思考专栏面向对象:封装 继承 多态深层思想:1. 隔离变化:抽象 使得变化部分与稳定部分隔离2. 各司其职:各部分互不干扰,责任制3. 对象含义:语言上实现封装,规格上提供接口,概念上责任抽象八大设计原则1.依赖倒置原则(DIP)高层模块(稳定)不应依赖低层(变化),二者应依赖抽象(稳定)抽象不应依赖于实现细节,细节应依赖于抽象2.开放封闭原则(OCP)对扩展开放,对更改封闭类模块可扩展不可修改3.单一职

2020-12-21 15:11:21 115

原创 Linux虚拟机下PCL安装与配置(最最最最新)

Linux虚拟机下PCL安装与配置自身环境 WIN10 64位,旨在Linux下快速搭建PCL,进行点云处理测试一.安装虚拟机目前免费的个人虚拟机,推荐使用VMware Workstation 16 Player,简单快速,下载网址:下载安装步骤无坑,按自定路径即可二.下载Ubuntu镜像文件推荐使用Ubuntu免费的Linux系统,桌面操作,形似Window,下载网址:下载三.新建虚拟机打开安装好的虚拟机VMware Workstation 16 Player:…之后填入个人用

2020-12-20 15:08:50 2483

CNN图片分类源码.zip

pytorch官方文档 源码整合 亲测可运行

2021-02-09

空空如也

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

TA关注的人

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