<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lfc2017的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lfc2017</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lfc2017]]></copyright><item><title><![CDATA[旋转的几种数学表示方法]]></title><link>https://blog.youkuaiyun.com/lfc2017/article/details/124620743</link><guid>https://blog.youkuaiyun.com/lfc2017/article/details/124620743</guid><author>lfc2017</author><pubDate>Fri, 06 May 2022 22:50:51 +0800</pubDate><description><![CDATA[旋转矩阵：运算方便；使用9个量描述3自由度旋转，引入额外约束，求导困难。

旋转向量：紧凑的表示旋转；具有周期性。

欧拉角： 直观，用户友好，需要指定旋转顺序，存在万向节死锁问题，无法进行球面平滑插值。

四元数：紧凑的不带奇异的表示方法；对用户来讲不太直观，用求单位四元数，表示旋转也会过参数化。
...]]></description><category></category></item><item><title><![CDATA[gnutls_handshake() failed: Error in the pull function.]]></title><link>https://blog.youkuaiyun.com/lfc2017/article/details/123343057</link><guid>https://blog.youkuaiyun.com/lfc2017/article/details/123343057</guid><author>lfc2017</author><pubDate>Tue, 08 Mar 2022 00:08:33 +0800</pubDate><description><![CDATA[新安装的镜像Ubuntu 16.04 LTS 拉取git库时报错，gnutls_handshake() failed: Error in the pull function.

执行下面操作后可以正常拉取git上的库了


