- 博客(22)
- 收藏
- 关注
原创 OpenCV摄像头人脸识别
人脸识别是计算机视觉领域最受欢迎的应用之一,广泛应用于安防监控、智能门禁、互动娱乐等场景。本文将通过Python和OpenCV库,实现一个简单的实时摄像头人脸识别程序。""" 向图片中添加中文 """if (isinstance(img, np.ndarray)): # 判断是否OpenCV图片类型img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) # 实现array到image的转换。
2025-04-03 16:34:42
737
原创 OpenCV人脸识别:从原理到实践
在计算机视觉领域,人脸识别技术一直是最受关注的应用之一。从手机解锁到机场安检,从社交平台自动标记到智能安防系统,这项技术正在深刻改变我们的生活。作为开源计算机视觉库的标杆,OpenCV为人脸识别提供了强大的工具支持。本文将带您深入浅出地了解OpenCV人脸识别的实现原理,并通过完整代码示例演示实际应用。通过OpenCV实现人脸识别既充满挑战又富有乐趣。随着OpenCV 4.x版本的持续更新,对深度学习模型的整合更加完善,开发者可以轻松构建从简单到复杂的人脸识别系统。
2025-04-01 21:54:20
861
原创 OpenCV图像处理:边缘检测
在计算机视觉的世界中,边缘检测如同人类视觉系统对物体轮廓的敏锐感知。它让机器能够从纷繁复杂的图像中提取关键的结构信息,成为目标识别、自动驾驶、医学影像分析等领域的基石。本文将深入浅出地解析边缘检测的核心原理、经典算法及其实际应用。边缘检测是图像处理中用于识别图像亮度急剧变化区域的技术。这些变化通常对应物体边界、纹理突变或光照差异,例如一张桌子与背景的分界线,或人脸与头发的轮廓。通过检测这些边缘,计算机能够将图像简化为线条组成的“骨架”,为后续分析(如物体识别)提供高效的数据基础。
2025-03-28 20:14:52
786
原创 OpenCV图像处理:图像形态学
图像形态学(Morphology)是数字图像处理领域的核心技术之一,源于数学形态学中的集合论思想。通过特定的结构元素(Kernel)与图像进行逻辑运算,可实现对图像形状的精细化控制,在计算机视觉任务中具有不可替代的作用。核心作用原理:结构元素作为"探测工具"在图像上滑动。通过逻辑运算改变目标区域的几何结构。能够保持主要形状特征的同时消除噪声。掌握OpenCV形态学操作需要理解数学原理与实践经验的结合。建议通过OpenCV官方文档深入理解每个参数的含义,并多尝试不同的结构元素组合。
2025-03-28 15:33:04
740
原创 OpenCV图像处理:图像平滑处理的几种方法
在图像处理中,平滑(或模糊)是一种常见的前处理技术,用于去除噪声、减少细节干扰,或为后续的边缘检测等任务做准备。OpenCV提供了多种平滑方法,每种方法都有其独特的适用场景。本文将详细介绍均值滤波、高斯滤波、中值滤波、双边滤波和方框滤波的原理及实现方法,并附Python代码示例。选择合适的平滑方法需考虑噪声类型、边缘保留需求和实时性要求。例如处理手机拍摄的低光照图像时,可先用高斯滤波降噪;而处理医学图像中的斑点噪声时,中值滤波可能是更优解。建议通过实验对比不同参数的效果,找到最佳平衡点。
2025-03-28 10:58:04
906
原创 Opencv图像处理:边界处理,阈值处理
OpenCV(Open Source Computer Vision Library)是一个功能强大的开源计算机视觉库,广泛应用于图像处理、视频分析、物体检测等领域。本文将重点介绍OpenCV中的两种常见图像处理技术:边界填充、阈值处理。通过这些技术,你可以更好地处理图像中的边缘、噪声以及对比度问题。本文介绍了OpenCV中的三种常见图像处理技术:边界填充、阈值处理。这些技术是图像处理的基础,广泛应用于去噪、边缘检测、图像分割等任务中。
2025-03-27 21:17:07
791
原创 OpenCV入门指南:从安装到基本操作
引言OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库。它包含了数百种计算机视觉算法,广泛应用于图像处理、视频分析、物体检测、人脸识别等领域。本文将带你从安装OpenCV开始,逐步了解其基本操作。本文介绍了OpenCV的基本安装和使用方法,包括图像的读取、图像的修改、图像的运算以及视频的处理。OpenCV功能强大,涵盖了计算机视觉的各个方面,希望本文能为你入门OpenCV提供帮助。
2025-03-27 20:25:53
751
原创 从关键词到权重:TF-IDF算法解析
在信息爆炸的时代,如何从海量文本中快速找到我们想要的信息?搜索引擎背后的核心技术之一就是TF-IDF算法。它如同一位经验丰富的图书管理员,能够精准地识别出每篇文章的关键词,并根据其重要性进行排序,从而帮助我们快速锁定目标信息TF-IDF算法作为一种简单而有效的关键词提取方法,在信息检索和文本挖掘领域发挥着重要作用。尽管存在一些局限性,但随着技术的不断发展,TF-IDF算法也在不断优化和改进,为我们提供更加精准和高效的信息检索服务。
2025-03-19 22:01:13
1407
原创 深入浅出DBSCAN:基于密度的聚类算法
在机器学习领域,聚类算法是一类重要的无监督学习算法,它能够将数据集中的样本划分为若干个簇,使得同一簇内的样本尽可能相似,而不同簇之间的样本尽可能不同。DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的聚类算法,它能够识别出任意形状的簇,并且能够有效处理噪声数据。DBSCAN算法是一种简单有效的聚类算法,它能够识别出任意形状的簇,并且能够有效处理噪声数据。然而,DBSCAN算法对参数敏感,并且难以处理高维数据。
2025-03-18 20:07:39
1123
原创 K-Means聚类算法:从原理到实践
在机器学习和数据挖掘领域,聚类算法是一种重要的无监督学习方法,用于将数据集中的样本划分为若干个簇,使得同一簇内的样本相似度高,而不同簇之间的样本相似度低。K-Means算法是其中最经典且广泛应用的聚类算法之一。本文将详细介绍K-Means算法的原理、实现步骤、优缺点以及实际应用场景。K-Means算法是一种基于距离的聚类算法,由J. MacQueen在1967年提出。其核心思想是通过迭代优化,将数据集划分为K个簇,使得每个簇内的样本点到簇中心的距离最小化。1.基本概念。
2025-03-13 21:49:50
964
1
原创 机器学习----朴素贝叶斯原理到应用
分类算法常用的有很多种,朴素贝叶斯算法是其中一个比较常用的,之所以称为朴素贝叶斯算法主要是因为该算法最基本的原理是基于贝叶斯定理的,称为朴素是因为该算法成立的前提是特征之间必须得是独立的。朴素贝叶斯(Naive Bayes)算法理论基础是基于贝叶斯定理和条件独立性假设的一种分类方法。朴素贝叶斯的算法精度不会太高,因为它更适用于自然语言处理,对数据处理方面效果不是特别好。
2025-03-12 20:19:11
906
原创 机器学习-----决策树
决策树通过递归地选择最优特征对数据集进行分割,最终生成一棵树状模型。每个节点代表一个特征的分裂规则,每个分支代表一个可能的特征值,叶节点则代表最终的预测结果(分类或回归值)。
2025-03-12 15:34:35
1769
原创 集成学习-----随机森林
x 把数据传递给基分类器进行训练;且基分类器都为决策树;数据采样随机;特征抽取随机。因为基分类器所使用的算法都为决策树,所以很形象的把这种方法称为随机森林。
2025-03-10 22:41:50
959
原创 机器学习中逻辑回归的原理
逻辑回归是一种简单但非常有效的分类算法,尤其适用于二分类问题。本文介绍了逻辑回归的基本原理,并通过一个简单的代码实例展示了如何使用Python实现逻辑回归。通过Scikit-learn库,我们可以轻松地构建、训练和评估逻辑回归模型。
2025-03-10 19:48:56
378
原创 机器学习之线性回归的简单介绍
回归是一种应用广泛的预测建模技术,这种技术的核心在于预测的结果 是连续型变量。直白点说,就是在图像上给你一堆点,你来找一条线,然后让这条线尽可能的在所有点的中间。这个找直线的过程,就是在做回归了。
2025-03-06 21:18:44
1219
2
原创 用CV2实现KNN算法
我们要把其中每一个小数字(20*20像素)切割出来,方便通过KNN算法让机器预测小数字的值。此图为要做处理的'123.png',该图格式为2000*1000像素;最终得到一个50行100列的单元格列表,每个单元格为20*20像素。= 3准确率会不会发生变化呢?代入别的k值去试试看吧!
2025-03-03 21:24:33
455
原创 机器学习KNN算法中sklearn的简单应用
k-nearest neighbors,通过寻找k个距离最近的数据,来确定当前数据值的大小或类别。是机器学习中最为简单和经典的一个算法。
2025-02-28 21:33:53
467
原创 常用的正则表达式元字符
这些元字符是正则表达式的基础,通过它们的组合和灵活运用,可以实现各种复杂的文本匹配、验证、提取和替换等操作。根据不同的编程语言和工具,在使用正则表达式时可能会有细微的差异,但这些基本元字符的功能大致相同。
2025-01-19 21:15:05
1056
原创 返回斐波那契数
F(n) = F(n-1) + F(n-2) (当n >= 2) 这时候我们要注意了前两个数要单独提出来。数列的定义是这样:第一个数是0,第二个数是1,从第三个数开始,每个数都是前两个数的之和。*步骤五:返回前n个斐波那契数(如果n小于2,返回的列表可能只有0或1个元素)*步骤三:从第三个元素开始i,(索引是2),生成直到第n个斐波那契数。#斐波那契数是由意大利数学家斐波那契,在1202年提出。*步骤二:初始化一个列表,包含斐波那契额数列的前两项。*步骤四:每一个新的斐波那契数是前两个数的和。
2025-01-15 19:53:00
190
原创 函数的综合运用
1.编写一个函数,在一个列表中找到所有和为指定值的数对。函数名为: find_pairs_with_sum;列表为:[1, 2, 3, 4, 5, 6];指定值:target = 7 * 步骤一:定义函数并初始化一个空列表和空集合。 * 步骤二:遍历列表中每个数字。 * 步骤三:计算补数,使得 x + y = target。* 步骤四:如果补数在集合 seen中,说明找到了一个和为target 数对;然后将这个数对添加到pairs列表中。* 步骤五:将当前数字添加到集合 seen
2025-01-14 21:05:14
552
原创 循环基础题
练习:取出列表内的偶数定义一个列表,内容是:[1,2,3,4,5,6,7,8,9,10] 遍历列表,取出列表内的偶数,并存入一个新的列表中。使用for循环和while循环各做一次。5.判断列表中的值除于2的值是否有余数。6.把list1中的元素添加到空列表中。结合While循环做法步骤,很快就出答案。1. 定义题目中的列表和一个空列表。7.循环一次 index+1。8.返回list2的值,并打印。4.当下标< 列表的长度。3.定义下标索引为0。
2025-01-13 21:40:14
515
原创 python基础for函数的运用
(3)打印星号,end= ' ' 为换行。(1)首先定义两个数值(图形的行和列)(2)运用 for 函数来遍历嵌套。2、打印出n行的字符三角形。1、打印出m行n列的图形。
2025-01-12 22:06:20
166
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人