<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Type真是太帅了]]></title><description><![CDATA[佳人慕高义，求贤良独难。 众人徒嗷嗷，安知彼所观？]]></description><link>https://blog.youkuaiyun.com/qq_36614557</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_36614557]]></copyright><item><title><![CDATA[Android 获取图像主色：Palatte 调色板]]></title><link>https://blog.youkuaiyun.com/qq_36614557/article/details/129741691</link><guid>https://blog.youkuaiyun.com/qq_36614557/article/details/129741691</guid><author>qq_36614557</author><pubDate>Thu, 23 Mar 2023 23:35:36 +0800</pubDate><description><![CDATA[Platte是Google提供的提取图像颜色的类。Platte由Bitmap创建，并提供六种主色和对应的色样。]]></description><category></category></item><item><title><![CDATA[Android 自定义View ：虚线矩形]]></title><link>https://blog.youkuaiyun.com/qq_36614557/article/details/127311990</link><guid>https://blog.youkuaiyun.com/qq_36614557/article/details/127311990</guid><author>qq_36614557</author><pubDate>Fri, 14 Oct 2022 00:23:22 +0800</pubDate><description><![CDATA[本案例涉及视频外一个点指向视频内某块区域，因此参数略微复杂，除斜线起点坐标为实际坐标外，其他三个参数为百分比，例如矩形左上角坐标（0.1,0.1）表示位于相对于视频左上角0.1*weight，0.1*height处。PS：由于获取视频尺寸需要prepared才给到，此时 DashLineView已经create和onMeasure，只能在onDraw时才能进行具体坐标的计算。其中，前两个参数用于绘制预览效果中矩形上方的斜线，如果不需要可以移除。]]></description><category></category></item><item><title><![CDATA[matlab打开视频文件并提取颜色数据]]></title><link>https://blog.youkuaiyun.com/qq_36614557/article/details/127311756</link><guid>https://blog.youkuaiyun.com/qq_36614557/article/details/127311756</guid><author>qq_36614557</author><pubDate>Thu, 13 Oct 2022 23:57:36 +0800</pubDate><description><![CDATA[目标：实现加载任意视频文件，并按帧取指定图像区域的某颜色值代表该区域的颜色值。]]></description><category></category></item><item><title><![CDATA[【代码复现|matlab】一种音频信号转换视觉颜色信息的方法及系统]]></title><link>https://blog.youkuaiyun.com/qq_36614557/article/details/126844445</link><guid>https://blog.youkuaiyun.com/qq_36614557/article/details/126844445</guid><author>qq_36614557</author><pubDate>Fri, 23 Sep 2022 00:44:05 +0800</pubDate><description><![CDATA[5. 对幅度谱矩阵归一化，得到矩阵S，用于表示饱和度，此时HSV颜色空间三个维度的值均已获得；7. 计算块内所有信号的平均RGB值，作为这个块的颜色。专利对应：《一种音频信号转换视觉颜色信息的方法及系统》3. 对块进行傅里叶变换后，得到频率矩阵f和幅度谱F；4. 根据公式将频率矩阵转换为矩阵H，用于表示色相；6. 根据色相，计算块内每个信号对应的RGB值；2. 根据块的平均能量得到变量V，表示亮度；]]></description><category></category></item><item><title><![CDATA[番外篇：研究生心得：研三篇/总结篇]]></title><link>https://blog.youkuaiyun.com/qq_36614557/article/details/124219590</link><guid>https://blog.youkuaiyun.com/qq_36614557/article/details/124219590</guid><author>qq_36614557</author><pubDate>Sat, 16 Apr 2022 21:12:58 +0800</pubDate><description><![CDATA[2022年4月15日，随着交完所有文件后，我坐在实验室的屏幕前，在短暂的兴奋后，突然一下子愣住了：没想到研究生就这么结束了。有不甘，有落寞，有惆怅。

还记得19年那个夏天，对自己的学术生涯的延续非常憧憬，并立志去做一个highly productive的人，没想到事与愿违，产量甚至远不及在git和csdn上产的多。当初考研的目的也很简单：对本科生活的缺失，缺失了那种搞学术搞项目的经历，所以想在研究生阶段去弥补。然而，没想到现在面试还只能拿着本科的项目去硬着头皮去讲。甚至小论文都是和别人合作。遥想这三年，似]]></description><category></category></item><item><title><![CDATA[Linux Shell 脚本交互输入]]></title><link>https://blog.youkuaiyun.com/qq_36614557/article/details/121432030</link><guid>https://blog.youkuaiyun.com/qq_36614557/article/details/121432030</guid><author>qq_36614557</author><pubDate>Fri, 19 Nov 2021 22:08:01 +0800</pubDate><description><![CDATA[一.常规输入：回车、Yes/No等

    1.cat + 文件 + 管道符


			