#取消代理
git config --global --unset http.https://github.com.proxy


]]></description><category></category></item><item><title><![CDATA[读取raw格式数据，OpenCV显示]]></title><link>https://blog.youkuaiyun.com/lfc2017/article/details/122873593</link><guid>https://blog.youkuaiyun.com/lfc2017/article/details/122873593</guid><author>lfc2017</author><pubDate>Fri, 11 Feb 2022 09:30:38 +0800</pubDate><description><![CDATA[void read_raw()
{
	int w = 640;//原始图像的高
	int h = 480;//原始图像的宽

	FILE* fp = NULL; //定义指针s
	fp = fopen("F:\\Image\\test_depth\\dist_1200mm\\depth_640x480_18376_0243.raw", "rb+");
    
    Mat src;
    src.create(Size(w, h), CV_16UC1);
    fread(src.data, si.]]></description><category></category></item><item><title><![CDATA[QT编译错误：undefined reference to `vtable for” ClassName]]></title><link>https://blog.youkuaiyun.com/lfc2017/article/details/120891949</link><guid>https://blog.youkuaiyun.com/lfc2017/article/details/120891949</guid><author>lfc2017</author><pubDate>Thu, 21 Oct 2021 18:17:16 +0800</pubDate><description><![CDATA[1. 右键项目， 点击 “Clean”

2. 右键项目，点击 “Run qmake”

3. 点击QT Create最上面的Build，执行“Run”

执行完上述步骤后编译通过了。

看别人的文章也有可能其他问题导致这个编译错误，如果这个办法没有用的话，可以参考别人的解决办法。
...]]></description><category></category></item><item><title><![CDATA[vs2019+QT新建UI窗口]]></title><link>https://blog.youkuaiyun.com/lfc2017/article/details/115071340</link><guid>https://blog.youkuaiyun.com/lfc2017/article/details/115071340</guid><author>lfc2017</author><pubDate>Mon, 22 Mar 2021 14:50:34 +0800</pubDate><description><![CDATA[在vs2019中新建一个QT的widget窗口

第一步：



第二步：其中可以选择MainWindow或者Widget窗口，填写好ui的名字。



第三步：建立好对应ui名字的 .h 和 .cpp文件即可。

双击新建的ui文件，如果打不开的话，可以重新配置一下qt designer。







先移除qt designer（如果不能移除的话直接添加另一个同名的qt designer），然后添加qt安装路径下的qt designer.exe为默认值，重启项目就可以打开.ui文件了。

新建的ui窗]]></description><category></category></item><item><title><![CDATA[高效遍历Mat图片的指针方式]]></title><link>https://blog.youkuaiyun.com/lfc2017/article/details/111661063</link><guid>https://blog.youkuaiyun.com/lfc2017/article/details/111661063</guid><author>lfc2017</author><pubDate>Fri, 25 Dec 2020 09:34:31 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/lehuoziyuan/article/details/84031429?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3.not_use_machine_learn_pai&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3.not_use_machine]]></description><category></category></item><item><title><![CDATA[在anaconda下安装第三方库指定版本号和指定镜像源]]></title><link>https://blog.youkuaiyun.com/lfc2017/article/details/106104082</link><guid>https://blog.youkuaiyun.com/lfc2017/article/details/106104082</guid><author>lfc2017</author><pubDate>Wed, 13 May 2020 18:27:20 +0800</pubDate><description><![CDATA[python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu==1.13.2
]]></description><category></category></item><item><title><![CDATA[TCP/IP协议族]]></title><link>https://blog.youkuaiyun.com/lfc2017/article/details/90200266</link><guid>https://blog.youkuaiyun.com/lfc2017/article/details/90200266</guid><author>lfc2017</author><pubDate>Tue, 14 May 2019 14:19:35 +0800</pubDate><description><![CDATA[TCP/IP协议族是一个四层协议系统：自下而上分别是数据链路层，网络层，传输层，应用层。



数据链路层实现了网卡接口的网络驱动程序，以处理数据在物理媒介（比如以太网，令牌环）上的传输。两个常用的协议是ARP协议（Address Resolve Protocol，地址解析协议）和RARP（Reverse Address Resolve Protocol，逆地址解析协议）。他们实现了IP地址和机...]]></description><category></category></item><item><title><![CDATA[将文件间的编译依存关系降至最低的例子]]></title><link>https://blog.youkuaiyun.com/lfc2017/article/details/89917087</link><guid>https://blog.youkuaiyun.com/lfc2017/article/details/89917087</guid><author>lfc2017</author><pubDate>Tue, 07 May 2019 11:09:20 +0800</pubDate><description><![CDATA[在说这一条款之前，先要了解一下C/C++的编译知识，假设有三个类ComplexClass, SimpleClass1和SimpleClass2，采用头文件将类的声明与类的实现分开，这样共对应于6个文件，分别是ComplexClass.h，ComplexClass.cpp，SimpleClass1.h，SimpleClass1.cpp，SimpleClass2.h，SimpleClass2.cpp。...]]></description><category></category></item><item><title><![CDATA[const_cast / dynamic_cast / static_cast / reinterpret_cast]]></title><link>https://blog.youkuaiyun.com/lfc2017/article/details/89889100</link><guid>https://blog.youkuaiyun.com/lfc2017/article/details/89889100</guid><author>lfc2017</author><pubDate>Mon, 06 May 2019 19:35:12 +0800</pubDate><description><![CDATA[一 const_cast

const_cast是一个强制类型转换操作符。《C++ Primer》中是这样描述它的：

1.将转换掉表达式的const性质。

2.只有使用const_cast才能将const性质性质转化掉。试图使用其他三种形式的强制转换都会导致编译时的错误。（添加const还可以用其他转换符，如static_const）

3.除了添加const或删除const特性，使用cons...]]></description><category></category></item><item><title><![CDATA[构造函数语义学]]></title><link>https://blog.youkuaiyun.com/lfc2017/article/details/89415185</link><guid>https://blog.youkuaiyun.com/lfc2017/article/details/89415185</guid><author>lfc2017</author><pubDate>Sat, 20 Apr 2019 12:14:51 +0800</pubDate><description><![CDATA[一Default constructor的建构操作

nontrivial default constructor的四种情况：

1. “ 带有 Default Constructor ” 的 Member Class Object


class Foo 
{
    public:
        Foo();
        Foo(int);
}


class Bar
{
    ...]]></description><category></category></item><item><title><![CDATA[C++中的 struct 与 class 的区别]]></title><link>https://blog.youkuaiyun.com/lfc2017/article/details/89403024</link><guid>https://blog.youkuaiyun.com/lfc2017/article/details/89403024</guid><author>lfc2017</author><pubDate>Fri, 19 Apr 2019 16:29:09 +0800</pubDate><description><![CDATA[转载来源：http://blog.sina.com.cn/s/blog_48f587a80100k630.html

C++中的struct对C中的struct进行了扩充，它已经不再只是一个包含不同数据类型的数据结构了，它已经获取了太多的功能。struct能包含成员函数吗？ 能！
struct能继承吗？ 能！！
struct能实现多态吗？ 能！！！

既然这些它都能实现，那它和class还能有什...]]></description><category></category></item><item><title><![CDATA[Linux 文件与文件系统的压缩，打包与备份]]></title><link>https://blog.youkuaiyun.com/lfc2017/article/details/89329603</link><guid>https://blog.youkuaiyun.com/lfc2017/article/details/89329603</guid><author>lfc2017</author><pubDate>Tue, 16 Apr 2019 11:49:21 +0800</pubDate><description><![CDATA[gzip : 可以解开compress， zip, gzip等软件所压缩的文件。

gzip [-cdtv#] 文件名
	zcat 文件名.gz 读出压缩文件的内容
	gzip压缩 会把原始文件删除，只留下压缩文件
	gzip解压缩 会把 压缩文件删除，只留下解压出来的文件


xz : 用法跟gzip 几乎一模一样

压缩比更好，但是用时更久


打包指令 ： tar

压缩 ： ...]]></description><category></category></item><item><title><![CDATA[Linux文件系统]]></title><link>https://blog.youkuaiyun.com/lfc2017/article/details/89319517</link><guid>https://blog.youkuaiyun.com/lfc2017/article/details/89319517</guid><author>lfc2017</author><pubDate>Mon, 15 Apr 2019 21:35:57 +0800</pubDate><description><![CDATA[区块的组成 ：data block(数据区块)、Inode table(inode 表格)、 superbolck(超级块)、filesystem description（文件系统描述说 明）、 block bitmap（区块对照表）、 inode bitmap(inode对照表)

data block : 放置文件内容数据地方
	inode table : 记录文件的属性以及该文件实际数据是...]]></description><category></category></item><item><title><![CDATA[Linux基础指令的操作]]></title><link>https://blog.youkuaiyun.com/lfc2017/article/details/89289318</link><guid>https://blog.youkuaiyun.com/lfc2017/article/details/89289318</guid><author>lfc2017</author><pubDate>Sat, 13 Apr 2019 22:23:19 +0800</pubDate><description><![CDATA[在你没有更改默认的快捷键的时候：


对整个屏幕截图： PrintScreen
对活动窗口截图： Alt+PrintScreen
对任意矩形截图： Shift+PrintScreen
以上三个快捷键再加上Ctrl，就会默认复制截图到粘贴板



1. 显示日期的指令 ： date





2. 显示日历的指令： cal

cal
 

cal 2019
...]]></description><category></category></item><item><title><![CDATA[Effective c++  阅读笔记]]></title><link>https://blog.youkuaiyun.com/lfc2017/article/details/89285306</link><guid>https://blog.youkuaiyun.com/lfc2017/article/details/89285306</guid><author>lfc2017</author><pubDate>Sat, 13 Apr 2019 19:45:34 +0800</pubDate><description><![CDATA[第一节 让自己习惯 C++

条款 2：尽量以const, enum, inline替换#define

对于单纯常量，最好以const对象或enums 替换 # define
	对于形似函数的宏，最好改用inline函数替换# define


条款 3： 尽可能使用const

将某些东西声明为const可帮助编译器侦测出错误用法。const可被施加于作用域内的对象、函数参数。参数返回类型、...]]></description><category></category></item><item><title><![CDATA[Effective C++ 关键字explicit]]></title><link>https://blog.youkuaiyun.com/lfc2017/article/details/89286807</link><guid>https://blog.youkuaiyun.com/lfc2017/article/details/89286807</guid><author>lfc2017</author><pubDate>Sat, 13 Apr 2019 18:48:25 +0800</pubDate><description><![CDATA[首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式).

那么显示声明的构造函数和隐式声明的有什么区别呢? 我们来看下面的例子:



    class CxString  // 没有使用explicit关键...]]></description><category></category></item><item><title><![CDATA[Effective C++      Logic constness 和 Bitwise constness]]></title><link>https://blog.youkuaiyun.com/lfc2017/article/details/89285696</link><guid>https://blog.youkuaiyun.com/lfc2017/article/details/89285696</guid><author>lfc2017</author><pubDate>Sat, 13 Apr 2019 17:22:52 +0800</pubDate><description><![CDATA[什么是 Logic constness

有以下类 BigArray，其成员 vector&lt;int&gt; v; 是一个数组数据结构，为了让外部可以访问该数组，此类提供了一个 getItem 接口，除此之外，为了计算外部访问数组的次数，该类还设置了一个计数器 accessCounter ，可以看到用户每次调用 getItem 接口，accessCounter 就会自增，很明显，这里的成员 v...]]></description><category></category></item><item><title><![CDATA[c++ 知识点总结：]]></title><link>https://blog.youkuaiyun.com/lfc2017/article/details/89025332</link><guid>https://blog.youkuaiyun.com/lfc2017/article/details/89025332</guid><author>lfc2017</author><pubDate>Fri, 05 Apr 2019 01:02:48 +0800</pubDate><description><![CDATA[# include&lt;iostream.h&gt;

void f()
{
    static int i = 15;
    i++;
    cout&lt;&lt; "i=" &lt;&lt; i &lt;&lt; endl;
}

void main()
{
    for(int k = 0; k &lt; 2; k++)
        f();
}

上面这段代码输出结果为 ...]]></description><category></category></item><item><title><![CDATA[STL 之红黑树]]></title><link>https://blog.youkuaiyun.com/lfc2017/article/details/88871344</link><guid>https://blog.youkuaiyun.com/lfc2017/article/details/88871344</guid><author>lfc2017</author><pubDate>Thu, 28 Mar 2019 17:17:49 +0800</pubDate><description><![CDATA[R-B Tree，全称是Red-Black Tree，又称为“红黑树”，它一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色，可以是红(Red)或黑(Black)。

红黑树的特性:（1）每个节点或者是黑色，或者是红色。（2）根节点是黑色。（3）每个叶子节点（NIL）是黑色。[注意：这里叶子节点，是指为空(NIL或NULL)的叶子节点！]（4）如果一个节点是红色的，则它的子节点...]]></description><category></category></item></channel></rss>