自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用GDB探索进程的栈以及栈帧的内容

进程与栈的关系、栈与栈帧的关系 一个进程里面包含了很多内容,既有代码段、静态变量以及全局变量、无效区域、堆、栈,也还有最上面的内核态的东西。 这里只讨论用户态的栈。 用户态的栈可以被分为多个栈帧,多个栈帧自上而下组成了栈,栈帧是描述了一个函数的执行过程。 ebp寄存器保存了一个栈帧的底部地址,esp寄存器保存了一个栈帧的顶部地址。栈帧的组成栈帧包括了如下内容:该函数在上层函数中,下一个语句的地址(如test函...

2020-07-27 23:29:49 1095

原创 leetcode 113 路径总和 2, 两种不同回溯理念(push当前状态,或者push下一个可能的状态)的思考

首先,可以搜索DFS的标准解法,不再赘述。但搜到的dfs一般都不是二叉树这种类型,一般是针对矩阵、字符串的操作。如果遇到二叉树,如leetcode的113题:求路径总和2.有人给出的解法是:class Solution {public: vector<vector<int>> res; vector<int> tmp; vector<vector<int>> pathSum(TreeNode* root.

2020-07-12 20:54:44 236

原创 c++线程池 progschj/ThreadPool解析

源代码https://github.com/progschj/ThreadPool.git这是适应于c++11版本以上的线程池实现,可以添加各种类型线程任务,同时由于使用std::future等新功能,从而能够获得任务的返回值。在github上有3.2k的star。最后有疑问,求大佬解惑线程池雏形c++线程池有一个比较基本的模型,我看了一些工程,发现它们的基本构造都可以从这篇博...

2020-04-06 12:09:24 1076

原创 学习opengl之制作魔方

效果实现了一个魔方能够按照某一边旋转,但本内容没有过多考虑纹理,所以魔方内部也有颜色。工具glad、glfw(这个无所谓)、glm(这个也主要是为了和glad配合,使用eigen也行)思路状态机STOP 停止不动时如何刷新界面RUNX(Y/Z) 沿着X/Y/Z轴旋转时如何作图UPDATE 当旋转到位置时,更新模型矩阵,包括旋转以及位置UPDATE状态中更新旋转矩阵每一...

2020-03-22 14:34:47 2909 1

原创 学习opengl之为立方体六个面贴上不同的纹理图片

效果相比于立方体自转,这一博客增添了 为立方体的不同面添加不同纹理图片的操作,不再是六个面单一纹理了。工具glad、glfw(这个无所谓)、glm(这个也主要是为了和glad配合,使用eigen也行)思路主要是要理解着色器(shader)的原理,它要求所有出现在其中的变量具有相同的维度,比如顶点的个数要和表示纹理坐标的坐标数量相同。每次使用glDrawArrays(GL_TRIAN...

2020-03-20 20:08:06 4990 1

原创 学习opengl之刚体绕自身轴运动

效果这是一个可以绕自身轴运动的刚体工具glad、glfw(这个无所谓)、glm(这个也主要是为了和glad配合,使用eigen也行)思路已知gl_Position = projection * view * model * vec4(aPos, 1.0f);1.需要存储一个全局变量保存当前刚体的姿态。glm::mat4 currentModel = glm::mat4(1.0f...

2020-03-17 20:58:56 910 4

原创 求01矩阵的连通域(c++版本)

举例求下面矩阵的四连通域(3)[1100010100011000001000001] \left[ \begin{matrix} 1 &amp; 1 &amp; 0 &amp; 0 &amp; 0 \\ 1 &amp; 0 &amp; 1 &amp; 0 &amp; 0 \\ 0 &amp; 1 &a...

2019-08-28 19:30:12 6511 1

原创 C++使用nlohmann json

最好用的c++ json库是 nlohmanngithub 地址:https://github.com/nlohmann/json.git提示把变量写成json容易,可是把json变成变量就要复杂一点,不过对于nlohmann一点都不复杂json是什么不多说了怎么使用这个库编译安装mkdir buildcd buildcmake ..makesudo make instal...

2019-07-26 21:11:24 26868 6

原创 Karto SLAM之open_karto代码学习笔记(二)

前言Karto SLAM之open_karto代码学习笔记(一)中介绍了karto slam中的各种类的作用,本篇博客主要介绍karto 算法中最重要的函数kt_bool Mapper::Process(LocalizedRangeScan* pScan)1.代码解析process函数是karto算法的核心函数,该函数位于open_karto/src/Mapper.cpp中。该函数的作用...

2019-05-15 23:04:22 2168 2

原创 error: ‘constexpr’ needed for in-class initialization of static data member ‘const double sba::Con2d

In file included from /home/kadn/ROS/catkin_ws/src/slam_karto/src/spa_solver.h:30:0,from /home/kadn/ROS/catkin_ws/src/slam_karto/src/slam_karto.cpp:41:/opt/ros/kinetic/include/sparse_bundle_adjustme...

2019-03-05 11:32:46 8159 1

原创 使用keras训练mnist数据集

文章组织结构使用不同的网络结构来训练mnist,从中了解一些问题原始代码,正确率约为90%更换loss函数,更换优化器来获得更好效果,正确率约为 97%使用卷积层来替换Dense层,正确率达到99%使用VGG16网络,正确率达到了97.4%经验教训原始代码(转载自 https://www.cnblogs.com/LHWorldBlog/p/8677131.html)#====...

2019-02-07 20:01:57 4796 5

原创 opencv中DMatch解释

queryIdx : 查询点的索引(当前要寻找匹配结果的点在它所在图片上的索引). trainIdx : 被查询到的点的索引(存储库中的点的在存储库上的索引) imgIdx : 有争议(常为0)具体解释,验证过程我们从图1中提取了 sift/surf/orb或其他种类的特征点vector&lt;KeyPoint&gt; keypoints_1以及相应的描述子descriptor1...

2019-01-04 22:32:04 21417 3

原创 Karto SLAM之open_karto代码学习笔记(一)

综述本文旨在提供关于 open_karto 代码的详细中文解释,通过open_karto提供的tutorial1来详细分析代码含义。针对代码中重点类LocalizedRangeScan,LaserRangeScan,Mapper,ScanMatcher,CorrelationGrid,GridIndexLookup等进行详细解释,了解其作用。另外对重点函数Mapper::Process(), S...

2018-12-21 14:01:39 5914

原创 Ubuntu中使用cmake链接opencv库的两种方法(opencv3中 base+module动态库的名字也在这里写好了)

第一种使用 find_package的方法示例代码如下:# 声明要求的 cmake 最低版本cmake_minimum_required( VERSION 2.8 )# 声明一个 cmake 工程project( pro )# 设置编译模式set( CMAKE_BUILD_TYPE "Debug" )#添加OPENCV库#指定OpenCV版本,代码如下#find_...

2018-10-15 20:55:59 14663 4

原创 opencv将Mat数据输出到xls中

在opencv中将Mat数据放到xls中可以用于调试自己的代码。首先是文件后缀名不能使用xlsx,而是xls代码如下:#include <opencv2\opencv.hpp>#include <fstream>using namespace cv;void main(){ Mat mat = imread("F:\\biecuo.png");...

2016-11-27 16:15:41 2852 7

原创 眼球中心定位跟踪算法—eyelike 代码解析

论文及代码地址原始论文Accurate eye centre localisation by means of gradients原始代码eyelike代码分析(很久之前写的,排版有点乱,有时间再更新)Main函数中face_cascade用于实现人脸捕获之后是窗口命名。通过CvCapture将摄像头捕获到的图像传入frame,然后对frame进行分析进入...

2016-11-23 14:18:42 3500

原创 python xml.etree.ElementTree之·设置并生成xml·解析xml

python xml 生成 解析 Elementtree

2023-01-02 20:17:07 658

原创 C++ 计时函数抽象成宏

c++ 计时函数

2022-09-03 21:56:56 420

原创 socket编程在windows和linux下的区别

linux和windows socket差异

2022-09-03 21:14:37 1622

原创 flask创建的服务器无法被局域网内其他计算机访问

https://dormousehole.readthedocs.io/en/latest/quickstart.html#id2终端运行时,加入后面的 --host=0.0.0.0flask run --host=0.0.0.0

2020-05-25 21:17:07 1342

原创 Leetcode 41 firstMissingPositive

题目:给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。输入: [1,2,0]输出: 3输入: [3,4,-1,1]输出: 2输入: [7,8,9,11,12]输出: 1代码:class Solution {public: int firstMissingPositive(vector<int> A) { int ...

2020-04-27 18:48:33 133

原创 c++ new和delete在release模式和debug模式下的区别

debug模式下,在heap堆中拿到的空间,在其上有 :1.分配空间大小2.是否被new或delete3.debug header用于调试4. 下方有4字节的无用区域5.无用区域后可能有pad(保证这个空间大小是16字节的倍数)6.在pad后有和1、2相对应的信息release模式下,在heap堆中拿到的空间,在其上有1.分配空间大小2.是否被new或de...

2020-04-04 21:21:44 890

原创 linux 小知识

1. gcc 没有不加-s的选项编译出来的不是release版本,似乎也不是debug(debug需要加-g才能调试)。2. release下的变量空间地址分布和进程空间分布描述一致,但是debug模式不是这样。3. 原来delete两次指针时,出现的一堆提示,其实是内存的分布情况。...

2020-04-03 23:17:30 109

原创 wireshark TCP三次握手实验

软件我使用了windows上的python作为客户端和ipad下载的TCP应用作为服务器。实验步骤从客户端192.168.0.109向服务器192.168.0.106的12000端口发起连接从客户端向服务器发送 hello,这是5个字符从客户端向服务器发送 world!,这是6个字符等待10s,关闭连接实验结果实验结果是从wireshark上截图而来的实验步骤1在wire...

2020-02-07 19:59:22 3061 1

原创 global_planner Dijkstra算法解析

以图来更形象描述:为了能够理解代码,要提前知道 costmap的含义,代码中的cost链表指的就是costmap中某个格子的值,potential指的是下面图形的左边的图形代价,右边的图是记录了每个格子的一维索引值。每次都在不断的更新格子中的某个点...

2019-11-25 15:57:19 810 6

原创 ubuntu boost 不同版本导致的坑

不要在Ubuntu上面安装很多boost,要不然引用会发现有很大的问题1.我自己安装了boost 1.67,头文件在 /usr/local/include, 库文件忘了在哪了2. 其他软件安装了boost 1.58, 头文件在 /usr/include, 库文件在/usr/lib/x86_…3. 我发现find_package(Boost)总是搜索到1.67, 某些博客说 其实这个值查找的...

2019-10-23 19:39:57 3877 1

原创 未定义TIFFIsTiled@LIBTIFF_4.0

locate libtiff.so发现tiff有很多,在我的电脑上安装了anaconda3,这里面的libtiff.so和系统的libtiff.so产生了冲突,所以我把anaconda3这里的tiff删除了,之后问题就解决了....

2019-10-11 16:52:42 491 1

原创 cartographer源码之probability_grid

1.相关博客https://zhuanlan.zhihu.com/c_10405595445057044482.关于grid_2d 与 probability_gridprobability_grid是 grid_2d的继承,主要实现的函数是bool ProbabilityGrid::ApplyLookupTable(const Eigen::Array2i& cell_index...

2019-07-24 18:30:16 805

原创 html 修改 input : file样式

<head> <style type="text/css"> .file { position: relative; display: inline-block; background: #D0EEFF; border: 1px solid #99D3F5; border-radius: 4px; padding: ...

2019-06-01 01:33:50 4960

原创 html把单选框改变样式

以下是成功的源代码!<head> <style type="text/css"> /*lable标签的大小、位置、背景颜色更改,在css选择时,“+”代表相邻元素,即当前元素的下一元素*/ input[type="radio"] + label::before { content: "\a0"; /*不换行空格*/ display: inli...

2019-06-01 00:56:47 7299

原创 ORBSLAM2_with_pointcloud_map 使用笔记

这个代码的结构有点乱…./ORBSLAM2_with_pointcloud_map | + --- ORB_SLAM2_modified.zip | + Example.jpg | + README.md | + --- ORB_SLAM2_modified 有用接下来把 ...

2019-05-19 17:54:32 1235 8

原创 轻松入门g2o

概述g2o是近年来图优化中应用最广泛的工具,在orb-slam,SLAM十四讲中都是经常被用到的优化工具。看了高博的书,或许还是存在很多不解之处(里面简单例子太少了,只有一个abc的拟合,又涉及了继承,所以一个例子看不懂)别人的博客也只是讲讲原理,但是没有一个带小白入门的过程。如果看过高博的例子,就知道开头要怎么定义 optimizer,但是怎么定义边和顶点以及怎么添加边和顶点以及怎么写参...

2019-05-18 16:30:03 1376 2

原创 vscode 打开远程文件

远程服务器wget -O /usr/local/bin/rmate https://raw.github.com/aurora/rmate/master/rmate && chmod a+x /usr/local/bin/rmate意思就是给远程的服务器安装一个rmate,并让其放在 /usr/local/bin下面,并且具有可执行的能力本地vscode安装 插件...

2019-04-30 12:36:48 4083 1

原创 神经网络反向传播相关博客

卷积层的反向传播 https://www.jianshu.com/p/8ad58a170fd9pooling层的反向传播 https://blog.csdn.net/googler_offer/article/details/81208413全连接层的反向传播 https://www.jianshu.com/p/8e8206086157...

2019-04-20 19:22:04 84

原创 c++ 知识

c++知识多个类的相互调用类的相互调用,这篇博客讲的比较清晰同时这篇博客和我之前的《c++类之间相互引用,c++友元类,c++类内互相有对方的指针 KartoSLAM代码为例》说的是同一个问题继承与派生c++派生与继承重点:父类的private成员不可被派生类直接访问(那就是有别的方法访问,应该是由父类提供)private public protected 区别区别文章链接pro...

2019-04-18 00:30:20 178

原创 ubuntu16在C++代码中实现plot函数

依靠qt的强大第三方库qwt实现plot(不好用来kuan我!!!)先在qt ide中实现相关功能,然后再将其修改为可以在任意c++程序中运行的代码需要的第三方库QT,可以使用命令行或者run文件直接安装QWT,QWT是专门用于在qt中plot数据的库,适用于 windows与ubuntu。QWT的安装方法可以依照这篇博客 https://blog.csdn.net/u01345716...

2019-03-31 21:03:17 2207

原创 A Neural Algorithm of Artistic Style : Neural Style Transfer with Eager Executon

简介本文介绍为什么代码能够实现风格迁移的功能,重点在优化对象.地址github地址:https://github.com/tensorflow/models/blob/master/research/nst_blogpost/4_Neural_Style_Transfer_with_Eager_Execution.ipynb我的重点tensorflow中,怎么定制自己的求导函数,而...

2019-03-26 00:47:47 329 2

原创 Bounding box regression RCNN我的理解

0. bounding-box regressionbouding-box regression 在R-CNN论文附录C中有详细的介绍,在后续的论文Fast-RCNN、Faster-RCNN、Mask-RCNN、SSD系列、yolo系列中都没有仔细介绍.本文使用RCNN论文来介绍bounding box regression原理,同时利用faster rcnn代码来分析理论公式在代码中是如何实...

2019-03-20 16:11:29 455

原创 Bounding box regression RCNN系列网络中矩形框的计算

bounding-box regressionbouding-box regression 在R-CNN论文附录C中有详细的介绍,在后续的论文Fast-RCNN、Faster-RCNN、Mask-RCNN、SSD系列、yolo系列中都没有仔细介绍.RCNN 论文地址: https://arxiv.org/pdf/1311.2524v3.pdfRPN网络层与分类层并列的bounding层,其...

2019-03-19 15:13:17 1189

原创 贝塞尔曲线的生成

贝塞尔曲线的公式贝塞尔曲线的动态图该网址包含了简单的一阶二阶三阶曲线的公式.贝塞尔曲线可以表示如下:B(t)=∑i=0nCin(1−t)n−itiPi B(t) = \sum_{i=0}^{n}C_i^{n}(1-t)^{n-i}t^iP_iB(t)=i=0∑n​Cin​(1−t)n−itiPi​其中 Cin=n!i!(n−i)! C_i^n =\frac{n!}{i!(n-i)...

2019-03-04 20:21:41 1268

空空如也

空空如也

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

TA关注的人

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