cat commend.txt | apt-get install ssh
			
		

    2.echo + 管道符


			
echo -e "Y" | apt-get remove ssh
			
		


			echo -e 处理转义字符
			
		    3.expect

安装：




			
sudo apt-get install expect
			
		编...]]></description><category></category></item><item><title><![CDATA[lcov覆盖率进阶：提高分支覆盖率技巧]]></title><link>https://blog.youkuaiyun.com/qq_36614557/article/details/120714122</link><guid>https://blog.youkuaiyun.com/qq_36614557/article/details/120714122</guid><author>qq_36614557</author><pubDate>Mon, 11 Oct 2021 23:34:16 +0800</pubDate><description><![CDATA[行覆盖率

1.std::string/std::vector默认初始化导致行覆盖不上，请使用有参数初始化。

即


std::string camera_model_name;//不能行覆盖
 
std::vector&lt;double_t&gt; r_s2b_vec;//不能行覆盖

std::string camera_model_name{""};//行覆盖，但产生两个分支，仅覆盖1个
 
std::vector&lt;double_t&gt; r_s2b_vec{0LU};//行覆盖，但产生两]]></description><category></category></item><item><title><![CDATA[c++获取项目路径的两种方式]]></title><link>https://blog.youkuaiyun.com/qq_36614557/article/details/120713808</link><guid>https://blog.youkuaiyun.com/qq_36614557/article/details/120713808</guid><author>qq_36614557</author><pubDate>Mon, 11 Oct 2021 23:15:57 +0800</pubDate><description><![CDATA[在某些特定的条件运行时不能使用局部地址，例如ci流程等，这就要求读取文件时必需使用全局地址，但是在项目路径不定的情况下很难知道某个文件的全局地址，目前存在两种获取项目路径的方式，其中一种更适用于ci流程。

一、Cmake传参：适用于简单场景

在Cmake中，很容易知道项目的地址，例如


${PROJECT_SOURCE_DIR}


可以在cmakelists中，将该值赋值给变量，例如MAIN_PATH：


set(MAIN_PATH ${PROJECT_SOURCE_DIR})

然后新建xxx.]]></description><category></category></item><item><title><![CDATA[lcov分支覆盖率的分析和总结]]></title><link>https://blog.youkuaiyun.com/qq_36614557/article/details/120588237</link><guid>https://blog.youkuaiyun.com/qq_36614557/article/details/120588237</guid><author>qq_36614557</author><pubDate>Tue, 05 Oct 2021 15:14:37 +0800</pubDate><description><![CDATA[覆盖率显示规则：一行从左到右分别万代表：1.代码行号（空白代表分支显示不过来产生换行）

2.分支覆盖情况 3.该行调用次数 4.该行源代码以及行覆盖情况

其中，分支覆盖情况详细介绍如下：

中括号代表生成的一对子分支，+代表该子分支被覆盖，-代表该子分支未覆盖，但对应的另一分支被覆盖，#代表两个子分支均未被覆盖。

以if(condition)为例，如果该condition没有子条件，即不是其他条件"与"、"或"产生，那么会产生两个分支，即condition == true 和 condition ==]]></description><category></category></item><item><title><![CDATA[lcov使用文档]]></title><link>https://blog.youkuaiyun.com/qq_36614557/article/details/120264262</link><guid>https://blog.youkuaiyun.com/qq_36614557/article/details/120264262</guid><author>qq_36614557</author><pubDate>Mon, 13 Sep 2021 12:01:53 +0800</pubDate><description><![CDATA[1.安装到usr/local下


git clone https://github.com/linux-test-project/lcov.git
cd lcov
sudo make install

直接在主目录make。

2. 简易使用

2.1 在待测试覆盖率的项目CmakeLists.txt链接lcov：

添加


set(CMAKE_CXX_FLAGS "-g -O0 -Wall -fprofile-arcs -ftest-coverage") 

或


        set(CMAKE]]></description><category></category></item><item><title><![CDATA[gtest/gmock 安装和使用]]></title><link>https://blog.youkuaiyun.com/qq_36614557/article/details/120263863</link><guid>https://blog.youkuaiyun.com/qq_36614557/article/details/120263863</guid><author>qq_36614557</author><pubDate>Mon, 13 Sep 2021 11:45:20 +0800</pubDate><description><![CDATA[gtest :

