自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

慢慢冲鸭子的博客

身体比学习更重要

  • 博客(288)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 gtest

// 编译的指令g++ main.cpp libgtest.a libgtest_main.a -lpthread -o main// 出现的错误main.cpp:(.text+0x1e1):对‘testing::internal::MakeAndRegisterTestInfo(char const*, char const*, char const*, char const*, void const*, void (*)(), void (*)(), testing::internal:.

2021-09-14 01:30:39 925

原创 slam方向学习

# boss总结的能力需求1. imu gps camera 多传感器融合?2. vio, slam, 3d视觉# 综述总结的知识点1. 多线激光雷达slam -- 论文框架:LOAM: Lidar Odometry and Mapping in Real-time疑问:基于slam和imu的,是不是叫多传感器的slam优化算法Todo学习《知乎 -- LOAM-SLAM原理深度解析》,阅读 论文 LOAM: Lidar Odometry and Mapping in Real

2021-08-18 22:54:50 602

原创 152. 乘积最大子序列

给定一个整数数组 nums,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。示例 1:输入: [2,3,-2,4]输出: 6解释:子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释:结果不能为 2, 因为 [-2,-1] 不是子数组。链接:https://leetcode-cn.com/problems/maximum...

2020-02-13 17:04:04 282

原创 点云配准真实数据

在验证算法鲁棒性的时候用到了一些数据集,做一下总结。kitti数据集:自动驾驶Are we ready for autonomous driving? the KITTI vision benchmark suite.(2012 CVPR)这个文章中介绍了Kitti数据集,他公开了很多详细的坐标转换函数和readme,认真去看就能处理出来。http://www.cvlibs.net/d...

2020-01-19 16:52:41 1786 2

原创 shell学习之路

最近处理论文加实验改图改文件让我切实意识到一件事:一门脚本语言(shell)是多么重要。决定好好学习一下shell,就先积累100个shell使用场景吧。目的通过场景来积累shell的编写脚本快速解决问题能力,而不仅仅在于一两个语法的掌握。(1) shell指令积累知识点:awk,xargs;场景:删除当前文件夹下所有子文件中的xxx文件。...

2020-01-14 21:31:19 193

原创 (1) shell指令积累

场景:当前文件夹A下有若干子文件夹a,b,c,d,...,并且每个子文件夹a,b,c,...,中又包含了一个需要删除的错误文件,假设叫hahah.txt,此时可以写一个.sh脚本文件执行。dir=$(ls -l . |awk '/^d/ {print $NF}')for i in $dirdo cd $i find . -name "hahah.txt"| xargs rm ...

2020-01-14 21:07:32 186

原创 论文写作中遇到的git积累

自己在写论文的时候,听到说可以用github私有仓来管理自己的论文,然后更新,多人协作(其实就是我和老师一起改)。首先用:https://blog.csdn.net/feengg/article/details/88722614。这个文章详细讲了怎么安装git,我一开始还以为git是github自己开发的,后来才知道不是。反正自己就只会那几个基础的,如:git pullgit pu...

2020-01-13 22:36:41 363

原创 latex插入图片时,排版后显示的图片大小不一致的问题,插入表格位置乱飞

论文用了几种不同的数据模型,然后在插入实验图的时候太头大了,改了很多matlab保存的pdf的尺寸,然后又在latex当中去调整尺寸,反正改来改去发现还是不美观啊!一开始是找的别人的代码,直接弄得插入下面代码,0.33表示我一行要插三张图,然后width = 0.9\linewidth。\begin{minipage}{0.33\linewidth} \includegrap...

2020-01-13 11:02:33 10119

原创 论文当中图片保存png、pdf等等的要分辨率DPI

期刊、会议可能会对文章中图片的分辨率进行要求,我这里会要求是DPI 300。但是自己当初使用matlab保存成pdf的时候其实是没注意的,然后按照默认自动保存的,刚刚想查看一下到网上搜了搜,可以用ps来打开,查看pdf和png文件格式的分辨率信息。如果你要自己保存的话,打开一张matlab figure,点击文件-导出设置,然后渲染,分辨率,就可以修改了,其实还是蛮容易的。不过这里默认我发...

2020-01-02 20:53:33 5533

原创 CMake编译时支持GDB调试

