- 博客(43)
- 收藏
- 关注
原创 Python计算机视觉编程 第十章
其中的read() 方法解码并返回下一视频帧,第一个变量 ret 是一个判断视频帧是否成功读入,第二个变量是实际读入的图像数组。网上查询之后发现是因为cv2.SURF()的问题,需要将其修改为cv2.xfeatures2d.SIFT_create(),之后再次执行就可以运行了。首先是需要建立一个跟踪类,用一个文件名列表对跟踪对象进行初始化,在利用一个变量对当前帧进行跟踪。对于相邻帧间的小运动以及短时间跳跃是一个很好的模型。当关闭打开的视频窗口之后,会在控制台输出一个视频帧的帧数、 帧高、帧宽和颜色通道数。
2024-09-07 20:54:39
645
原创 Python计算机视觉编程 第九章
通过修改不同的阈值可以得到不同的结果,最上面一幅图为阈值为0.4得到的结果,中间的图为阈值为0.6得到的结果,最下面一幅图为阈值为0.8得到的结果。从图像像素和像素的近邻创建一个图并引入一个能量或“代价”函数,可以利用图割方法将图像分割成两个或多个区域。除了像素节点外,还需要两个特定的节点——“源”点和“汇”点,来分别代表图像的前景和背景。边可以是有向的(或无向的,并且可能有与它们相关联的权重。上图为对一张手势图进行聚类分割的图片,下面一张图是在这个聚类分割过程中图相似矩阵的4个特征向量显示为图片的结果。
2024-09-03 14:51:24
587
原创 Python计算机视觉编程 第八章
classify() 方法的作用是计算数据点构成的数组的类概率,并选概率最高的那个类,最终返回预测的类标记及概率值。在使用是,有加上参数"-t 2",其代表的是使用径向基函数,一共有4中核函数,其中0表示线性函数,1表示多项式函数,3表示使用sigmoid函数。其中分类正确的点采用的是星号来表示,分类错误的点使用的是圆圈,不同的颜色表示不同的类别,其中的曲线是分类的边界。对于数独的问题,其中包含10个类别,分别为1,·····,9以及什么都没有的单元格,将什么都没有的单元格标号为0。
2024-09-01 09:54:34
782
原创 Python计算机视觉编程 第七章
上面的第一个函数会给出包含特定单词的所有图像 id 号,第二个函数从图像单词直方图的非零项创建单词 id 列表,检索每个单词获得候选集并将其合并到 candidates 列表中,然后创建一个元组列表每个元组由单词 id 和次数 count 构成,其中次数 count 是候选列表中每个单词出现的次数。下面的第一个函数是获得搜索的前 4 个结果,并计算分数,该分数为上评价搜索性能常采用的评价方式。点击一幅图像进行查询,会显示出搜索出来的前几幅图像,在搜索出来的图像中单击某图像可以开始新的查询。
2024-08-27 10:21:17
859
原创 Python计算机视觉编程 第六章
其次对于给定的不同的阈值,可以直接利用原来的树,而不需要重新计算。该代码首先创建一个包含叶节点的列表,然后根据选择的距离度量方式将距离最近的对归并到一起,返回的终节点即为树的根。谱聚类方法是一种有趣的聚类算法,谱聚类是由相似性矩阵构建谱矩阵而得名的。计算 L 的特征向量,并使用 k 个最大特征值对应的 k 个特征向量,构建出一个特征向量集,从而可以找到聚类簇。其中用两两间的欧式距离创建矩阵 S,并对 k 个特征向量用常规的 K-means 进行聚类,K值为5。第二张图为使用第二个和第三个主成分得到的结果。
2024-08-23 10:38:41
562
原创 Python计算机视觉编程 第五章
在该立体重建算法中,我们将对于每个像素尝试不同的偏移,并按照局部图像周围归一化的互相关值,选择具有最好分数的偏移,然后记录下该最佳偏移。当照相机的位置如上设置,两幅图像具有相同的图像平面,图像的行是垂直对齐的,那么称图像对是经过矫正的。如果有一个场景的两个视图以及视图中的对应图像点,那么根据照相机间的空间相对位置关系、照相机的性质以及三维场景点的位置,可以得到对这些图像点的一些几何关系约束。上面的第一张图是照相机矩阵归一化的格式,其中的上半部分是估计出的照相机矩阵,下面为数据集的创建者计算出的照相机矩阵。
2024-08-19 10:25:16
689
原创 Python计算机视觉编程 第四章
OpenGL 使用 4×4 的矩阵来表示变换,照相机与场景的变换分成了两个矩阵,GL_PROJECTION 矩阵和GL_MODELVIEW 矩阵。由于我们需要限制旋转矩阵 R 为正定的(否则,旋转坐标轴即可),所以如果需要,我们可以在求解到的结果中加入变换T来改变符号。如果图像中包含平面状的标记物体,并且已经对照相机进行了标定,那么我们可以计算出照相机的姿态。R是描述照相机方向的旋转矩阵,t是描述照相机中心位置的三维平移向量,内标定矩阵K描述照相机的投影性质。这里使用的矩阵因子分解的方法称为RQ因子分解。
2024-08-14 09:39:29
871
原创 Python计算机视觉编程 第三章
要进行该实验首先需要生成一个对应的目标点的文件,这里使用的是ginput()函数手动选取的30个目标点并保存到txt文本文件中去。上述的实验为使用SIFT特征自动寻找匹配对应,使用可能的对应点集来自动找到用于全景图像的单应性矩阵。估计出图像间的单应性矩阵后,需要将所有的图像扭曲到一个公共的图像平面上。其次,通过修改代码中tp的值可以修改标记图片的位置,坐标tp是用齐次坐标意义下的坐标表示的。仿射扭曲的一个简单例子是将图像或者图像的一部分放置在另一幅图像中,使得它们能够和指定的区域或者标记物对齐。
2024-08-11 16:17:36
700
原创 Python计算机视觉编程 第二章
发现是因为使用VLFeat生成的对应的图片文件的sift特征文件里面内容为空,目前猜想的原因可能是在保存为sift文件时出现了错误,或者时对于VLFeat开源包的使用存在问题。兴趣点描述子是分配给兴趣点的一个向量,描述该点附近的图像的表观信息。将一幅图像中的特征匹配到另一幅图像的特征,一种准则是使用这两个特征距离和两个最匹配特征距离的比率,该准则保证能够找到足够相似的唯一特征。其中使用到了前面所编写的一些函数,imglist和featlist保存的是图像的列表和对应的生成的sift特征信息的列表。
2024-08-08 16:10:31
605
原创 Python计算机视觉编程 第一章
本章主要是对于计算机视觉中需要使用到的一些基本库的介绍,包括其作用和使用方法等。并给我们详细的举出了例子。通过对于这些例子进行实际操作的实验,可以更好的理解以及在实际的代码编写中去灵活的使用这些库以及相应的函数。I_xI_y。
2024-08-04 18:31:46
750
原创 机器学习 第十四章
机器学习最重要的任务是根据一些已观察到的证据来对感兴趣的未知变量进行估计和推测。概率模型是其中的一种描述框架,在概率模型中,利用已知变量推测出未知变量的分布称为推断,核心是如何基于可观测变量推断出未知变量的条件分布。生成式模型先对联合分布进行建模,从而再来求解后验概率;判别式模型则是直接对条件分布进行建模。概率图模型是一类用图来表达变量相关关系的概率模型。其图中的一个结点表示一个或一组随机变量,结点之间的边表示变量间的概率相关关系,即变量关系图。根据边的性质,可将概率图分为两类。
2024-07-31 16:42:31
964
原创 机器学习 第十二章
本章主要解释了机器学习的理论基础知识。其首先介绍了独立同分布下的泛化误差和经验误差。随后讨论了PAC学习的基本概念,即以较大概率学习出目标概念的近似假设。并对有限假设空间下的可行性从可分情形和不可分情形两个方面进行了分析。最后,稳定性概念将损失函数与假设空间的可学习性联系在一起。
2024-07-28 22:23:28
1010
原创 机器学习 第十一章
本章主要介绍了常用的特征选择方法及稀疏学习。首先介绍了特征选择的基本概念,包括子集搜索与评价、过滤式、包裹式和嵌入式四种方法。子集搜索与评价利用贪婪算法优化特征子集选择,过滤式方法通过相关统计量衡量特征重要性,包裹式方法以学习器评估特征,而嵌入式方法则将特征选择融入参数优化。最后,探讨了稀疏表示与压缩感知的核心概念,前者利用稀疏矩阵性质寻找原始矩阵的稀疏表示,后者则利用欠采样信息恢复全部数据。
2024-07-25 20:31:01
973
原创 机器学习 第十章
本章主要讲解了一些经典的降维技术和度量学习,降维是将原高维空间嵌入到一个合适的低维子空间中,接着在低维空间中进行学习任务;度量学习则是试图去学习出一个距离度量来等效降维的效果,两者都是为了解决维数灾难带来的诸多问题。
2024-07-22 09:59:37
1054
原创 机器学习 第九章
聚类是一种无监督学习方法,旨在将数据划分为相似度高的簇。评估聚类效果可用外部或内部指标。主要方法包括K均值、层次聚类、DBSCAN、谱聚类和高斯混合模型。在选择聚类算法的时候需要考虑数据特性和聚类目标。
2024-07-19 09:31:09
907
原创 机器学习 第五章
BP算法的目标是最小化训练集D上的累积误差,基于累积误差最小化的更新规则,就可以得到累积误差逆传播算法,即每次读取全部的数据集一遍,进行一轮学习,从而基于当前的累积误差进行权值调整,其参数更新的频率相比标准BP算法低了很多。基于梯度的搜索是使用最广泛的参数寻优方法,梯度下降法的主要思想就是沿着负梯度方向去搜索最优解,负梯度方向是函数值下降最快的方向,若迭代到某处的梯度为0,则表示达到一个局部最小,参数更新停止。机器学习中的神经网络指的是神经网络学习,即机器学习与神经网络两个学科领域的交叉部分。
2024-07-16 17:19:54
1028
原创 机器学习 第八章
本章主要介绍了集成相关的知识,集成学习是机器学习领域的一项重要技术,它通过组合多个基学习器来提升整体模型的性能。集成学习是一种机器学习范式,它通过构建并结合多个基学习器来完成学习任务。这些基学习器在单独使用时的性能可能不如最优的单一学习器,但通过某种策略将它们结合起来后,可以获得比单一学习器显著优越的泛化性能。这就是集成的目的之一。
2024-07-13 19:41:29
853
原创 机器学习 第七章
本章主要讲解了贝叶斯决策论基础、朴素贝叶斯分类器以及贝叶斯网络等核心概念。贝叶斯分类是一类基于贝叶斯定理的统计分类方法,其核心思想是利用先验知识和观测到的数据(即证据)来估计后验概率,从而做出最优的分类决策。
2024-07-12 10:49:47
656
原创 机器学习 第六章
本章详细的介绍了支持向量机的基本原理、优化方法、核函数应用以及扩展模型如SVR。SVM以其强大的分类能力和良好的泛化性能在机器学习领域得到了广泛应用。
2024-07-11 10:14:35
704
原创 机器学习 第四章
决策树是一种基本的分类与回归方法,它通过树状结构将特征空间划分为不同的类别区域或回归值。它的模型很直观并且易于我们去理解,其并不需要复杂的参数设置。广泛的应用于我们生活中的各个方面,比如医疗诊断和信誉评分等方面。
2024-07-09 17:17:16
671
原创 机器学习 第三章
本章主要对线性模型进行了讲解,它是机器学习中最基础也是应用最广泛的模型之一,其通过属性的线性组合来进行预测或分类。本章所讲的各种线性回归在不同的场景发挥着重要的作用,之后有对于类别不平衡问题提出了解决的方法。对这一章线性模型基础知识的学习,可以为后面更复杂的模型的学习打下基础。
2024-07-08 19:51:58
972
原创 机器学习 第一章
机器学习致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。它所研究的主要内容是关于在计算机上从数据中产生“模型”(model)的算法,即“学习算法”。
2024-07-06 08:44:16
634
原创 数字图像处理(第三版)学习笔记第十二章
本章主要介绍决策理论识别和结构方法两种模式识别方法,第一种方法处理的是使用定量描述子来描述的各种模式,例如长度、面积和纹理等;第二种方法处理的是由定性描述子来描述的各种模式。
2024-07-05 14:42:35
629
原创 数字图像处理(第三版)学习笔记第十一章
本章主要讲了如何将图像转化为可量化的特征,因为对于边界和区域的描述是图像处理中的前期步骤,这些描述将会构成图像处理下一步过程所需要的输入信息。需要通过这些可量化的特征来实现后续的功能。本章先讲了一些相关的技术的知识,然后讲了许多的描述子包括边界描述子和区域描述子,并对什么时候使用哪种描述子做出了讲解。
2024-07-04 09:41:40
1034
原创 UNetFormer网络结构介绍
GLTB构造了两个并行的分支来提取全局信息和局部信息,局部分支采用核大小为1和3的两个相互平行的卷积层来提取局部信息,接在在进行求和前进行两个批处理归一化操作。右边的是解码器部分,使用的是三个global-local Transformer blocks(全局-局部Transformer块),即GLTB和一个feature refinement head(FRH)来构建的一个基于Transformer的轻量的解码器。FF为融合特征,RF为ResBlock产生的特征,GLF是GLTB产生的特征。
2024-07-02 10:56:18
400
原创 数字图像处理(第三版)学习笔记第十章
本章主要讲解了图像分割相关的知识,首先就是图像分割任务所需要满足的条件以及图像分割的基本概念就是将图像划分为多个区域或提取感兴趣区域的过程。之后描述了实现图像分割的多种方法,主要为边缘检测、阈值处理、形态学分水岭和区域生长等方法。1%29+z_8+z_2+z_4+2z_2+2z_4+
2024-07-02 10:54:45
697
原创 数字图像处理(第三版)学习笔记第九章
本章介绍了形态学图像处理,用于从图像中提取和描述物体的形状特征。首先介绍了数学形态学的基本概念,它是一种用于分析图像几何结构的理论。其次就是基本的形态学运算,腐蚀和肿胀是形态学图像处理的基础,其互为对偶运算。开操作和闭操作也是互为对偶的。击中或击不中变换是形态学中的一种基本工具,用于检测图像中特定形状的模式。之后就是对于一些基本形态学算法的讲解,他们在图像处理的领域有着重要的使用价值,比如可以用于图像分割和形状识别等。最后把讲解的形态学算法扩展到了灰度级图像之中去。
2024-06-30 09:46:22
985
原创 数字图像处理(第三版)学习笔记第八章
本章主要讲解了图像压缩的一系列的方法以及数字图像水印的基本原理以及应用。首先开门见山的先为我们讲解了图像压缩一些相关的知识点,紧接着就是我们应当如何去实现图像压缩,以及对于常见的多种的编码方法进行了概述,并且还用许多的例子来方便我们去理解这些方法。i+j+
2024-06-28 10:11:32
618
原创 数字图像处理(第三版)学习笔记第六章
本章主要是讲解一些彩色图像的基础知识,为后面的各种图像处理奠定基础,方便后面的学习。同时也和前面的灰度级图像处理进行了关系,许多对于彩色图像的处理都是由灰度级图像处理延伸出来的。
2024-06-25 09:49:37
775
原创 数字图像处理(第三版)学习笔记第五章
本章为我们介绍了常见的一些噪声概率密度函数并让我们了解到怎么取估计一个噪声的参数,可以通过合理的恒定灰度值的一部分来估计PDF参数,通过归一化直方图的形状来确定最近的PDF匹配。接着就是对于消除噪声方法的举例,首先是消除加性噪声,可以采用滤波器的方法来进行消除,其中自适应滤波器的消除噪声效果比较好并且还可以减少图像出现失真的现象;接着就是对于周期噪声的消除,使用了前面所提到过的频率域技术来进行滤除。接着就是对于图像复原技术的讲解,主要是通过滤波技术来进行图像的复原。
2024-06-24 00:17:33
680
原创 数字图像处理(第三版)学习笔记第四章
在这一张里面,主要讲解了频率域滤波的基础的知识,它是在傅里叶级数的基础之上进行的,傅里叶级数和变换时进行这些操作基本的工具。傅里叶变换分为一维和二维的傅里叶变换,其各自有不同的性质。对于二维傅里叶变换的一些基本的性质需要我们去牢牢记住并会去使用它,这些性质在课本中都有对应的证明过程,游览这些证明过程可以帮助我们更好的去理解这些性质时干什么用的以及该用到什么地方去。其次就是对频率域滤波的基础之上进行了介绍以及如何使用频率域滤波器去平滑以及锐化图像。在平滑和锐化图像里面,有着许多公式的推导过程。
2024-06-22 09:06:44
1009
原创 数字图像处理(第三版)学习笔记第三章
对于本章的学习,着重点在于灰度变换和空间滤波,基本上所有的内容都是围绕这两块来进行讲解的。首先就是对于基础信息进行了讲解让我们了解到学习该领域需要先知道哪些知识,其次就是使用直方图来可视化灰度变换让我们更好的理解灰度变换。再者就是空间滤波,主要是使用模板进行操作,划分为线性和非线性两种滤波方式。
2024-06-17 23:07:12
930
原创 数字图像处理(第三版)学习笔记第二章
以上主要讲述了后面所需要讲解内容的背景知识,大部分为后续所需要使用到的一些基本的概念,比如图像的取样和量化的方法。大部分都是理论知识的讲解,有涉及到一些基本公式的使用但大多都比较简单。其次还了解到了图像的构成以及如何对图像进行操作。
2024-06-16 17:20:37
959
原创 数字图像处理(第三版)学习笔记第一章
数字图像处理方法的重要性的来源:其一为了改善图示信息以便人们解择;其二为了存储、传输和表示而对图像数据进行处理,以便于机器自动理解。第一章主要是对于整体内容进行一个系统性的介绍,详细的内容主要在后面的章节里面。
2024-06-15 11:16:42
676
原创 Java课程设计
Java课程设计——仿Windows计算器前言一、团队成员及分工二、项目git地址三、项目git的提交记录四、项目功能结构图以及UML图五、运行时的部分截图六、部分功能函数代码前言Java的期末课程设计一、团队成员及分工姓名分工郭宇豪功能函数编写张小荣GUI的设计,博客的编写二、项目git地址https://gitee.com/zzxsas/calculator-course-design?_from=gitee_search三、项目git的提交记录四、.
2022-01-11 12:10:03
2923
原创 互评作业五
一、 StudenDaoListImpl.java与StudentDaoArrayImpl.java有何不同?前一个是用列表的方式存储学生信息,后一个是用数组来存储学生信息。并且在查找和添加这两个方法不一样。二、StudentDao.java文件是干什么用的?为什么里面什么实现代码都没有?1.读写数据等一些接口。StudentDao.java文件是用于接口的声明。StudentDao.java文件中定义了一个名为StudentDao的接口,里面存放着三个方法声明。2.因为接口只规定了功能和使用方法,
2021-10-18 21:51:53
137
原创 简易购物车系统
购物车系统前言一、前期调查前言在经过了连续几周的Java学习之后,我对java的认识已由当初的对于这些和Java有关的知识什么都不懂,到现在已经初窥门径了,在老师及同学的指导下初步完成了购物车系统的实现,虽然还有着一些漏洞。团队介绍:一、前期调查提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。...
2021-10-07 16:14:39
1600
1
原创 第三周-自主学习任务-面向对象基础与类的识别
一、什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗?1.当一个方法需要初始化加载或者经常被调用的时候可以加上 static。2.没有用static修饰的成员方法,是实例成员方法,它可以直接使用静态和非静态的成员变量,也可以直接调用其他静态方法和非静态方法.3.不应该二、购物车案例中,使用了什么方法将问题描述中的类、方法、属性找出来?方法与属性到底属于哪个类,要怎么判定呢?1.找到案例中的动词和名词,对动词找方法
2021-09-24 08:39:08
108
原创 暑假作业3
暑假作业3前言一、编写一个Java程序并运行二、Eclipse中编写Java代码三、关系1.2.四、问题四和五五、回答前言在安装成功Java环境之后,我们就可以开始使用Eclipse编写Java代码了。一、编写一个Java程序并运行以下便是我用Eclipse编写的HelloWorld程序。二、Eclipse中编写Java代码1.使用记事本编写代码无法自动对齐代码,要自己来对齐,若不对齐会不太美观,而Eclipse则是可以自动对齐。2.记事本的代码的关键词要自己会拼写才能打出来,Eclip.
2021-09-04 12:05:54
137
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人