自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

博客

学习C++、ROS的记录

  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

原创 [CSAPP][深入理解计算机][07]链接

编译器驱动程序链接是将各种代码和数据整理成一个文件的过程,然后这个文件被执行我们写的程序常常包括调用的各种基本库、外部库、自己写的库,所以实际上在计算机中的存储形式是很多个单独的小模块,每次更改其中的一个小模块时,只需要重新编译这个小模块,其他的不变。当我们写的程序非常小的时候,链接这个过程就由链接器默默处理了,但理解链接这个过程,可以让我们设计程序代码和编译修改时更加清晰。在debug时,用gcc编译时使用-Og参数可以让编译器优化后生成的文件符合C语言代码结构,便于我们调试读懂,正式使用时常常

2022-01-04 13:17:57 639

原创 [CSAPP][深入理解计算机][06]存储器的层次结构

存储技术计算机内存储结构如下图所示的金字塔型,不同层级的存储类型读写需要的时间从上到下逐渐增多RAM随机访问存储器,分为静态SRAM和动态DRAM。SRAM将每个比特位的信息存储在一个双稳态的存储器单元(由六个晶体管实现)内。DRAM的存储器单元(超单元)由一个电容和晶体管组成,容易受电容电压扰动。DRAM的超单元是二维阵列(为了减少地址引脚数量),每次取数据需要先把行复制到缓冲区,再从缓冲区取列。DRAM里面还分同步SDRAM和异步,同步比异步快。DDR4/DDR3指的就是DDR SDRA

2022-01-01 11:45:44 420

原创 [CSAPP][深入理解计算机][05]优化程序性能

优化程序性能1优化程序性能要考虑三点:合适的算法和数据结构、编译器的能力和局限性、并行化。编译器一般不会过于优化代码,为了避免出现一些异常情况。循环代码中应集中精力优化CPE(每个元素的运行时间)。优化程序性能2编译时加入-O1参数即可得到编译器优化代码。循环体中重复的函数调用可以代码移动到循环体外。使用临时变量(只占用普通寄存器)代替内存地址引用,最后统一一次写到内存即可。理解现代处理器现代处理器的结构如下图所示处理器的多个子单元支持了指令的乱序执行。针对代码种的分支情况,

2021-12-29 13:49:19 286

原创 [CSAPP][深入理解计算机][04]处理器体系架构

指令系统结构指令系统结构是处理器设计人员设计好的软件和硬件之间的通信接口,主要包括指令、寄存器定义、条件码、程序计数器、状态码几种概念。数字电路与处理器设计寄存器用寄存器文件来描述,包括输入输出端口,可写信号、地址、时钟、复位信号等,用硬件描述语言verilog/VHDL编写。数字电路具体来说是由CMOS中的N管和P管组合实现的,首先通过组合实现逻辑门电路,然后搭起来实现选择、存储、加减等高级功能。由于非门、与非门、或非门的实现比较高效,所以其他逻辑都是由这三个组合实现的。组合逻辑电路无状

2021-12-27 23:06:54 1149

原创 [CSAPP][深入理解计算机][03]程序的机器级表示

视频教程:b站九曲阑干【合集】CSAPP程序的机器级表示intel处理器的发展历史,从1978年的8086到现在的i9,从16位扩展到64位生成汇编文件x.s,汇编文件里面包括以.开头的指导汇编器和链接器的指令,以及与代码相关的汇编代码intel中把16位看作一个字,所以32位称为双字,64位称为四字,汇编码中指令后缀的字母可以代表数据类型,例如movb,movw分别代表复制字节,复制字gcc中-s参数表示从c文件生成汇编文件s,改成-c参数则是从c文件生成机器代码o利用反汇编工具objdum

2021-12-25 20:55:45 591

原创 [CASPP][深入理解计算机][02]信息的表示和处理

视频教程:b站九曲阑干【合集】CSAPP信息的存储(上)程序将内存看作一个非常大的数组(虚拟地址空间),每个元素存的是地址。地址的长度字长目前是32位到64位。1bit = 8位二进制数 = 1个字节。字节的存储顺序:大端法(IBM,Sun)正序,小端法(intel,android,ios)逆序,新机器(ARM)支持双端配置32位程序可以允许在32位机器或者64位机器上,但是64位程序只能允许在64位机器上。32位机器虚拟地址空间4GB,64位机器虚拟地址空间16EB。一个字节=8位二进制

2021-12-17 22:19:58 1186

原创 [CSAPP][深入理解计算机][01]计算机系统漫游

视频教程:b站九曲阑干【合集】CSAPP1. 为什么要深入理解计算机optimizing program performance 优化程序性能understanding link-time errors 理解链接错误avoiding security holes 避免安全漏洞2. 编写的hello.c到生成可执行文件hello的过程经历了什么gcc -o hello hello.c通过这句指令,gcc编译器让一个hello.c文件变成了一个可执行程序hello,这中间发生了什么?3.

2021-12-14 21:34:59 1133

