自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

三多学长的博客

努力努力再努力

  • 博客(22)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 CMake链接Open3D和ROS

CMake链接Open3D和ROS

2023-02-20 03:32:43 411

原创 Ubuntu 在任意位置运行python文件

如题,有些时候写好的Python脚本想在另外的文件夹下面运行,比如一些处理数据的工具,如果把文件拷来拷去未免太过麻烦而且不方便管理。一个解决方案是写脚本的时候把数据的路径作为参数传进去,另一个解决方案是把python文件的路径添加到环境变量里,使得在系统的任何位置都可以运行该文件。试了网上的很多方法都不靠谱,其实很简单。

2022-11-09 23:11:37 3534

转载 git-stash用法小结(转载)

今天在看一个bug,之前一个分支的版本是正常的,在新的分支上上加了很多日志没找到原因,希望回溯到之前的版本,确定下从哪个提交引入的问题,但是还不想把现在的修改提交,也不希望在Git上看到当前修改的版本(带有大量日志和调试信息)。因此呢,查查Git有没有提供类似功能,就找到了git stash的命令。综合下网上的介绍和资料,git stash(git储藏)可用于以下情形:发现有一个类是多余的,想删掉它又担心以后需要查看它的代码,想保存它但又不想增加一个脏的提交。这时就可以考虑git stash。 使

2020-08-12 17:25:55 354

原创 MATLAB APP显示不全

将MATLAB Guide的APP迁移到APP Designer时可能会出现APP界面跑偏,显示不全的问题,如下图所示。解决办法:打开APP设计工具,选择代码视图,点击左下角的界面布局,然后在右下角的Position中将x、y修改为合适的值即可,如下图所示。勾选resize可以手动拖拽改变界面尺寸。...

2020-05-24 19:55:44 6112 1

原创 VS中链接lib和dll总结,以及错误0xc000007b的处理方法

在windows下面基于VS开发C++/C程序,链接外部库时dll和lib都是必不可少的,lib是编译时用到的,dll是运行时用到的。(参考:lib 和 dll 的区别、生成以及使用详解)VS在生成解决方案时会按照当前路径、属性表中的库目录和环境变量中的路径链接所需库文件。例如在配置opencv时,一般会在包含目录中添加头文件路径,库目录添加lib路径,而在环境变量中添加dll路径即bin文件...

2019-10-11 23:21:12 1019 1

原创 Git小结 [代码回退、合并游离(detached)节点、删除远程文件等]

最简单易懂的Git入门:Git图解1.代码回退如果我们需要在本地运行历史版本的代码,需要将当前工作区改为历史节点对应的版本,但不影响其他的内容,同时运行完了之后还需要再回到当前版本。操作如下:git reset --hard <commit_id>commit_id 指的就是你需要回退的历史版本的SHA-ID,一般取前六位数即可。再回到当前版本也是相同的操作。但是需要...

2019-09-27 19:15:22 997

原创 使用QTCreator进行ARM交叉编译和远程调试

1.在PC端安装ARM版本的g++、gcc编译工具(注意不同的ARM处理器对应不同的版本,DJI妙算对应的是g++-arm-linux-gnueabihf);sudo apt-get install g++-arm-linux-gnueabihf2.下载并编译安装gdb(下载地址)。Gdb是一款unix下的程序调试工具,可以让我们很方便地进行断点管理和单步运行调试,要想在PC端对ARM上...

2019-04-02 23:23:34 4019 1

原创 相机成像原理详解

相机成像原理详解被摄景物反射出的光线通过照相镜头(摄景物镜)和控制曝光量的快门聚焦后,被摄景物在暗箱内的感光材料上形成潜像,经冲洗处理(即显影、定影)构成永久性的影像(百度百科)。当一束与凸透镜的主轴平行的光穿过凸透镜时,在凸透镜的另一侧会被凸透镜汇聚成一点,这一点叫做焦点,焦点到凸透镜光心的距离就叫这个凸透镜的焦距。一个凸透镜的两侧各有一个焦点。

