<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[三多学长的博客]]></title><description><![CDATA[努力努力再努力]]></description><link>https://blog.youkuaiyun.com/innocent_sheld</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; innocent_sheld]]></copyright><item><title><![CDATA[CMake链接Open3D和ROS]]></title><link>https://blog.youkuaiyun.com/innocent_sheld/article/details/129117236</link><guid>https://blog.youkuaiyun.com/innocent_sheld/article/details/129117236</guid><author>innocent_sheld</author><pubDate>Mon, 20 Feb 2023 03:32:43 +0800</pubDate><description><![CDATA[CMake链接Open3D和ROS]]></description><category></category></item><item><title><![CDATA[Ubuntu 在任意位置运行python文件]]></title><link>https://blog.youkuaiyun.com/innocent_sheld/article/details/127779792</link><guid>https://blog.youkuaiyun.com/innocent_sheld/article/details/127779792</guid><author>innocent_sheld</author><pubDate>Wed, 09 Nov 2022 23:11:37 +0800</pubDate><description><![CDATA[如题，有些时候写好的Python脚本想在另外的文件夹下面运行，比如一些处理数据的工具，如果把文件拷来拷去未免太过麻烦而且不方便管理。一个解决方案是写脚本的时候把数据的路径作为参数传进去，另一个解决方案是把python文件的路径添加到环境变量里，使得在系统的任何位置都可以运行该文件。试了网上的很多方法都不靠谱，其实很简单。]]></description><category></category></item><item><title><![CDATA[git-stash用法小结（转载）]]></title><link>https://blog.youkuaiyun.com/innocent_sheld/article/details/107962479</link><guid>https://blog.youkuaiyun.com/innocent_sheld/article/details/107962479</guid><author>innocent_sheld</author><pubDate>Wed, 12 Aug 2020 17:25:55 +0800</pubDate><description><![CDATA[今天在看一个bug，之前一个分支的版本是正常的，在新的分支上上加了很多日志没找到原因，希望回溯到之前的版本，确定下从哪个提交引入的问题，但是还不想把现在的修改提交，也不希望在Git上看到当前修改的版本（带有大量日志和调试信息）。因此呢，查查Git有没有提供类似功能，就找到了git stash的命令。

综合下网上的介绍和资料，git stash（git储藏）可用于以下情形：

发现有一个类是多余的，想删掉它又担心以后需要查看它的代码，想保存它但又不想增加一个脏的提交。这时就可以考虑git stash。
	使]]></description><category></category></item><item><title><![CDATA[MATLAB APP显示不全]]></title><link>https://blog.youkuaiyun.com/innocent_sheld/article/details/106319802</link><guid>https://blog.youkuaiyun.com/innocent_sheld/article/details/106319802</guid><author>innocent_sheld</author><pubDate>Sun, 24 May 2020 19:55:44 +0800</pubDate><description><![CDATA[将MATLAB Guide的APP迁移到APP Designer时可能会出现APP界面跑偏，显示不全的问题，如下图所示。



解决办法：

打开APP设计工具，选择代码视图，点击左下角的界面布局，然后在右下角的Position中将x、y修改为合适的值即可，如下图所示。勾选resize可以手动拖拽改变界面尺寸。




...]]></description><category></category></item><item><title><![CDATA[VS中链接lib和dll总结，以及错误0xc000007b的处理方法]]></title><link>https://blog.youkuaiyun.com/innocent_sheld/article/details/102511757</link><guid>https://blog.youkuaiyun.com/innocent_sheld/article/details/102511757</guid><author>innocent_sheld</author><pubDate>Fri, 11 Oct 2019 23:21:12 +0800</pubDate><description><![CDATA[在windows下面基于VS开发C++/C程序，链接外部库时dll和lib都是必不可少的，lib是编译时用到的，dll是运行时用到的。（参考：lib 和 dll 的区别、生成以及使用详解）

VS在生成解决方案时会按照当前路径、属性表中的库目录和环境变量中的路径链接所需库文件。例如在配置opencv时，一般会在包含目录中添加头文件路径，库目录添加lib路径，而在环境变量中添加dll路径即bin文件...]]></description><category></category></item><item><title><![CDATA[Git小结 [代码回退、合并游离(detached)节点、删除远程文件等]]]></title><link>https://blog.youkuaiyun.com/innocent_sheld/article/details/101544847</link><guid>https://blog.youkuaiyun.com/innocent_sheld/article/details/101544847</guid><author>innocent_sheld</author><pubDate>Fri, 27 Sep 2019 19:15:22 +0800</pubDate><description><![CDATA[最简单易懂的Git入门：Git图解

