自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于功能分支的git工作流

基于功能分支的git工作流文章目录基于功能分支的git工作流实施步骤1 新建issue2 新建功能分支3 在分支上完成修改4 开发过程注意和master同步5 合并多个commit6 提交pull request(github)或merge request(gitlab)7 确定后,合并功能分支8 删除功能分支参考:主要思想:所有的功能开发应该在一个专门的分支,而不是在master分支上,这样可以方便多个开发者在各自的功能上开发而不会弄乱主干代码。实施步骤1 新建issue在仓库中根据需求,新建

2021-01-27 19:47:47 244

原创 python装饰器统计函数执行总时间

装饰器统计函数执行总时间from functools import wrapsdef time_func(func): elapse_time = 0. @wraps(func) def newfunc(*args, **kwargs): nonlocal elapse_time # 使用外部的变量 startTime = time.time() result = func(*args, **kwargs) elap

2020-09-10 17:10:39 606

原创 Ubuntu下nvidia驱动安装,以及处理WARNING:ignoring CC version mismatch和禁用nouveau、nvidia-smi couldn’t communicate

ubuntu下安装nvidia驱动一般步骤1 首先根据显卡型号下载相应版本的驱动NVIDIA**.run文件,网址 https://www.nvidia.com/Download/index.aspx**2 卸载已有的nvidia版本(看个人需要删除)sudo apt-get remove --purge nvidia*3 关闭图形界面切换到tty控制台下ctrl+alt+f1sudo service lightdm stop4 安装驱动有可能需要加上执行权限chmod +x ./N

2020-08-17 12:09:25 1275

原创 numpy的stack、hstack、vstack、concatenate区别及使用建议

numpy的stack、hstack、vstack、concatenate这几个函数都是对数组进行连接,介绍下区别函数增加维度指定维度操作数组shape要求concatenate不增加能除了操作维度,其它必须相同stack增加能必须完全相同hstack不增加不能除了操作维度,其它必须相同vstack不增加不能除了操作维度,其它必须相同从上表就可以看出,concatenate和stack的区别就在于会不会增加维度a = np.ara

2020-07-24 10:27:20 3442

原创 NoMachine - waiting for the desktop user to authorize your connection

NoMachine - waiting for the desktop user to authorize your connection推荐第二种方式1 修改桌面权限,连接时都不需要授权sudo vim /usr/NX/etc/server.cfg修改以下参数PhysicalDesktopAuthorization 0如果没生效重启服务sudo /etc/NX/nxserver --restart这种方式可以远程,但是登陆后不是我想要的账户2 修改连接时自动断开已有连接同样是在上

2020-07-23 10:41:40 1551 3

原创 基于Airsim的sitl模拟环境配置(ubuntu 16.04)

基于Airsim的sitl模拟环境配置(ubuntu 16.04)sitl仿真,软件在环仿真可以不使用任何硬件就可以进行模拟飞行或驾驶,实验室获取数据非常有用。基于Airsim的sitl模拟需要PX4飞控架构、Airsim环境作为模拟器,控制端可以使用QG,这里没安装。1 PX4环境的搭建px4的指南首先把源码复制到本地git clone https://github.com/PX4/Firmware.git --recursive然后安装需要的依赖bash ./Tools/setup/ub

2020-07-21 16:22:03 883

原创 opencv中相机标定的残差rms

相机标定的残差rms注意求平均值时total是所有点的总数,尽管每个点包含x、y两部分的误差,但是这里的值不是点数*2均方根误差的定义rms = \sqrt{\frac{\Sigma_n(x^2(n))}{N}}在相机标定函数中retval, cameraMatrix, distCoeffs, rvecs, tvecs=cv.calibrateCamera(objectPoints, imagePoints, imageSize, cameraMatrix, distCoeffs)通过

2020-07-20 16:10:38 2932

原创 python序列化保存对象——pickle和json

使用总结:pickle保存成二进制序列,json保存成json格式的可读文本,显然json文件可读性更强;pickle保存的对象只能用于python,且不同版本可能不通用;dump、load用来操作文件流,dumps、loads用来操作对象pickle操作文件时,要以’b’二进制打开文件;json本身有自己定义的一些数据格式,所以存储时需要确保存储对象在json中有对应的类型json使用时参照以下的对应表,如果想要序列化的数据类型不在这些里面,则保存时会报错jsonpython