2019-03-28 22:53:48 55335 4

原创 C++“(已隐式声明)--它是已删除的函数 ” “尝试引用已删除的函数”知识点MARK

今天写一个简单的文件处理工具类时遇到了一个新bug,是一个之前忽略掉的知识点,特此mark一下。错误如下:c++类在初始化的时候有两种方式:1. M_CLASS m_class(...);2. M_CLASS m_class = M_CLASS(...);编译器对二者处理的不同之处在于:前者通过构造函数直接对对象m_class中的成员变量进行赋值,而后者则是先初始化一个临...

2019-03-05 00:33:08 27944 9

原创 No package 'opencv' found引起的故事——Ubuntu环境变量与pkg-config

今天在使用一款相机的SDK时用到MakeFile进行编译,其诡异的语法令人头大不已,所以一开始出现问题时慌了阵脚,到最后一番折腾静下心来才找到问题之关键——环境变量和pkg-config。遇到的问题是这样的:Package opencv was not found in the pkg-config search path.Perhaps you should add the direc...

2019-02-28 00:47:54 26689 6

原创 旋转矢量和向量外积的关系

在三维空间中,我们经常会对某些向量进行旋转等操作,同时物体在空间中的变化除了位移之外也包括旋转,而用来描述旋转的方式有很多,如:旋转矢量,欧拉角,四元数,方向余弦矩阵等。其中旋转矢量的定义是这样的:一个坐标系到另一个坐标系的变换可以通过多次转动来完成(欧拉角法),也可以通过绕一个定义在参考坐标系中的矢量的单次转动来实现。这个旋转矢量(rotation vector)是一个三元素的向量,旋转矢量的方...

2019-01-13 23:10:46 5958 4

原创 Ubuntu 配置VSCode 断点调试

      习惯了Windows下Visual Studio的强大编译调试功能,现在大部分开发都在ubuntu下,VScode同样也很强大,可拓展性很强。为了进一步提高效率,折腾了一下debug模式的配置,照着其他博客config的或多或少都有问题,所以提供一个“靠谱版”供大家参考。语言:C/C++。1.在CMakeLists.txt中设置build类型为“debug”,相比release可能...

2018-11-14 22:08:08 1725

转载 git删除已经推送到远程的文件夹

参考:https://www.cnblogs.com/johnsonshu/p/6822744.htmlgit rm -r --cached your-directorygit commit -m 'Remove the now ignored directory "your-directory"'git push origin master

2018-11-02 14:28:19 1442

原创 error: ‘std::ios_base& std::ios_base::operator=(const std::ios_base&)’ is private

       今天把windows下的文件流读写代码转到Linux下时一直提示如题所示错误,有段时间没写过cmake了一时半会不知道哪里出了问题,然后查到出错的地方看到fstream的源码,if __cplusplus &gt;= 201103L // 27.8.3.2 Assign and swap: basic_fstream&amp; operat...

2018-10-15 13:54:08 1057

原创 ubuntu无法挂载windows分区

今天在Windows中关机(注意是关机不是重启)之后再回到ubuntu,发现原来在Windows下的两个磁盘不能挂载了,之前都能正常挂载和读写的。后来突然意识到Windows10的关机是深度休眠,也就是说磁盘没有完全释放,因此外部无法访问。于是乎回到Windows10重新启动,回到ubuntu后发现系统盘C:可以访问了,但是D盘依然无法挂载。试过了网上的sudo ntfsfix /dev/nv...

2018-09-14 20:05:50 2104

原创 Ubuntu QTcreator ROS版配置VINS Mono

很早之前就完成了VINS-Mono在QTcreator下的配置运行,过程虽说不复杂但长时间不折腾也很容易忘记。今天实习第一天,mentor让我先把vins跑起来,换了新电脑又是一顿操作,所以记录一下作为备忘。1.QTcreator + ROS PluginROS Wiki里面有下载链接,下载后 ./ 运行即可,若无法运行,记得“chmod +X ......"加上运行权限。安装好之后双...