1.代码回退

如果我们需要在本地运行历史版本的代码，需要将当前工作区改为历史节点对应的版本，但不影响其他的内容，同时运行完了之后还需要再回到当前版本。操作如下：


git reset --hard &lt;commit_id&gt;

commit_id 指的就是你需要回退的历史版本的SHA-ID，一般取前六位数即可。再回到当前版本也是相同的操作。但是需要...]]></description><category></category></item><item><title><![CDATA[使用QTCreator进行ARM交叉编译和远程调试]]></title><link>https://blog.youkuaiyun.com/innocent_sheld/article/details/88983997</link><guid>https://blog.youkuaiyun.com/innocent_sheld/article/details/88983997</guid><author>innocent_sheld</author><pubDate>Tue, 02 Apr 2019 23:23:34 +0800</pubDate><description><![CDATA[1.在PC端安装ARM版本的g++、gcc编译工具（注意不同的ARM处理器对应不同的版本，DJI妙算对应的是g++-arm-linux-gnueabihf）；


sudo apt-get install g++-arm-linux-gnueabihf

2.下载并编译安装gdb（下载地址）。Gdb是一款unix下的程序调试工具，可以让我们很方便地进行断点管理和单步运行调试，要想在PC端对ARM上...]]></description><category></category></item><item><title><![CDATA[相机成像原理详解]]></title><link>https://blog.youkuaiyun.com/innocent_sheld/article/details/88880492</link><guid>https://blog.youkuaiyun.com/innocent_sheld/article/details/88880492</guid><author>innocent_sheld</author><pubDate>Thu, 28 Mar 2019 22:53:48 +0800</pubDate><description><![CDATA[相机成像原理详解
被摄景物反射出的光线通过照相镜头（摄景物镜）和控制曝光量的快门聚焦后，被摄景物在暗箱内的感光材料上形成潜像，经冲洗处理（即显影、定影）构成永久性的影像（百度百科）。当一束与凸透镜的主轴平行的光穿过凸透镜时，在凸透镜的另一侧会被凸透镜汇聚成一点，这一点叫做焦点，焦点到凸透镜光心的距离就叫这个凸透镜的焦距。一个凸透镜的两侧各有一个焦点。]]></description><category></category></item><item><title><![CDATA[C++“（已隐式声明）--它是已删除的函数 ” “尝试引用已删除的函数”知识点MARK]]></title><link>https://blog.youkuaiyun.com/innocent_sheld/article/details/88148856</link><guid>https://blog.youkuaiyun.com/innocent_sheld/article/details/88148856</guid><author>innocent_sheld</author><pubDate>Tue, 05 Mar 2019 00:33:08 +0800</pubDate><description><![CDATA[今天写一个简单的文件处理工具类时遇到了一个新bug，是一个之前忽略掉的知识点，特此mark一下。

错误如下：



c++类在初始化的时候有两种方式：


1. M_CLASS m_class(...);
2. M_CLASS m_class = M_CLASS(...);


编译器对二者处理的不同之处在于：前者通过构造函数直接对对象m_class中的成员变量进行赋值，而后者则是先初始化一个临...]]></description><category></category></item><item><title><![CDATA[No package 'opencv' found引起的故事——Ubuntu环境变量与pkg-config]]></title><link>https://blog.youkuaiyun.com/innocent_sheld/article/details/87996135</link><guid>https://blog.youkuaiyun.com/innocent_sheld/article/details/87996135</guid><author>innocent_sheld</author><pubDate>Thu, 28 Feb 2019 00:47:54 +0800</pubDate><description><![CDATA[今天在使用一款相机的SDK时用到MakeFile进行编译,其诡异的语法令人头大不已，所以一开始出现问题时慌了阵脚，到最后一番折腾静下心来才找到问题之关键——环境变量和pkg-config。

遇到的问题是这样的：

