- 博客(344)
- 收藏
- 关注
原创 【程序是怎样跑起来的】第3章:计算机进行小数运算时出错的原因
像1011.0011这样带小数点的表现形式,完全是纸面上的二进制数表现形式,在计算机内部是无法使用的。那么,实际上计算机是以什么样的表现形式来处理小数的呢?很多编程语言中都提供了两种表示小数的数据类型,分别是双精度浮点数和单精度浮点数。双精度浮点数类型用64位、单精度浮点数类型用32位来表示全体小数1^11。浮点数2^22是指用符号、尾数、基数和指数这四部分来表示的小数(图3-3)。因为计算机内部使用的是二进制数,所以基数自然就是2。
2025-08-31 10:36:50
505
原创 【论文阅读】FlowNet:Learning Optical Flow with Convolutional Networks
CNN在CV的许多领域得到了广泛的应用。其被应用于图像分类、语义分割、基于单张图像的深度估计等。在本文中,我们训练了一个端到端的CNN网络,以从一对图像中预测出光流场。光流估计即需要精确定位每个像素,同时也需要找到两张输入图像之间的对应关系。这不仅涉及对图像表征的学习,还涉及学习在两幅图像中的不同位置去匹配这些特征。在这方面,光流估计和之前的那些基于CNN的应用有着本质的不同。
2025-08-31 10:34:39
546
原创 【C++基础】第七十五课:[重载运算与类型转换]基本概念
当运算符被用于类类型的对象时,C++语言允许我们为其指定新的含义;同时,我们也能自定义类类型之间的转换规则。和内置类型的转换一样,类类型转换隐式地将一种类型的对象转换成另一种我们所需类型的对象。当运算符作用于类类型的运算对象时,可以通过运算符重载重新定义该运算符的含义。
2025-08-31 10:32:53
293
原创 【OpenCV基础】第三十九课:SURF特征检测
SURF讲解:【论文阅读】SURF:Speeded Up Robust Features。参数详解:想要获取最新文章推送或者私聊谈人生,请关注我的个人微信公众号:⬇️x-jeff的AI工坊⬇️个人博客网站:https://shichaoxin.comGitHub:https://github.com/x-jeff
2025-08-30 10:33:52
317
原创 【Python基础】第四十四课:SVD
请见:【数学基础】第十七课:奇异值分解。使用【数学基础】第十七课:奇异值分解中的例子:B=PDQT=[12−12012120001][200000][12−121212]T=[111100]B=PDQ^T=\begin{bmatrix} \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} & 0 \\ \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} & 0 \\ 0 & 0 & 1 \\ \end{bmatrix} \begin{bmatrix}
2025-08-30 10:31:01
304
原创 【C++基础】第七十三课:[拷贝控制]动态内存管理类
/类vector类内存分配策略的简化实现public:StrVec() : elements(nullptr), first_free(nullptr), cap(nullptr) { } //allocator成员进行默认初始化//拷贝构造函数//拷贝赋值运算符~StrVec();//析构函数//拷贝元素// ...private://分配元素//被添加元素的函数所使用//工具函数,被拷贝构造函数、赋值运算符和析构函数所使用//销毁元素并释放内存。
2025-08-23 11:11:55
838
原创 【机器学习基础】第四十四课:[特征选择与稀疏学习]子集搜索与评价
【机器学习基础】系列博客为参考周志华老师的《机器学习》一书,自己所做的读书笔记。
2025-08-23 11:10:16
760
原创 【论文阅读】Deep High-Resolution Representation Learning for Visual Recognition
HRNet
2025-08-18 20:11:39
1357
原创 【程序是怎样跑起来的】第2章:数据是用二进制数表示的
二进制的基数为2,图2-3中的202122202122...称为位权。数字的位数不同,位权也不同。同理,十进制的基数为10。
2025-08-17 15:05:02
759
原创 【C++基础】第七十课:[拷贝控制]拷贝控制和资源管理
对于行为类似指针的类,我们需要为其定义拷贝构造函数和拷贝赋值运算符,来拷贝指针成员本身而不是它指向的string。我们的类仍然需要自己的析构函数来释放接受string参数的构造函数分配的内存。但是,在本例中,析构函数不能单方面地释放关联的string。只有当最后一个指向string的HasPtr销毁时,它才可以释放string。令一个类展现类似指针的行为的最好方法是使用shared_ptr来管理类中的资源。拷贝(或赋值)一个shared_ptr会拷贝(赋值)shared_ptr所指向的指针。
2025-08-17 15:03:13
1133
原创 【OpenCV基础】第三十八课:Haar特征
Haar特征(Haar-like feature)是用于物体识别的一种数字图像特征。它们因为与Haar小波转换(Haar wavelet)极为相似而得名,是第一种即时的人脸检测运算。Haar小波转换是由数学家Alfréd Haar于1909年提出的,是小波变换中最简单的一种变换,也是最早提出的小波变换。历史上,直接使用图像的强度(就是图像每一个像素点的RGB值)使得特征的计算强度很大。
2025-08-17 15:01:47
1124
原创 【C++基础】第六十九课:[拷贝控制]拷贝、赋值与销毁
在新标准下,我们可以通过将拷贝构造函数和拷贝赋值运算符定义为删除的函数(deleted function)来阻止拷贝。删除的函数是这样一种函数:我们虽然声明了它们,但不能以任何方式使用它们。//使用合成的默认构造函数//阻止拷贝//阻止赋值//使用合成的析构函数//其他成员=delete通知编译器(以及代码读者),我们不希望定义这些成员。与=default不同,=delete必须出现在函数第一次声明的时候。
2025-08-16 11:44:17
1078
原创 【Python基础】第四十三课:PCA
想要获取最新文章推送或者私聊谈人生,请关注我的个人微信公众号:⬇️x-jeff的AI工坊⬇️。输出主成分的可解释程度,一般会选择可解释度大于1的主成分。
2025-08-16 11:40:54
222
原创 【C++基础】第六十八课:[动态内存]使用标准库:文本查询程序
我们以TextQuery类的定义开始。用户创建此类的对象时会提供一个istream,用来读取输入文件。这个类还提供一个query操作,接受一个string,返回一个QueryResult表示string出现的那些行。设计类的数据成员时,需要考虑与QueryResult对象共享数据的需求。QueryResult类需要共享保存输入文件的vector和保存单词关联的行号的set。
2025-08-16 11:39:54
574
原创 【C++基础】第六十六课:[动态内存]动态内存与智能指针
现在我们先定义一个管理string的类,此版本命名为StrBlob。实现一个新的集合类型的最简单方法是使用某个标准库容器来管理元素。采用这种方法,我们可以借助标准库类型来管理元素所使用的内存空间。在本例中,我们将使用vector来保存元素。但是,我们不能在一个Blob对象内直接保存vector,因为一个对象的成员在对象销毁时也会被销毁。例如,假定b1和b2是两个Blob对象,共享相同的vector。
2025-08-09 11:00:06
892
原创 【OpenCV基础】第三十七课:积分图计算
积分图(Integral Image)的定义:取图像左上侧的全部像素计算累加和,并用这个累加和替换图像中的每一个像素,使用这种方式得到的图像称为积分图像。Ixyx′⩽xy′⩽y∑ix′y′积分图又称总和面积表(summed area table,简称SAT),是一个快速且有效的对一个网格的矩形子区域中计算和的数据结构和算法。积分图可以只遍历一次图像即可有效的计算出来,其通常被用来加速计算过程。
2025-08-08 21:16:33
1016
原创 【Python基础】第四十二课:特征筛选
我们对如下数据进行处理,customer_behavior.csv:前四列为属性,第五列为标签。可以看到我们把属性“bachelor”过滤掉了,说明其不是一个重要的特征。通过计算每个属性的方差,将方差小于阈值(默认是0)的属性过滤掉。
2025-08-08 21:13:01
293
原创 【C++基础】第六十三课:[关联容器]关联容器概述
关联容器(有序的和无序的)都支持【C++基础】第五十一课:[顺序容器]容器库概览中介绍的普通容器操作(见表9.2)。关联容器不支持顺序容器的位置相关的操作,例如push_front或push_back。原因是关联容器中元素是根据关键字存储的,这些操作对关联容器没有意义。而且,关联容器也不支持构造函数或插入操作这些接受一个元素值和一个数量值的操作。除了与顺序容器相同的操作之外,关联容器还支持一些顺序容器不支持的操作和类型别名。此外,无序容器还提供一些用来调整哈希性能的操作。关联容器的迭代器都是双向的。
2025-08-06 21:11:41
1017
原创 【OpenCV基础】第三十六课:SIFT特征检测
SIFT全称为。SIFT特征在面对图像缩放或者图像旋转时具有不变性,并且在亮度改变和3D视野下,也具有部分的不变性。此外,这一特征对遮挡、杂乱以及噪声有一定的抵抗能力。
2025-07-28 19:13:24
1108
原创 【相机标定】张正友标定法
相机标定方法有:传统相机标定法、主动视觉相机标定方法、相机自标定法、零失真相机标定法等。这些标定方法的目的就是求出相机的内参、外参和畸变系数。本文即将要介绍的是张正友相机标定法。张正友相机标定法是张正友教授在1998年提出的基于单平面棋盘格的相机标定方法。该方法介于传统标定法和自标定法之间,但克服了传统标定法需要高精度三维标定物的缺点,而仅需使用一个打印出来的棋盘格就可以。同时相对于自标定法而言,提高了精度,便于操作。因此张氏标定法被广泛应用于计算机视觉方面。在相机标定时,我们通常假设倾斜因子(skew f
2025-07-28 19:06:08
1050
原创 【Python基础】第四十一课:聚类算法实战---找出文章主题
网络爬虫相关知识请见:【Python基础】第八课:网络爬虫。我们最终爬取了500条新闻的标题,链接和内容(前6条见下):首先安装结巴分词:。👉加载要用的包:👉读取收集到的新闻数据:👉使用jieba分词:👉建立词频矩阵:500条新闻通过jieba分词一共得到38318个不重复的词语。矩阵X统计了每个词语在每条新闻中出现的频次。接下来通过一个例子说明下的用法:可以查看文本有哪些词汇,按首字母排序(去重之后):返回文本中每个单词(去除重复)的索引:输出每条文本中单词的词频:输出为:👉
2025-07-27 11:42:29
334
原创 【C++基础】第五十八课:[泛型算法]定制操作
我们可以向一个算法传递任何类别的可调用对象(callable object)。对于一个对象或一个表达式,如果可以对其使用调用运算符,则称它为可调用的。即,如果e是一个可调用的表达式,则我们可以编写代码e(args),其中args是一个逗号分隔的一个或多个参数的列表。到目前为止,我们使用过的仅有的两种可调用对象是函数和函数指针。重载了函数调用运算符的类,以及lambda表达式(lambda expression)。一个lambda表达式表示一个可调用的代码单元。我们可以将其理解为一个未命名的内联函数。
2025-07-27 11:41:26
663
原创 【相机标定】相机标定原理
在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定(或摄像机标定)。无论是在图像测量或者机器视觉应用中,相机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性。因此,做好相机标定是做好后续工作的前提,提高标定精度是科研工作的重点所在。👉焦点,在几何光学中有时也称为像点,是
2025-07-27 11:39:21
1248
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人