2018-09-04 20:43:42 848 2

原创 DJI X3云台相机图像NV12转RGB/GRAY

       使用dji manifold获取X3云台相机图像,格式为NV12,简单来说就是存储图像的另外一种格式,opencv3.0以上版本提供了直接转换的函数。#define FRAME_SIZE (1280*720*3/2) /*format NV12*/#define Width 1280#define Height 720Mat rgb;Mat NV1...

2018-06-28 14:45:35 1512 3

原创 Linux多版本opencv配置与“cannot open shared object file: No such file or directory”问题解决

原装opencv2.4.13,sudo make install之后安装到/usr/local/下。现装opencv3.4.1,为了避免冲突,重新指定安装目录。1.首先在OpenCV主页下载源码2.新建文件夹(mydir)用于安装opencv3.4.13.修改源码解压之后文件夹中的CMakeLists.txt中安装路径为:set(CMAKE_INSTALL_PREFIX "mydir" CACHE...

2018-05-30 15:20:27 12357 1

原创 linux 多线程串口编程总结

最近在玩DJI M100,调用API获取GPS位置时发现高程定位完全是错的(负的几百多米),查了一下文档说高程数据是由气压计得到的,而飞行控制时又需要比较可靠的高度信息,于是乎决定用上我们实验室的搭载Ublox芯片的板子搞事情,在子线程通过串口接收板子的定位结果,在主线程调用,开发环境为Ubuntu16.04/14.04,前者为虚拟机,后者为manifold。1.串口编程(只读)...

2018-01-26 21:28:00 10088

原创 Ubuntu系统下Eclipse CDT配置opencv2411和dji OSDK

由于大疆OSDK不支持Windows,所以最近开始了在Ubuntu操作系统下的撸码之路。新手入门,四处碰壁,装系统就装了两次,后来索性选择在虚拟机里搞事情。经旁人推荐,选择了Eclipse CDT作为IDE,习惯了宇宙第一的VS一开始用起来并不是十分顺畅,又被cmake弄的晕头转向,花了数天时间摸索才稍微渐入佳境。作为一个小白,深知新手在入门时的痛苦,但这个痛苦实际上是必经的阶段,所谓万事开头难。

2017-11-03 23:15:55 551

原创 初探Eigen(error C2719: “Qcw”: 具有 __declspec(align('16')) 的形参将不被对齐)

想写一个方向余弦矩阵转四元数的小函数,试用Eigen,如下所示:bool DCM2Q(Eigen::Matrix3f DCM, Eigen::Vector4f Qcw)结果编译却出现错误:error C2719: “Qcw”: 具有 __declspec(align('16')) 的形参将不被对齐查询了一下文档,找到了解决方法也就是把形参改成引用的形式即可。bool DCM

2017-10-11 21:13:59 1431

原创 OpenCV2411+VS2013的配置(问题总结)

OpenCV各个版本在VS2013下的配置在网上有很多人进行了详细的介绍,在此不作赘述,主要是配置环境变量,添加各种依赖库的问题。但是如果照着文档一步一步走便能轻松大功告成的话,程序员们可能做梦都会笑醒。所以说bug是无处不在的,我们的目标就是消除一切bug!Q1:error LNK2019: 无法解析的外部符号 _gzputs,该符号在函数 "void __cdecl icvPuts(s

2017-08-09 14:40:02 676

Linux c++多线程串口编程demo

使用多线程进行串口编程,获取串口数据,利用互斥锁和信号量在不同的线程中安全地操作数据,希望该demo能帮助你快速理解并掌握上述知识。

2018-01-26

多线程demo

简单的多线程小demo,帮助你快速理解多线程的原理和使用。

2018-01-26

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

TA关注的人

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