原创 leetcode专题刷题记录II——BFS / DFS / TOPO + 回溯

文章目录10 正则表达式17 电话号码的字母组合22 括号生成37 解数独3910 正则表达式class Solution: def isMatch(self, s: str, p: str) -> bool: len_p = len(p) len_s = len(s) if len_p == 0: return len_s == 0 # 根据*分类处理 if len_

2021-05-06 20:45:56 116 1

原创 leetcode专题刷题记录I——二叉树

按照一位b站up主的刷题推荐顺序进行学习每道题的题解代码有的参考文章目录二叉树144 二叉树前序遍历94 二叉树中序遍历145 二叉树的后序遍历=根右左的逆序173 二叉树迭代器102 二叉树的层序遍历103 二叉树的锯齿形遍历107 二叉树的层序遍历II98 验证二叉搜索树99 恢复二叉搜索树230 二叉搜索树最小的第K个元素257 二叉树的所有路径199 二叉树的右视图198 打家劫舍213 打家劫舍II337 打家劫舍III114 二叉树展开为链表116 填充每个节点的下一个右侧节点指针(难)11

2021-04-27 21:36:58 194 2

原创 常用命令行整理

删除大量小文件linuxfind /usr/local/tests/ -name "*.png" |xargs rm -r可以先把rm -r命令替换成ls -l,查看选中的文件是否正确如果只是删除少量大文件,用rm -rf 文件路径即可windowsdel *.*ffmpeg命令图片拼接视频先把待拼接的图片放入文件夹,并按顺序命令(可以直接在排好序时选中全部重命名,例如image (0).jpg,image (1).jpg…)进入文件夹,执行命令ffmpeg -f imag

2020-10-29 11:36:04 121

原创 【论文阅读】Unsupervised Learning of Image Segmentation Based on Differentiable Feature Clustering

摘要目标特征相似的像素应该被分为同一类别空间上距离近的像素应该被分为同一类别类别的数量应尽可能多三个指标有互相排斥的地方,但应该做到一个平衡贡献点通过normalization和argmax实现可微的聚类空间连续性损失函数扩展了可以让用户输入的涂鸦,使结果更精确扩展一个预训练方法介绍把摘要再扩展地讲了一遍,提到之前的工作超像素提取+线性迭代聚类只满足了空间连续性相关工作...

2020-08-26 20:41:24 2540 8

原创 【python】matplotlib cmap显示深度图

经过下面一段代码import numpy as npimport PIL.Image as pilimport matplotlib as mplimport matplotlib.cm as cmimport cv2img = cv2.imread('0.png',-1)vmax = np.percentile(img, 95)normalizer = mpl.colors.Normalize(vmin=img.min(), vmax=vmax)mapper = cm.ScalarM.

2020-07-29 10:12:12 2870 2

原创 【python】OpenCV4.1.1文档

文章目录图像的读写读显示写cv.waitKey(0) & 0xFFord()绘图线段矩形圆圈椭圆多边形文字图像的读写读img = cv.imread( filepath, 1|0|-1)参数1:文件路径建议不包含中文,如果文件路径出现错误不会报错,但print(img)=none参数2:cv.IMREAD_COLOR = 1 :忽略图像透明度的彩色图像cv.IMRE...

2020-04-08 21:24:55 1665

原创 【论文阅读】半监督、自监督和无监督技术在图像分类中的应用综述

论文标题A survey on Semi-, Self- and Unsupervised Techniques in Image Classification概念解释unsupervised输入只有样本没有标签,损失函数需要的一切参数都由输入样本生成semi-supervised输入的样本有一部分是有标签的,另一部分没有标签,通常损失函数=有监督损失函数+无监督损失函数self-s...

2020-03-01 21:56:56 5319

原创 【DL at H】动手学深度学习之自问自答

@2020.2.11第一课 线性回归1.怎样去初始化一个多层的网络?(共有三种方法)2.初始化模型参数的方法3.有哪些定义好的损失函数?4.怎么定义优化函数?5.优化函数是怎么工作的?6.训练的代码块一般是什么结构?第二课 softmax与分类模型1.softmax的形式是什么?它解决了哪两个问题?2.输出,输入(样本,特征),参数,偏差,批量一般是怎么设置的?为什么要这么设...

2020-02-24 16:35:28 1068

原创 【python】python去除字符串最后的换行符‘\n’

s = s.replace('\n','').replace('\r','')例子取出gt.txt中的abcd按顺序生成字典{‘0’:‘abcd’,‘1’,‘efg’}gt.txt:abcd xxxefg xxx …f = open('I:\\data_3\\gt.txt', 'r', encoding = 'UTF-8')labelstr = f.readlines()a ...

2019-12-05 14:32:54 13897

原创 【SLAM】视觉SLAM十四讲(五:VO)

ORB特征点使用OpenCV自带的FAST提取算法,再加上一个旋转量,组成一个ORB特征

2019-09-14 19:54:45 410

原创 【SLAM】视觉SLAM十四讲(四:相机模型与非线性优化)

