自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 如何检查一个tensor 是否为empty

https://stackoverflow.com/questions/63479765/whats-the-best-way-of-checking-whether-a-torchtensor-is-emptyif (!tensor.numel()){ std::cout<<"tensor is empty!" << std::endl; // do other checks you wish to do}

2021-05-31 22:07:32 3054 2

原创 python下获取protobuf中enum变量内容

参考stackoverflow上的回答https://stackoverflow.com/questions/11502113/how-to-get-top-level-protobuf-enum-value-name-by-number-in-python当在file.proto中存在下面的enum类型变量时.enum Test { ONE = 1; TWO = 2;}我们可以通过如下方式分别获取类型名字符串和对应类型id的映射import file_pb2 import

2021-05-24 19:10:24 2866

原创 SLAM荟萃 (2)三维空间下旋转的表示

目录旋转矩阵,旋转向量,欧拉角及四元数旋转矩阵,旋转向量,欧拉角及四元数旋转:旋转是三维空间下物体朝向的变换,当物体朝向发生变化时,物体上点在全局坐标系下的坐标也会相应的改变。旋转的主要作用是进行全局坐标系下的坐标变换以及描述物体朝向。假设物体原始朝向为A,旋转后朝向为B,可以将物体由A到B的旋转描述为其表示物体由B姿态下旋转为A姿态,很显然旋转只有乘法,没有加法,我们可以说物体由A姿态旋转到B,再旋转到C,等同于物体由A姿态旋转到C姿态.旋转矩阵:当物体由A朝向旋转到B朝向时,...

2021-05-08 18:16:41 407

原创 python numpy下实现对图像逐个像素按颜色赋值

文章目录方法一 利用Numpy 广播机制方法二 通过将RGB一维数组对比转换为标量对比方法三 通过hash加矩阵运算加速对比(耗内存较大)测试:参考:在做图像语义分割时常常会遇到标注是像素颜色值类型,这时候我们需要将图像转换为单通道图像再针对不同的颜色值赋相应的类别,一个简单的思路就是对图像进行逐像素遍历,但python下对多维数组逐个进行for循环是很耗时的一件事.numpy底层对矩阵运算做了很多的优化,这时候擅用numpy本身自带的运算可以极大帮助我们加速这一过程.方法一 利用Numpy 广播机制

2021-01-26 21:55:14 2515

原创 python3下安装jupyter kernel报错问题

  安装完jupyter 后,启动Jupyter-notebook会出现kernel一直链接不上问题,同时在命令行中会提示TypeError: initialize() got an unexpected keyword argument ‘io_loop’  这一般是由于tornado版本问题导致的,tornado在4.0版本后废弃了io_loop参数,而python下默认版本为5.0,从而导致python代码错误.只需要卸载原来python下的tornado,再安装制定版本如4.3的tornado即可

2021-01-25 16:47:08 439

原创 Ubuntu下安装nvidia显卡驱动

没想到2020年了,还会被卡在安装显卡驱动这件事上.这里记录下ubuntu下安装显卡驱动需要的注意事项及一键式安装命令.在ubuntu下安装显卡驱动有一下步骤1.卸载旧的nvidia显卡驱动,避免之前误操作可能带来影响.sudo apt-get purge nvidia*2.禁用原本的驱动,一般新显卡,系统之前是在集成显卡上输出的,这时我们就需要禁用原本的显卡驱动以确保安装后运行新驱动编辑blacklist.conf,将系统自带的nouveau驱动屏蔽掉,代码如下:sudo vim /etc/

2020-12-07 20:46:47 265

原创 REST和RPC的联系和区别

RPCRPC,也就是远程过程调用,简单来说也就是一台主机的一个程序远程的调用另一台主机的程序函数的过程。本地过程调用:调用函数直接通过调用目标函数,并传递相应的参数到结果就行,这一切调用过程都通过函数指针来完成。远程过程调用:上述过程操作隔离为客户端与服务端两个部分,客户端需要将本地参数转换为字节流,传递给服务器,同时通知服务器调用...

2020-12-01 22:59:18 279

原创 跨工程编译orbslam3内存中断问题

This compile option should match between ORB_SLAM2 and Thirdparty/g2o : -march=native.The Eigen library uses this flag to compute the value of the macro EIGEN_DEFAULT_ALIGN_BYTES, which then impacts Matrix objects sizes in memory.If ORB_SLAM2 and Thirdpa

2020-10-27 23:59:32 2389

原创 ubuntu下如何设置程序include搜索路径及链接路径

添加库的include及lib路径linux下系统默认路径为 /usr/include, /usr/local/include, gcc在编译程序时会按照当前目录路径->系统默认路径->系统环境变量的路径方式去查找,所以当我们想调用的库未安装在系统默认路径时,我们可以通过手动添加环境变量的方式为系统添加搜索路径方法1:修改环境变量:export C_INCLUDE_PATH=path_name:$C_INCLUDE_PATH //为c语言程序设置include路径export

2020-09-22 21:01:43 11573 1

原创 c++下命令行参数解析库gflag及日志库glog

c++下命令行参数解析库gflag及日志库gloggflag是什么,为什么要用gflag?如何使用注意事项glog是什么,为什么要用gloggflag是什么,为什么要用gflag?当使用c++开发大型程序特别是工具类程序时,肯定希望当程序编译完成后,我们不需要修改程序的代码,仅仅传递不同的命令行就运行程序执行不同的功能,例如Git,我们通过传递git push,git pull 就可以通过git执行不同的操作,通常这样的参数管理库叫命令行参数解析库,而gflag就是google开源的一个通用方便c++命

2020-09-17 00:17:20 768

原创 git常用操作

git reset --hard origin/<branch>git refloggit reset --git push origin --delete <branch>

2020-06-03 19:26:36 172 2

原创 SLAM荟萃(1)相机内参、外参、畸变参数及其运用:深度图与彩色图配准

这个系列主要记录一下学习高翔博士《视觉SLAM十四讲》时仔细思考了一些时间的内容和值得总结的东西,强烈推荐大家买这本书实体书,不管是学习SLAM还是工作用处都很大,并且看完一遍后并用于实践中再回顾书中的内容,会发现对SLAM基础概念的理解更加深刻。目录相机内参及外参畸变参数双目极线对齐kinect深度图与彩色图配准相机内参及外参 ...

2019-04-22 22:25:33 3670

原创 C++及数据结构算法面试准备总结

总结一下准备面试时复习c++及算法题的大概流程,适用于已有基础,面对面试需要临时抱佛脚的情况//持续更新与补充中1.C++基础知识:去W3Cschool 对着教程把所有模块粗看一遍,哪个地方不行再细看,最后以那20道必考C++面试题为准 https://www.w3cschool.cn/cpp/cpp-data-types.html 一般情况下经常问到的...

2019-04-21 23:31:44 853

空空如也

空空如也

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

TA关注的人

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