google 开源的跨平台C++单元测试框架，是为在不同平台上为编写C++测试而生成的。它提供了丰富的断言、致命和非致命判断、参数化、”死亡测试”等等。

不推荐将gtest直接安装到/usr/local下，当多个项目的gtest有不同配置时，将会产生难以debug的问题。

所以官方推荐将gtest作为每个项目的子项目单独管理。

用起来和普通的库差不多，只需要设置

include &amp; 修改 main 文件
	指定 头文件 源文件 目录
	指定 连接的库
安装方式1：作为独立项]]></description><category></category></item><item><title><![CDATA[百度提前批 C++/PHP/GO工程师 一面/二面/三面（自动驾驶基础架构部）]]></title><link>https://blog.youkuaiyun.com/qq_36614557/article/details/119862942</link><guid>https://blog.youkuaiyun.com/qq_36614557/article/details/119862942</guid><author>qq_36614557</author><pubDate>Tue, 24 Aug 2021 13:27:42 +0800</pubDate><description><![CDATA[部门：自动驾驶基础架构部

一面时间：2021.8.13 15.00-16.00

因为在自动驾驶momenta实习，所以没有问八股文。自我介绍后，先是让我讲一个做的比较久的或者印象比较深刻的项目，我就讲了下大学做的那个学生成绩排名预测的项目，然后面试官提出了几个问题，主要包括：数据的分类、为什么这么提取特征、为什么降到这个维度是最好的、是否模型上有优化、这个项目的意义。

之后聊了下关于实习期间所做的几件事，包括现在主要开发的项目的细节。

coding1：两个有序顺序链表的合并，合并完依然有序。

co]]></description><category></category></item><item><title><![CDATA[百度提前批 C++/PHP/GO工程师 一面（小度）]]></title><link>https://blog.youkuaiyun.com/qq_36614557/article/details/119354473</link><guid>https://blog.youkuaiyun.com/qq_36614557/article/details/119354473</guid><author>qq_36614557</author><pubDate>Tue, 03 Aug 2021 20:58:21 +0800</pubDate><description><![CDATA[网页版声音断断续续

new 和malloc区别

红黑树和平衡二叉树

四种cast

内存管理机制

全局静态和局部静态

线程和进程

数据库的隔离级别

TCP确保发送的机制

单例模式

软件开发模式



题目：两数之和和两数之和plus

实习的工作
...]]></description><category></category></item><item><title><![CDATA[C++ 子类父类的相互转换]]></title><link>https://blog.youkuaiyun.com/qq_36614557/article/details/119283085</link><guid>https://blog.youkuaiyun.com/qq_36614557/article/details/119283085</guid><author>qq_36614557</author><pubDate>Sun, 01 Aug 2021 01:35:42 +0800</pubDate><description><![CDATA[我们都知道，实现子类到父类的转换比较简单，但如何实现父类到子类的转换呢？

现有一个场景如下，假设我有一个类，里边存有海量的数据作为成员变量，例如cv::Mat等等，占用内存大小较大，可能以M或G计，我们想要对其的若干个对象操作，例如排序等等，该操作仅会使用他的部分成员变量，比如时间戳（double）、类型（字符串）、大小(size_t)等等，并且这些成员变量占内存较小，如果直接使用该类进行操作，那么频繁地交换、储存临时变量将占内存比较大，其中一个思路是将其改造为子类，其父类仅有需要进行操作的成...]]></description><category></category></item><item><title><![CDATA[C++ 万能指针void *实现任意类型的数据存储（下）]]></title><link>https://blog.youkuaiyun.com/qq_36614557/article/details/119157445</link><guid>https://blog.youkuaiyun.com/qq_36614557/article/details/119157445</guid><author>qq_36614557</author><pubDate>Wed, 28 Jul 2021 01:17:31 +0800</pubDate><description><![CDATA[有抖音总共20秒的视频分成三段内味了。

好的，书接上文，如果传入的T data，本身是个临时对象，或者智能指针等等，有可能传过来不久就病逝了，那么咱们的void *指针就有问题了。

也没想到好的思路，暂时的唯一的解法就是拷贝一份数据data_copy，然后咱们咱们管理这个data_copy就可以了，data要死要活和咱噎没关系了，为了方便管理，同时把普通指针升级到智能指针。

那么怎么拷贝任意类型的数据呢？