图像去畸变对一张桶形失真的图片进行去畸变畸变模型有两种:径向畸变:由镜头形状导致切向畸变

2019-09-07 10:02:38 581 1

原创 【python】python将int列表转化成string字符串

>>a=[1,2,3,4]>>s=",".join(list(map(str,a)))>>print(s)>>1,2,3,4

2019-08-29 09:33:53 5545

转载 【找论文】2019计算机视觉顶会接收文章列表

CVPR 2019 accepted papers:https://docs.google.com/spreadsheets/d/1RU2y-iuzwtAR_hn4V9yz1qpZSiElm3iaCpUoDJ-vfvQ/htmlview?sle=true#或者(上面的访问不了,可以选择下面的网址)http://openaccess.thecvf.com/CVPR2019.py或者(访问速度...

2019-08-20 14:16:03 1148

原创 【SLAM】视觉SLAM十四讲(三:李群与李代数)

群的性质{Z, +} 是否为群?若是,验证其满足群定义;若不是,说明理由。{N, +} 是否为群?若是,验证其满足群定义;若不是,说明理由。其中 Z 为整数集,N 为自然数集。1.事实上,T W C 的平移部分即构成了机器人的轨迹。它的物理意义是什么?为何画出 T W C 的平移部分就得到了机器人的轨迹?坐标的变换就是Twc的平移部分,我理解的物理意义就是机器人从某一坐标移到了另一...

2019-08-19 11:42:59 1041

原创 【SLAM】视觉SLAM十四讲(二:矩阵运算)

1 熟悉 Eigen 矩阵运算设线性方程 Ax = b,在 A 为方阵的前提下,请回答以下问题:在什么条件下,x 有解且唯一?当方程组的系数矩阵的秩与方程组增广矩阵的秩相等且均等于方程组中未知数个数n的时候,方程组有唯一解高斯消元法的原理是什么?通过用初等行变换将增广矩阵化为行阶梯阵,然后通过回带求解线性方程组的解QR 分解的原理是什么?QR 分解Cholesky 分解的原理是什么?C...

2019-08-16 14:22:04 885

原创 【SLAM】视觉SLAM十四讲(一:基础知识学习)

熟悉Linux1. 如何在 Ubuntu 中安装软件(命令⾏界⾯)?它们通常被安装在什么地⽅?apt-get install 包名aptitude insatll 包名(包含依赖解决方案)1.下载的软件存放位置/var/cache/apt/archives2.安装后软件默认位置/usr/share3.可执行文件位置/usr/bin4.配置文件位置/etc5.lib文件位置...

2019-08-13 15:57:42 2720

原创 【ROS】工作空间与功能包总结(二)

工作空间是总的工程文件夹,一般包括:src:放置所有的源代码,配置文件等build:放置编译过程中产生的中间文件devel:放置编译生成的可执行文件install:放置用install指令安装成功后的结果catkin_ws可以是自定义的工作空间名创建工作空间$mkdir -p ~/catkin_ws/src$cd ~/catkin_ws/src$catkin_init_wor...

2019-08-12 17:07:14 444

原创 【ROS】常用指令总结(一)

|表示或,[ ]表示可选roscore启动ros服务rosrun 功能包 节点名启动功能节点,输入rosrun 功能包名后可以按TAB键自动显示可选节点rqt_graph显示系统通信结构rosnode|rostopic|rosservice list列出当前系统所有节点|话题|服务rosnode info 节点名查看某节点的所有信息,包括所发布/订阅的话题,接收/申请的服务,一些底层信息...

2019-08-12 16:29:03 476

原创 【软件安装】ubunu16.04安装ros-kinetic机器人操作系统

中国大学mooc上的机器人操作系统课程介绍得非常详细,并有教程文档以下是我自己的安装过程根据文档中的安装指令1.添加镜像源sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/source...

2019-08-06 10:41:53 286

原创 【C++】打印n阶实心菱形

#include <iostream>using namespace std;int main() { int n,l,x,k; cin >> n; for (l = 1; l < 2 * n; l++) { if (l <= n) { k = n - l; x = 2*l - 1; } else { k = l - n...

2019-08-02 16:06:54 622

原创 【C++】猴子吃桃(题目描述与其他版本不一致)

【C++】猴子吃桃(题目描述与其他版本不一致)学堂在线上的选做题,提交未通过,但是自己试了几个例子都没问题,百度了一下发现其他版本的猴子偷桃问题题目描述和这个不一样,差别主要是吃完前一天剩下一半后是多吃了一个还是N个,放上来讨论一下吧。题目描述一只猴子在第一天获得了若干的桃子,他在第n天吃了第n-1天剩下的桃子数的一半加n个桃子;最后第n天吃之前,剩余了1个桃子。求第一天猴子获得的桃子数。...

2019-08-02 15:54:22 418

微信小程序源码-蓝牙设备连接

该资源为学习蓝牙协议及小程序制作所做,注释详细。 可直接在微信开发者工具上直接打开调试。

2018-05-22

空空如也

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

TA关注的人

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