x-jeff blog

Make progress every day.

【OpenCV基础】第三十九课:SURF特征检测

SURF,cv::xfeatures2d::SURF::create

本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.SURF特征检测 SURF讲解:【论文阅读】SURF:Speeded Up Robust Features。 2.API 1 2 3 4 5 6 7 static Ptr<SURF> cv::xfeatures2d::SURF::create( double hessianThreshold = 10...

【C++基础】第七十四课:[拷贝控制]对象移动

右值引用,左值引用,标准库move函数,移动构造函数,移动赋值运算符,noexcept,移动迭代器,make_move_iterator,引用限定符

【C++基础】系列博客为参考《C++ Primer中文版(第5版)》(C++11标准)一书,自己所做的读书笔记。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.对象移动 新标准的一个最主要的特性是可以移动而非拷贝对象的能力。在某些情况下,对象拷贝后就立即被销毁了。在这些情况下,移动而非拷贝对象会大幅度提升性能。使用移动而不是拷贝的另一个原因源于IO类或unique...

【Python基础】第四十四课:SVD

scipy.linalg.svd,sklearn.decomposition.TruncatedSVD

本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.SVD 请见:【数学基础】第十七课:奇异值分解。 2.使用SVD做矩阵还原 使用【数学基础】第十七课:奇异值分解中的例子: \[B=PDQ^T=\begin{bmatrix} \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} & 0 \\ \frac{1}{\sqr...

【C++基础】第七十三课:[拷贝控制]动态内存管理类

动态内存管理类

【C++基础】系列博客为参考《C++ Primer中文版(第5版)》(C++11标准)一书,自己所做的读书笔记。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.动态内存管理类 某些类需要在运行时分配可变大小的内存空间。这种类通常可以(并且如果它们确实可以的话,一般应该)使用标准库容器来保存它们的数据。 但是,这一策略并不是对每个类都适用:某些类需要自己进行内存分...

【机器学习基础】第四十四课:[特征选择与稀疏学习]子集搜索与评价

子集搜索与评价

【机器学习基础】系列博客为参考周志华老师的《机器学习》一书,自己所做的读书笔记。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.子集搜索与评价 我们能用很多属性描述一个西瓜,例如色泽、根蒂、敲声、纹理、触感等,但有经验的人往往只需看看根蒂、听听敲声就知道是否好瓜。换言之,对一个学习任务来说,给定属性集,其中有些属性可能很关键、很有用,另一些属性则可能没什么用。我们...

【C++基础】第七十二课:[拷贝控制]拷贝控制示例

拷贝控制示例

【C++基础】系列博客为参考《C++ Primer中文版(第5版)》(C++11标准)一书,自己所做的读书笔记。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.拷贝控制示例 虽然通常来说分配资源的类更需要拷贝控制,但资源管理并不是一个类需要定义自己的拷贝控制成员的唯一原因。一些类也需要拷贝控制成员的帮助来进行簿记工作或其他操作。 作为类需要拷贝控制来进行簿记操作...

【啊哈!算法】第五章:图的遍历

图的遍历,深度优先搜索,广度优先搜索

博客为参考《啊哈!算法》一书,自己所做的读书笔记。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.深度和广度优先究竟是指啥 深度和广度是针对图的遍历而言的,请见下图: 图由顶点和边组成。现在我们从1号顶点开始遍历这个图。使用深度优先搜索来遍历这个图将会得到如下的结果。 图中每个顶点右上方的数就表示这个顶点是第几个被访问到的,我们将这个数称为时间戳。 ...

【论文阅读】Deep High-Resolution Representation Learning for Visual Recognition

HRNet

本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.INTRODUCTION 深度卷积神经网络(Deep Convolutional Neural Networks,DCNNs)已经在计算机视觉领域内多种任务类型中达到了SOTA的结果,比如图像分类,目标检测,语义分割,人体姿态估计等。相比传统人工设计的representation,DCNNs的优势在于可以学到更丰富的r...

【C++基础】第七十一课:[拷贝控制]交换操作

自定义swap函数

【C++基础】系列博客为参考《C++ Primer中文版(第5版)》(C++11标准)一书,自己所做的读书笔记。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.交换操作 除了定义拷贝控制成员,管理资源的类通常还定义一个名为swap的函数。对于那些与重排元素顺序的算法一起使用的类,定义swap是非常重要的。这类算法在需要交换两个元素时会调用swap。 如果一个类定...

【程序是怎样跑起来的】第2章:数据是用二进制数表示的

二进制,移位运算,逻辑右移,算术右移

博客为参考《程序是怎样跑起来的》一书,自己所做的读书笔记。 本文为原创文章,未经本人允许,禁止转载。转载请注明出处。 1.用二进制数表示计算机信息的原因 👉第2章热身问答: 32位是几个字节? 因为8位=1字节,所以32位就是$32 \div 8 =4$字节。 二进制数01011100转换成十进制数是多少? ...