Package opencv was not found in the pkg-config search path.
Perhaps you should add the direc...]]></description><category></category></item><item><title><![CDATA[旋转矢量和向量外积的关系]]></title><link>https://blog.youkuaiyun.com/innocent_sheld/article/details/86439613</link><guid>https://blog.youkuaiyun.com/innocent_sheld/article/details/86439613</guid><author>innocent_sheld</author><pubDate>Sun, 13 Jan 2019 23:10:46 +0800</pubDate><description><![CDATA[在三维空间中，我们经常会对某些向量进行旋转等操作，同时物体在空间中的变化除了位移之外也包括旋转，而用来描述旋转的方式有很多，如：旋转矢量，欧拉角，四元数，方向余弦矩阵等。其中旋转矢量的定义是这样的：一个坐标系到另一个坐标系的变换可以通过多次转动来完成（欧拉角法），也可以通过绕一个定义在参考坐标系中的矢量的单次转动来实现。这个旋转矢量（rotation vector）是一个三元素的向量，旋转矢量的方...]]></description><category></category></item><item><title><![CDATA[Ubuntu 配置VSCode 断点调试]]></title><link>https://blog.youkuaiyun.com/innocent_sheld/article/details/84074482</link><guid>https://blog.youkuaiyun.com/innocent_sheld/article/details/84074482</guid><author>innocent_sheld</author><pubDate>Wed, 14 Nov 2018 22:08:08 +0800</pubDate><description><![CDATA[      习惯了Windows下Visual Studio的强大编译调试功能，现在大部分开发都在ubuntu下，VScode同样也很强大，可拓展性很强。为了进一步提高效率，折腾了一下debug模式的配置，照着其他博客config的或多或少都有问题，所以提供一个“靠谱版”供大家参考。语言：C/C++。

1.在CMakeLists.txt中设置build类型为“debug”，相比release可能...]]></description><category></category></item><item><title><![CDATA[git删除已经推送到远程的文件夹]]></title><link>https://blog.youkuaiyun.com/innocent_sheld/article/details/83654790</link><guid>https://blog.youkuaiyun.com/innocent_sheld/article/details/83654790</guid><author>innocent_sheld</author><pubDate>Fri, 02 Nov 2018 14:28:19 +0800</pubDate><description><![CDATA[参考：

https://www.cnblogs.com/johnsonshu/p/6822744.html


git rm -r --cached your-directory
git commit -m 'Remove the now ignored directory &quot;your-directory&quot;'
git push origin master]]></description><category></category></item><item><title><![CDATA[error: ‘std::ios_base& std::ios_base::operator=(const std::ios_base&)’ is private]]></title><link>https://blog.youkuaiyun.com/innocent_sheld/article/details/83057814</link><guid>https://blog.youkuaiyun.com/innocent_sheld/article/details/83057814</guid><author>innocent_sheld</author><pubDate>Mon, 15 Oct 2018 13:54:08 +0800</pubDate><description><![CDATA[       今天把windows下的文件流读写代码转到Linux下时一直提示如题所示错误，有段时间没写过cmake了一时半会不知道哪里出了问题，然后查到出错的地方看到fstream的源码，


if __cplusplus &amp;gt;= 201103L
      // 27.8.3.2 Assign and swap:

      basic_fstream&amp;amp;
      operat...]]></description><category></category></item><item><title><![CDATA[ubuntu无法挂载windows分区]]></title><link>https://blog.youkuaiyun.com/innocent_sheld/article/details/82708108</link><guid>https://blog.youkuaiyun.com/innocent_sheld/article/details/82708108</guid><author>innocent_sheld</author><pubDate>Fri, 14 Sep 2018 20:05:50 +0800</pubDate><description><![CDATA[今天在Windows中关机（注意是关机不是重启）之后再回到ubuntu，发现原来在Windows下的两个磁盘不能挂载了，之前都能正常挂载和读写的。后来突然意识到Windows10的关机是深度休眠，也就是说磁盘没有完全释放，因此外部无法访问。于是乎回到Windows10重新启动，回到ubuntu后发现系统盘C：可以访问了，但是D盘依然无法挂载。

