- 博客(16)
- 收藏
- 关注
原创 针孔相机模型理论
在我们的日常生活中,已经习惯于用手机去记录生活中的照片,那么从我们按下拍照按钮的那一刻起,被拍摄的物体是如何成为我们手机的照片呢?那我们就需要从成像模型开始说起。我们知道任何一个事物或者过程其实都可以抽象理论化(爱情除不除外我不知道),那么相机拍摄照片的过程中,理论上也应该可以用一个数学模型来进行过程的描述,其中最简单的就是针孔相机模型。我们来看下面一幅图,这个图片就将一个相机的框架用最简单的方式描述了出来,我们初中都学过光学知识,知道来自物体反射的光线,经过透镜汇聚在透镜后的一个点,即可成像,相机的原
2021-10-21 20:18:39 1178 2
原创 视觉SLAM十四讲第三讲课后习题
1.验证旋转矩阵的正交性,参考此博客,写得非常好2.验证罗德里格斯公式:略3.验证四元素旋转某个点后,参见此博客4.后续补充5.
2020-04-28 14:10:43 442
原创 视觉SLAM十四讲第二讲课后习题
**1.**略**2.**略**3.**g++参数可见该博客点击此处,更改生成的程序名g++ -o <name> <filename>**4.**略**5.**略**6.**删除target_link_libraries(xxx xxx)后,提示下列错误CMakeFiles/helloSLAM.dir/src/main.cpp.o: In function `m...
2020-04-25 11:18:29 168
原创 视觉SLAM十四讲第一讲课后习题
1.若b=0,则齐次线性方程Ax=b有非零解的充要条件为系数矩阵A的秩r(A)<N,若r(A)=N,则只有零解若b0,则非其次线性方程Ax=b有解的充要条件为系数矩阵的秩等于増广矩阵的秩,即r(A)=r(A,b)2.随机变量x服从均值为,标准差为的分布,即,称为高斯分布,也称正态分布,高维形式如下所示:3.类是C++中引入的一种新特性,称为类对象,其中包含了变量与方法,一个正方...
2020-04-24 19:43:44 251
原创 C++中利用opencv读取文件夹下的所有图片并重命名
最近编写了一个小程序,把下载的数据集图片全部重命名为0000至9999,因此写了下面这个程序给大家参考一下/* * @Author:初一 * @date:2020.4.23 * @brief main.cpp * @禁止转载,如需转载,需取得本人同意! */#include <iostream>#include <vector>#include <...
2020-04-24 11:50:19 2101
原创 Ubuntu16.04通过wine环境安装微信与QQ等软件
很多双系统用户平时开发项目时会在Ubuntu下进行开发,但是由于Ubuntu下缺少腾讯QQ和微信的官方客户端支持,需要使用微信或者QQ只能使用网页版本,但是有一些用户由于某些原因是无法通过网页登录微信的,会提示"为了你的帐号安全,此微信号不能登录网页微信。你可以使用Windows微信或Mac微信在电脑",譬如我,因此会十分的不方便,所以此处安利一种通过wine环境安装微信与QQ的方式,使用体验与...
2020-04-19 16:51:24 2443 5
原创 C++如何显示字符串的地址
在C++中使用cout时,如何后面跟的指针类型为char *或者字符串名称,会默认输出其存储的内容,那如果在日常调试中,我们需要输出指针的地址或者字符串的地址,需要怎么做呢?这时候就需要用到强制类型转换了,如下程序所示:char animal[20] = "bear";char* ps = animal;...cout << animal " at " << (i...
2020-04-14 12:49:47 2080 1
原创 const限定符的作用
在C++中,const限定符可以用于限定任何的变量,变量前面添加了const限定后,该变量无法被修改,相当于起一个常量的作用,如下所示:#include <iostream>int main(){ using namespace std; const int a = 5; cout << "a = " << a << ...
2020-04-13 22:54:37 260
原创 C++使用new创建动态数组
在C++中,我们可以通过new来声明动态数组,示例如下:int* ptr = new int [10];通过这一行代码,我们即可实现声明一个int类型,元素个数为10个的指针,ptr指向当前动态数组的第一个元素,若想要访问动态数组的其他元素 ,则该怎么办呢?在C++中,指针名则可充当数组名使用,如上述定义的数组,我们访问第一个元素*ptr来访问第一个元素,也可通过ptrp[0],ptr[...
2020-04-13 22:39:33 2031
原创 使用new分配内存和delete删除内存
在我们写程序使用指针的时候,必须对指针进行手动初始化,否则会存在出现bug的可能性,C++为我们提供了一种管理指针的方法。在C++中,我们可以通过new来为创建的指针自动分配内存,避免手动分配手动分配较为麻烦,如下所示:int heggle =5;int* ptr = &heggle;使用new进行内存分配,如下所示:int* ptr = new int;*ptr = 5;...
2020-04-13 22:16:09 975
原创 C++中int* 与int *的区别
定义指针的时候,*两边的空格其实是可以选择的如int* ptr与int *ptr都是一样的,甚至int*ptr也是可以通过编译的,且含义一样其区别是什么呢?int *ptr一般为C程序员使用,强调*ptr是一个int类型的值int* ptr一般为C++程序员使用,强调int*是一种类型----指向int的指针、值得注意的是int* p1,p2中,p1是指针,p2是int常量,每一个指针都...
2020-04-13 21:52:19 7050
原创 Ubuntu16.0.4安装google输入法
Ubuntu16.0.4安装谷歌拼音输入法先查看自己电脑是否安装了汉语语言包如果没有安装的话,用下述命令安装sudo apt-get install language-pack-zh-hans安装GooglePinYin输入法sudo apt-get install fcitx-googlepinyin上述命令会自动安装fcitx和GooglePinYin输入法更改...
2020-01-05 15:47:32 204
原创 使用MAVROS来实现电脑与PIXHAWK之间的通讯
使用MAVROS来实现电脑与PIXHAWK之间的通讯官网教程:http://dev.px4.io/master/zh/ros/mavros_installation.html推荐使用源码安装,二进制不可修改源代码创作工作空间查看自己是否安装ROS的python工具,无则需要安装sudo apt-get install python-catkin-tools python-rosins...
2019-12-31 20:31:51 1540 3
原创 ROS学习笔记(一)
ROS学习笔记(一)一、配置系统软件源功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入最近打算在机器人平台上研究视觉...
2019-12-09 19:31:22 326
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人