2020-07-16 14:20:21 969

原创 详解numpy的repeat和tile 用来复制数组

repeat和tile都可以用来复制数组的,但是有一些区别关键区别在于repeat是对于元素的复制,tile是以整个数组为单位的 ,repeat复制时元素依次复制,注意不要用错,区别[1,1,2,2]和[1,2,1,2]repeat用法np.repeat(a, repeats, axis=None)重复复制数组a的元素,元素的定义与axis有关,axis不指定时,数组会被展开进行复制,每个元素就是一个值,指定axis时,就是aixis指定维度上的一个元素a = np.array([[1,2],

2020-07-15 20:41:06 1596 1

原创 三维重建:对极约束,基础矩阵、本质矩阵、三角化详细推导过程

对极几何描述两个视图之间的射影几何关系,计算相机不同位置的变换关系。对极约束以上图为例,I1I_1I1​和I2I_2I2​是两帧图像,它们之间的相机运动关系是R,tR, tR,t。O1O_1O1​和O2O_2O2​分别是这两个位姿处的光心,设通过特征匹配等手段确定p1和p2p_1和p_2p1​和p2​是同一个特征点在两幅图像上的投影,设它为[X,Y,Z]T[X, Y, Z]^T[X,Y,Z...

2020-03-02 10:44:15 2026 1

原创 opencv undistortPoints函数介绍和注意(返回数值太小)

好几次使用undistortPoints都碰到些障碍,把几个问题记录一下,我都是单目相机用void cv::undistortPoints(InputArray src, OutputArray dst, InputArray cameraMatrix, InputArray distCoeffs, InputArray R = noArray(), In...

2020-02-20 21:38:56 23564 3

原创 win10 opencv3.4.6+CMake3.15.3+qt5.11(MSVC)+hdf5环境配置

1 安装软件安装QT可以在这里下载http://download.qt.io/archive/qt/5.14/组件根据个人电脑安装情况选MinGW、msvc的对应版本;然后添加C:\Qt\Qt5.11.1\5.11.1\msvc2017_64\bin到系统环境变量path中;安装cmake下载后,安装点下一步即可,然后把路径加到path中(不加也可以)安装hdf5下载源码安装没成功...

2020-02-18 15:26:37 877

原创 vs code导入cv2时错误 ImportError: numpy.core.multiarray failed to import;使用spyder时没有错误

z在anaconda的虚拟环境下进行编程时,导入cv2,出现以下错误ImportError: numpy.core.multiarray failed to import但是我在spyder上使用是没有这个错误的;尝试更新了numpy后也用;而且python解释器的选择也对;后来发现是启动vs code的方式不对,可能没有激活anaconda环境。于是在Anaconda p...

2020-02-18 13:59:18 1296

原创 python报错"utf-8 codec can't decode byte 0x"

望文生义,报错的内容就是说utf-8的编码方式不能解码0x的字节,选择正确的解码方式就可以解决。深入些理解,可以把编码就是编成字节数据,就是二进制的东西,解码以后就是我们看懂的字符串,python里面就是unicode类型。但是打码的方式有很多,需要采用适合的方法(打码方法)才能下马。比如在文件操作时,encode就是指明文件读写时的编码方式。具体到python中,utf-8编码的文本...

2018-11-24 11:17:49 61228 2

转载 吴恩达机器学习——梯度检验

在神经网络反向传播讲解过程中,提到了个梯度检验的小技巧,用于检验反向传播求解的梯度是否正确。原理就是偏导数可以写为双侧差分形式,即其中是个很小的数,它的值太小可能会使计算出问题,值太大则这个偏导近似是不准确的,课程中建议设置为,遍历求解代价函数对所有所有的偏导,与采用高级方法求解的值比较,差值相对很小时,可认为梯度求解正确。注意:这个步骤只用于检测梯度求解是否正确,在验证后,要将这...

2018-08-19 08:47:27 1008 4

原创 吴恩达机器学习——正规方程

Normal Equation:线性回归中需要采用梯度下降法求解最优的,实际上可以采用解析的方法直接求解其中在octave中可用pinv函数求逆,在矩阵不可逆或者不为方阵时,他也能得到想要的答案。python的scipy库中有类似函数。适用条件:1. 特征数目少,一般在10000以下认为正规方程更有优势。...

2018-08-12 20:32:10 271

原创 寻优算法——梯度下降法、牛顿法原理认识

梯度下降法、牛顿法早就知道,怎么使用也很简单,但一直没搞太明白,为什么“梯度方向就是下降最快的方向”?什么站在山顶往下走只是结果,根本没解释原因,这次终于搞清楚了,写下来以防忘记。梯度下降法对于一个函数,可能是一维或者多维的变量,给一个增量使它的值变小,要使在这一步变得最小,即下降最快,根据泰勒展开这里舍去二阶导数后面的小量,那么要取得最小的值,就要使最小,向量的内积当且仅...

2018-08-09 21:01:53 5548

原创 python3爬虫下载网页上的pdf

# coding = UTF-8# 爬取大学nlp课程的教学pdf文档课件 http://ccl.pku.edu.cn/alcourse/nlp/import urllib.requestimport reimport os# open the url and readdef getHtml(url): page = urllib.request.urlopen(url)

2017-11-25 11:43:13 30916 3

原创 python的matplotlib使用

subplot(111,...):111分别对应行数、列数、第几个,用于一次绘图时绘出多个子图,如223表示把绘图区分成四部分,在第二行第一个小区域绘制当前图,按照先行后列表示顺序。

2017-11-18 18:03:27 224

原创 numpy使用(argsort)

最近用机器学习实战这本书学python,结果第一个算法kNN的代码就把我看蒙了,把些东西记下。导入numpy模块,import numpy (as ny)和from numpy import *,都能导入,但是作用域不同,第二种用法下文程序默认在numpy下,如a=ny.array(...),第二种就可以写为a=array(...)numpy的数组ndarray,某一维度叫轴axi

2017-11-10 20:24:56 321

原创 c++ 此声明没有存储类或类型说明符

接触C++很久,刚开始要系统学习,总要出现些小白错误。这个错误出现在class CP {public:int a;//private:void fun(){cout }};class fri{public:CP cp;void fun1(){cp.fun();}};刚开始想要在class

2017-03-29 20:59:04 40195 2

转载 Python version 3.6 required, which was not found in the registry

Python version 3.3 required, which was not found in the registrypython registry函数语法在windows下安装numpy的时候, 出现了"Python version 3.3 required, which was not found in the registry"的错误.类似的有:Python

2016-09-11 13:18:30 6211 2

原创 Linux下,可执行文件的链接保持链接到最新的文件?

在a文件夹里编译生成了一个可执行文件exe,我在b文件夹里生成了一个符号链接ln -s ../a/exe link,然后在b文件夹里./exe可以执行。这时候,我进入a文件夹,对代码文件进行了修改,重新生成了exe文件,再到b文件夹执行./exe,发现执行内容仍为上一个版本的可执行文件,上网搜索无果,想要提问题时,突然想到将相对路径改成绝对路径会怎么样,试了一下,bingo!当你生成链接时

2016-04-17 20:55:00 755

原创 gdb调试

框架下使用重启动功能,写入数据库时,编译出现错误,提示有关HDF5之类的错误,调试经验不太多,只好请来框架团队的同事帮忙处理,后来得以解决。从同事那里学到使用gdb调试的经验OMP_NUM_THREADS=1 gdb ./main2d(进入gdb调试状态)gdb:r xx.input(报错)gdb:where(给出错误位置)gdb:up(向上寻址,给出错误发生的

2016-04-16 22:03:36 240

转载 C/C++ struct/class/union内存对齐 [转]

转载地址:http://www.cnblogs.com/biyeymyhjob/archive/2012/09/07/2674992.htmlstruct/class/union内存对齐原则有四个:1).数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小或者成员的子成员大小(只要该

2015-09-05 21:17:04 480

转载 Linux 系统下Fortran调用shell

作者 :  张涛F77call system('command ')F90在数值计算中很少用到这个功能。不过输出很多数据的时候,可能希望建立多个文件夹,把数据分开存放。这时候用一下shell的命令也不错。如果你使用的是Visual Fortran那么你可以使用一个模块:DFPORTprogram mainuse DFPORTimp

2015-08-05 23:15:37 3858 1

空空如也

空空如也

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

TA关注的人

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