在这里分三种情况，也可以看作是两种。对于普通变量，或者是对象，直接data_copy=data]]></description><category></category></item><item><title><![CDATA[C++ 万能指针void *实现任意类型的数据存储（上）]]></title><link>https://blog.youkuaiyun.com/qq_36614557/article/details/119156412</link><guid>https://blog.youkuaiyun.com/qq_36614557/article/details/119156412</guid><author>qq_36614557</author><pubDate>Wed, 28 Jul 2021 00:40:43 +0800</pubDate><description><![CDATA[这几天，在设计任意类型的数据存储、管理类时，被一个问题卡住了很久，即如何设计一个类，任意类型可以转化到它，并且它也可以根据需要转回去呢？

   后者好说，前者猛地一看，这不用template就搞定了吗，然而，并没有这么简单。比如我们用类模板T作用于我们的类，假设叫Data，任意类型的数据存在变量data中：


template &lt;class T&gt;
class Data {
public:
   ...
private:
   T data;
};

但是，这样做，...]]></description><category></category></item><item><title><![CDATA[剑指 Offer 14- 剪绳子 I 、II 的快速数学分析]]></title><link>https://blog.youkuaiyun.com/qq_36614557/article/details/118875535</link><guid>https://blog.youkuaiyun.com/qq_36614557/article/details/118875535</guid><author>qq_36614557</author><pubDate>Sun, 18 Jul 2021 18:19:39 +0800</pubDate><description><![CDATA[原题链接：剑指 Offer 14- I. 剪绳子剑指 Offer 14- II. 剪绳子 II

给你一根长度为 n 的绳子，请把绳子剪成整数长度的 m 段（m、n都是整数，n&gt;1并且m&gt;1），每段绳子的长度记为 k[0],k[1]...k[m-1] 。请问 k[0]*k[1]*...*k[m-1] 可能的最大乘积是多少？例如，当绳子的长度是8时，我们把它剪成长度分别为2、3、3的三段，此时得到的最大乘积是18。

示例 1：

输入: 2
输出: 1
解释: 2 = 1 + 1, 1 × 1.]]></description><category></category></item><item><title><![CDATA[windows R语言 生物序列分析（一） 环境安装]]></title><link>https://blog.youkuaiyun.com/qq_36614557/article/details/113381772</link><guid>https://blog.youkuaiyun.com/qq_36614557/article/details/113381772</guid><author>qq_36614557</author><pubDate>Mon, 12 Jul 2021 10:49:05 +0800</pubDate><description><![CDATA[1.R（https://cran.r-project.org/bin/windows/base/old/3.6.3/R-3.6.3-win.exe）

为了确保之后的各种包能正常使用，这里使用3.6.3版本，过早或过新一些包都不会支持（比如amplicon）。



其他默认即可。

如果已有Rstudio，但R版本不同，需要切换版本，（比如目前是4.0.3），点击Rstudio菜单栏的Tools-&gt;Global Options:



点击General的R version的charge按钮，


]]></description><category></category></item><item><title><![CDATA[C++ MD5判断两个文件夹下的文件是否相等]]></title><link>https://blog.youkuaiyun.com/qq_36614557/article/details/118194641</link><guid>https://blog.youkuaiyun.com/qq_36614557/article/details/118194641</guid><author>qq_36614557</author><pubDate>Thu, 24 Jun 2021 19:31:52 +0800</pubDate><description><![CDATA[根据需求，写了个简易版的类MD5er，一个类相当于对应一个文件夹，用来判断两个文件夹下的文件是否相等[暂不能读取目录下的子目录下的内容]，主要函数包括：

1.MD5er(str)：初始化实例，将文件夹地址设置为str。

2.GetFileName()：获取文件夹下的所有文件名。

3.CodeMd5()：对每个文件名生成对应的Md5码。

4.get_file_md5(str) [别处copy过来的]：根据输出的字符串（文件名），计算MD5。

6.一个==的运算符重载，用于判断两个MD5er的实例，也]]></description><category></category></item><item><title><![CDATA[番外篇：研究生心得：研二篇（三）]]></title><link>https://blog.youkuaiyun.com/qq_36614557/article/details/117896178</link><guid>https://blog.youkuaiyun.com/qq_36614557/article/details/117896178</guid><author>qq_36614557</author><pubDate>Mon, 14 Jun 2021 08:31:24 +0800</pubDate><description><![CDATA[好久没更博客了，是因为最近新干货太少，技术上没有创新，也没有太多进展，但最近经历里些许，抑或能够拿出来和大家分享分享。

上回书说道，四月中旬实习受阻，是去是留难做决断。
]]></description><category></category></item></channel></rss>