运行程序的时候出现了coredump,所以得在编译时候加入调试选项,gdb -g,但是现在使用cmake了,所以得加入调试选项。在linux环境下通过设置编译选项CXXFLAGS或者CFLAGS使程序可以支持GDB调试,在CMake构建的工程中也可以方便的实现。在CMakeLists.txt文件中添加如下语句:SET(CMAKE_BUILD_TYPE "Debug")SET(CMA...

2019-12-18 15:23:06 1106

原创 fgets()

在写网络编程时候遇到一个问题:通过fgets读取到了一行输入到缓冲区中,总是要通过strlen()来查下缓冲区中的长度,然后替换。一开始没懂这个操作,后来查了下资料,原来fgets在读取输入流的时候,会读取你最后的那个回车,也就是'\n'。比如你现在输入:abcde实际上保存到缓存区中的是:abcde\n然而fgets()会自动再补一个‘\0’,也就是说保存到缓冲区send_li...

2019-12-09 17:32:07 2362

转载 source vimrc的时候报错:.vimrc:1: command not found: syntax

用了别人的.vimrc文件,每次想往里面加点东西,之后想source运行下,总是出错,一搞就是错误:command not found: syntax意思是syntax无法被识别,什么原因呢?这个我还刚开始以为是vimrc最新的不识别syntax了呢,仔细在网上查找资料之后,才发现了其中的原委:~/.vimrc文件是vim的配置文件,在每次vim编辑任何文件的时候都会自动读取并设...

2019-12-08 20:48:28 4122

原创 linux下的mv指令

今天使用mv指令,本来想把桌面改成desktop,因为每次要切换输入法,后来使用了mv语句,突然发现桌面上的文件夹都没有了,全部都到"桌面/desktop"中了。然后想用cp指令把当前文件夹下所有文件拷贝到上一级,这时发现有个文件是数据集,数据量很大,就想以移动的方法。当前文件夹下所有文件指令:./* #表示当前目录下所有文件cp ./* .. #把当前文件夹下所有东西拷贝...

2019-12-07 17:11:14 506

原创 服务器端地址选择——“INADDR_ANY”

客户端需要知道服务器的ip地址和端口port之后,才能和服务器端建立通信。tcpclient.cstruct sockaddr_in servaddr;servaddr.sin_family = AF_INET;servaddr.sin_port = htons(12345);inet_pton(AF_INET,argv[1],&seraddr.sin_addr);t...

2019-12-05 23:27:44 3850

原创 如何在linux下完成一个项目的搭建

最近在学习"极客时间"中盛延敏老师的课程——"网络编程实战"。但是有些代码自己写的时候发现总是报错 ,不是这里没找到no such file or directory,就是莫名的 xxxx函数没有定义,我倒。花了好几天时间重新去研究编译链接这一块,专门来做一个总结。我这次用盛延敏老师定义的头文件common.h,其中包含了常用的网络编程头文件,以及他自己声明的一些函数。这里就涉及到includ...

2019-12-04 21:39:15 651

原创 linux下链接库文件默认搜索路径

库文件包含静态库文件和动态库文件。静态库就是在链接的时候加入到执行代码中,成为了代码的一部分,所以生成的可执行文件就比较大,以后和静态库没瓜葛了,自己随便用了;动态库是指运行的时候会链接到库文件,如果没找到就运行。先介绍一下默认的库搜索路径,这些默认搜索路径是不分动态库和静态库的,都会在前面几个路径都找不到的情况来这儿找,所以这个是优先级最低的。一般 Linux 系统把/lib...

2019-12-04 20:28:16 4487

原创 宏包algorithm与algorithmic引发的Undefined control sequence问题

背景:自己是在texlive+vs code环境下写小论文,在写算法的时候,一直出现输入控制语句全部都是没有定义的,如下Undefined control sequence. \REQUIREUndefined control sequence. \ENSURE...可是我明明是按照别人写的调用了包,修改了输入输出的指令,然后总是提示我使用没定义的控制语句。\u...

2019-12-01 22:19:59 12967

原创 TCP/IP和Linux的发展历史

前言:文章是基于"极客时间"中盛延敏老师的课程——"网络编程实战"来摘录的。自己本科也是计算机科学与技术嵌入式方向,但是有时候提到Linux和unix还是一头雾水分不清,以及linux为什么和Mac OS那么相似,posix标准又是什么等等问题都有解答,所以准备记录一下。主要内容:看一看TCP/IP事实标准和Linux操作系统是如何一步一步发展到今天的。TCP发展历史一般来说,我...

2019-11-30 17:10:31 1044

原创 17|跳表

跳表,能在链表上支持类似“二分”查找算法的数据结构。跳表定义:在链表上加了多级索引的数据结构。它是一种各方面性能都比较优秀的动态数据结构,可以支持快速的插入、删除、查找操作,写起来也不复杂,甚至可以替代红黑树。Redis 中的有序集合(Sorted Set)就是用跳表来实现的。原始的链表在查询的时候只能一个个的遍历,效率低下。那怎么来提高查找效率呢?如果像图中那样,对链表建立一级...

2019-11-25 20:13:24 121

原创 15~16 | 二分查找

二分查找相关性质 :二分查找针对一个有序的数据集合,每次通过和区间的中间元素对比,将待查区间缩小为之前的一半,知道查到要查找的元素,或者区间缩小为0。查询的时间复杂度:O(logn)待查区间是:n,n/2,n/4,n/8,...,n/2^k。其中当n/2^k=1时,查询了k = log2n次,并且每次查询只涉及两个数据的大小比较操作,所以时间复杂度是O(logn)如何写一个正...

2019-11-25 16:58:28 292

原创 面试题:C++ stl中sort底层是如何实现的?

https://blog.csdn.net/qq_35440678/article/details/80147601https://blog.csdn.net/Hanani_Jia/article/details/82498469

2019-11-24 14:43:08 4032

原创 linux下的目录

linux下的目录经常混淆,这里专门积累一下。注意usr并不是user用户的缩写,而是unix system resource 的缩写。root目录,所有用户都可以共享的目录cd /home目录,所有普通用户的父目录cd /home当前用户的home目录cd ~如果是root用户,相当于到root目录 如果是普通用户,相当于到/home/当前用户...

2019-11-21 21:22:14 89

原创 linux下环境变量设置(注意和ubuntu下文件名的区别)

linux下环境变量(注意和ubuntu文件名不同)/etc/profile:在登录时,OS为配置用户环境使用的第一个文件。此文件中包含OS为每个用户设置的环境信息,当任意一个用户登录时,该文件被执行,OS加载其中的环境变量,并从 /etc/profile.d 目录的配置文件中收集 shell 的设置。(这一句什么意思?)~/.bash_profile(ubuntu为 ~/.profile...

2019-11-18 16:13:59 216

原创 linux下无法打开包括文件:“pcl/io/pcd_io.h”: No such file or directory

背景:今天想把Apollo中TestData对应的点云pcds数据处理出来,然后在linux编译链接的时候出现了,无法打开包括文件pcl/io/pcd_io.h,没有这个文件和路径。后来我查了些资料,知道C++在预处理的include的时候,会默认的包含两个路径:/usr/local/include(当前用户的include目录) /usr/include(整个系统的inlcude目录)...

2019-11-14 14:39:41 14965 6

原创 如何查看和修改gcc、g++默认include路径

如何查找gcc、g++默认include路径?注意:"`"是Tab上面的那个符号。#gcc`gcc -print-prog-name=cc1plus` -v#g++`g++ -print-prog-name=cc1plus` -v我们都知道在编译的预处理阶段, 编译器会展开所有的#include<...>和#include"..."文件,那么编译器是按照什么顺序...

2019-11-14 14:15:16 19753 3

原创 vmware:找不到vmx文件

因为虚拟机磁盘空间不足,所以想加点内存。我使用gparted工具扩充vmware UBUNTU虚拟机磁盘空间。走到后续开始启动gparted的时候,发现我没有进入这个启动界面:而是直接开机了,我是根据别人pdf写的:在.vmx的文件的最后增加这样一句(这个过程其实很简单,.vmx文件就是你放虚拟机文件夹下的一个文件,包含的是虚拟机的配置信息)这个.vmx文件所处的目录就是你虚拟机文...

2019-11-12 20:32:09 18532 2

原创 海量数据问题(二)

现在你有 10 个接口访问日志文件,每个日志文件大小约 300MB,每个文件里的日志都是按照时间戳从小到大排序的。你希望将这 10 个较小的日志文件,合并为 1 个日志文件,合并之后的日志仍然按照时间戳从小到大排列。如果处理上述排序任务的机器内存只有 1GB,你有什么好的解决思路,能“快速”地将这 10 个日志文件合并吗?有 10GB 的订单数据,我们希望按订单金额(假设金额都是正整数)...

2019-11-11 21:35:38 399

原创 11-14|排序

如何衡量一个排序算法?执行效率最好情况、最坏情况、平均情况时间复杂度。对于要排序的数据,有的接近有序,有的完全无序。有序度不同的数据,对于排序的执行时间肯定是有影响的,我们要知道排序算法在不同数据下的性能表现。 时间复杂度的系数、常数 、低阶。实际的软件开发中,我们排序的可能是 10 个、100 个、1000 个这样规模很小的数据,所以,在对同一阶时间复杂度的排序算法性能对比的时候,我们...

2019-11-09 11:09:30 266

原创 自动驾驶:如何使用apollo数据进行点云配准?

数据集下载来自Apollo数据开放平台:http://data.apollo.auto/?locale=zh-cn&lang=en参考论文:2019 ICCV ——DeepICP: An End-to-End Deep Neural Network for 3D Point Cloud Registration下载的是样例数据,大概52GB左右。解压之后包含三个文件夹:...

2019-11-08 15:46:12 1191 3

原创 10 | 递归

编写递归代码的关键是:只要遇到递归,我们就把它抽象成一个递推公式,不用想一层层的调用关系,不要试图用人脑去分解递归的每个步骤。(但是我觉得简单的递归过程,比如二叉树上的dfs类型的题目,自己要有能画图讲解的能力,有助于你自己的理解,而不是简单的背几个条件,要具体的知道比如到了叶子节点会发生什么?null节点?递归返回的过程?)递归需要注意的问题:如何解决递归代码的堆栈溢出?我们可以...

2019-11-04 17:06:44 144

原创 09 | 队列:队列在线程池等有限资源池中的应用

队列的应用也非常广泛,特别是一些具有某些额外特性的队列,比如循环队列、阻塞队列、并发队列。它们在很多偏底层系统、框架、中间件的开发中,起着关键性的作用。比如高性能队列 Disruptor、Linux 环形缓存,都用到了循环并发队列;Java concurrent 并发包利用 ArrayBlockingQueue 来实现公平锁等。如何设计队列?基于数组的队列实现方法队列需要两个指针...

2019-11-04 15:52:02 159

原创 08 | 栈:如何实现浏览器的前进和后退功能?(☆)

当某个数据集合只涉及在一端插入和删除数据,并且满足后进先出、先进后出的特性,我们就应该首选“栈”这种数据结构。如何实现一个“栈”?注意:从数组中删除的操作 ,其实并不需要真正的把某个值删除,只要把我们访问下标给减一就可以了。class Stack {public: int n; int count; int *data; Stack(int num) :n(num),...

2019-11-03 22:12:49 195

原创 07|链表(下):解决所有链表的题目

重点 :只要是涉及到添加、删除的链表问题,创建dummy结点的方法可以省去很多边界条件判断。重点留意边界条件处理:如何写出bug free的代码,以链表为例子,检查其边界条件:如果链表为空时,代码是否能正常工作? 如果链表只包含一个结点时,代码是否能正常工作? 如果链表只包含两个结点时,代码是否能正常工作? 代码逻辑在处理头结点和尾结点的时候,是否能正常工作?写链表代码是...

2019-11-02 17:07:03 97

原创 05 | 数组:为什么很多编程语言中数组都从0开始编号?

数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。关键字:线性表:数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向。其实除了数组,链表、队列、栈等也是线性表结构。非线性表:比如二叉树、堆、图等。之所以叫非线性,是因为,在非线性表中,数据之间并不是简单的前后关系。连续的内存空间和相同类型的数据:实现了随机访问如何实现随...

2019-11-01 20:27:00 109

原创 02 | 如何抓住重点,系统高效地学习数据结构与算法?

什么是数据结构?什么是算法?数据结构就是数据的存储结构;算法就是操作数据的方法。举个例子:图书馆藏书为了方便查找,图书管理员一般将各种书籍分类别的放在一起。这种分类存放就是书籍这种数据 的结构。然后在查找的时候,我们当然可以一本一本挨着的查找,或者是首先查找对应的类别 ,然后再查找对应的编号。这种查找的方式都叫算法。具体数据结构:数组、链表、树、图等等具体的算法:二分查找、动态...

2019-11-01 10:24:46 120

原创 数据结构与算法之美

极客时间:https://time.geekbang.org/column/intro/126github:https://github.com/wangzheng0822/algo

2019-11-01 10:24:37 1202

原创 可重入和不可重入

重入:可以重新进入,意思是在执行时,因为任务调动中断,再次重新进入继续执行,对其结果没有影响。例子:可重入锁和不可重入锁可重入函数和不可重入函数函数当中只要有static变量,那么函数就是一个不可重入的函数。...

2019-10-31 16:33:11 751

转载 硬链接(hard link)和符号连接(symbolic link)的区别

硬链接(hard link)和符号连接(symbolic link)的区别:通俗一点理解,可以把硬链接当成源文件的副本,他和源文件一样的大小但是事实上却不占任何空间。符号链接可以理解为类似windows一样的快捷方式。一、链接文件链接文件有两种方式,符号链接和硬链接。1、符号链接文件符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,也可以链接不同文件系统的文件。甚至...

2019-10-31 16:21:08 1604

原创 matlab randn()函数

randn(N,1)就是产生服从方差为1,均值为0 ( 即N(0,1) )的Gaussian分布的随机噪音官方文档给出的例子:产生均值为1,标准差为2的正态分布。Example 1: Generate values from a normal distribution with mean 1 and standard deviation 2.r = 1 + 2*randn(100,1...

2019-10-31 16:17:08 8685

原创 netstat -an

netstat"-a"选项意在显示所有连接当不附加"-n"选项时,它显示的是本地计算机的netbios名字+端口号;而加了"-n"选项后,它显示的是本地IP地址+端口号。...

2019-10-31 16:16:43 4592

顾老师GAN最优传输理论pdf整理

最优传输是数学领域的经典分支,最优传输与神经网络有天然的相似性,最优传输理论的研究也许能为深度学习理论研究打开一扇窗,或者至少能指导一些深度学习!

2019-01-10

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

TA关注的人

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