试过了网上的sudo ntfsfix /dev/nv...]]></description><category></category></item><item><title><![CDATA[Ubuntu QTcreator ROS版配置VINS Mono]]></title><link>https://blog.youkuaiyun.com/innocent_sheld/article/details/82389304</link><guid>https://blog.youkuaiyun.com/innocent_sheld/article/details/82389304</guid><author>innocent_sheld</author><pubDate>Tue, 04 Sep 2018 20:43:42 +0800</pubDate><description><![CDATA[很早之前就完成了VINS-Mono在QTcreator下的配置运行，过程虽说不复杂但长时间不折腾也很容易忘记。今天实习第一天，mentor让我先把vins跑起来，换了新电脑又是一顿操作，所以记录一下作为备忘。

1.QTcreator + ROS Plugin

ROS Wiki里面有下载链接，下载后 ./ 运行即可，若无法运行，记得“chmod +X ......&quot;加上运行权限。

安装好之后双...]]></description><category></category></item><item><title><![CDATA[DJI X3云台相机图像NV12转RGB/GRAY]]></title><link>https://blog.youkuaiyun.com/innocent_sheld/article/details/80841783</link><guid>https://blog.youkuaiyun.com/innocent_sheld/article/details/80841783</guid><author>innocent_sheld</author><pubDate>Thu, 28 Jun 2018 14:45:35 +0800</pubDate><description><![CDATA[       使用dji manifold获取X3云台相机图像，格式为NV12，简单来说就是存储图像的另外一种格式，opencv3.0以上版本提供了直接转换的函数。#define FRAME_SIZE              (1280*720*3/2)  /*format NV12*/
#define Width 1280
#define Height 720
Mat rgb;
Mat NV1...]]></description><category></category></item><item><title><![CDATA[Linux多版本opencv配置与“cannot open shared object file: No such file or directory”问题解决]]></title><link>https://blog.youkuaiyun.com/innocent_sheld/article/details/80509651</link><guid>https://blog.youkuaiyun.com/innocent_sheld/article/details/80509651</guid><author>innocent_sheld</author><pubDate>Wed, 30 May 2018 15:20:27 +0800</pubDate><description><![CDATA[原装opencv2.4.13，sudo make install之后安装到/usr/local/下。现装opencv3.4.1，为了避免冲突，重新指定安装目录。1.首先在OpenCV主页下载源码2.新建文件夹（mydir）用于安装opencv3.4.13.修改源码解压之后文件夹中的CMakeLists.txt中安装路径为：set(CMAKE_INSTALL_PREFIX &quot;mydir&quot; CACHE...]]></description><category></category></item><item><title><![CDATA[linux 多线程串口编程总结]]></title><link>https://blog.youkuaiyun.com/innocent_sheld/article/details/79176800</link><guid>https://blog.youkuaiyun.com/innocent_sheld/article/details/79176800</guid><author>innocent_sheld</author><pubDate>Fri, 26 Jan 2018 21:28:00 +0800</pubDate><description><![CDATA[最近在玩DJI M100，调用API获取GPS位置时发现高程定位完全是错的（负的几百多米），查了一下文档说高程数据是由气压计得到的，而飞行控制时又需要比较可靠的高度信息，于是乎决定用上我们实验室的搭载Ublox芯片的板子搞事情，在子线程通过串口接收板子的定位结果，在主线程调用，开发环境为Ubuntu16.04/14.04，前者为虚拟机，后者为manifold。

1.串口编程（只读）

...]]></description><category></category></item><item><title><![CDATA[Ubuntu系统下Eclipse CDT配置opencv2411和dji OSDK]]></title><link>https://blog.youkuaiyun.com/innocent_sheld/article/details/78440578</link><guid>https://blog.youkuaiyun.com/innocent_sheld/article/details/78440578</guid><author>innocent_sheld</author><pubDate>Fri, 03 Nov 2017 23:15:55 +0800</pubDate><description><![CDATA[由于大疆OSDK不支持Windows，所以最近开始了在Ubuntu操作系统下的撸码之路。新手入门，四处碰壁，装系统就装了两次，后来索性选择在虚拟机里搞事情。经旁人推荐，选择了Eclipse CDT作为IDE，习惯了宇宙第一的VS一开始用起来并不是十分顺畅，又被cmake弄的晕头转向，花了数天时间摸索才稍微渐入佳境。作为一个小白，深知新手在入门时的痛苦，但这个痛苦实际上是必经的阶段，所谓万事开头难。]]></description><category></category></item></channel></rss>