自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 收藏
  • 关注

原创 从0搭建卷积神经网络(CNN)--详细教学

卷积神经网络(CNN)是一种专门用于处理网格状数据(如图像、视频、音频)的深度学习模型。其核心思想是通过卷积操作自动提取数据的空间或时序特征,广泛应用于计算机视觉、自然语言处理等领域。经典CNN架构模型提出时间主要贡献应用场景LeNet-51998首个成功的手写数字识别CNNMNIST 分类AlexNet2012引入ReLU、Dropout,赢得ImageNet竞赛图像分类VGGNet2014深层的3x3卷积堆叠,结构简洁通用视觉任务ResNet2015残差连接解决深层网络梯度消失问题。

2025-02-11 21:11:23 1703

原创 《Opencv》图像的透视变换--处理发票

在计算机视觉领域,透视变换是一种常用的技术,用于将图像从一个视角转换到另一个视角。透视变换在图像处理中有着广泛的应用,例如在文档扫描、车牌识别、以及本文将要介绍的发票处理中。本文将详细介绍如何使用Python和OpenCV库对发票图像进行透视变换,并对其进行后续处理。

2025-01-20 09:21:40 539

原创 《Opencv》图像金字塔与采样

在图像处理中,图像金字塔是一种多尺度表示方法,通过对图像进行上采样和下采样,可以生成一系列不同分辨率的图像。这种技术广泛应用于图像缩放、图像融合、目标检测等领域。本文将介绍上采样和下采样的基本原理,并通过一个实际的代码示例,展示如何使用OpenCV实现图像的上下采样。下采样(Downsampling):将图像的分辨率降低,生成更小的图像。上采样(Upsampling):将图像的分辨率提高,生成更大的图像。高斯金字塔(Gaussian Pyramid):通过对图像进行高斯平滑和下采样生成。

2025-01-14 20:42:51 1109

原创 《Opencv》多对象模板匹配

模板匹配是计算机视觉中的一种常用技术,用于在一幅图像中查找与给定模板图像最相似的部分。它在目标检测、图像识别等领域有着广泛的应用。本文将介绍模板匹配的基本原理,并通过一个实际的代码示例,展示如何使用OpenCV实现模板匹配。本文介绍了模板匹配的基本原理,并通过一个实际的代码示例展示了如何使用OpenCV实现模板匹配。通过旋转模板图像和使用不同颜色的矩形框,我们可以实现多角度模板匹配,并直观地展示匹配结果。

2025-01-14 20:23:09 956

原创 《机器学习》之DBSCAN聚类

DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是基于密度的带噪声的空间聚类应用算法,它是将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域 划分为簇,并在噪声的空间数据集中发现任意形状的聚类。epsDBSCAN算法参数,即我们的ϵϵ-邻域的距离阈值,和样本距离超过ϵϵ的样本点不在ϵϵ-邻域内。默认值是0.5.一般需要通过在多组值里面选择一个合适的阈值。

2025-01-13 21:20:29 1212

原创 《机器学习》之K-means聚类

K-means聚类是一种无监督学习算法,用于将数据集划分为K个簇。其目标是将数据点分配到K个簇中,使得每个簇内的数据点尽可能相似,而不同簇之间的数据点尽可能不同。算法通过迭代更新簇中心和分配数据点,直到簇中心稳定。K-means简单高效,但需要预先指定K值,且对初始质心选择和噪声敏感。广泛应用于图像分割、市场细分等领域。类中心的个数,就是要聚成几类。【默认是8个】init参初始化的方法,默认为'k-means++'用一种特殊的方法选定初始质心从而能加速迭代过程的收敛.(2)

2025-01-13 20:43:57 1197

原创 《机器学习》自然语言处理之TF-IDF

自然语言处理(NLP)是人工智能领域的一个重要分支,旨在让计算机理解、处理和生成人类语言。在NLP中,语料库、分词和TF-IDF是三个非常基础且关键的概念。本文将详细介绍这些内容,并展示如何使用Python中的常见工具(如jieba库)来实现这些任务。语料库(Corpus)是指大量文本数据的集合,通常用于训练和测试自然语言处理模型。语料库可以是结构化的(如带有标注的文本)或非结构化的(如纯文本)。它是NLP任务的基础,几乎所有NLP任务(如分词、词性标注、情感分析等)都依赖于语料库。

2025-01-12 21:17:49 959

原创 《机器学习》之贝叶斯(Bayes)算法

贝叶斯算法起源于18世纪英国数学家托马斯·贝叶斯(Thomas Bayes)提出的贝叶斯定理,经过几个世纪的发展,逐渐成为统计学和机器学习中的重要工具。其核心原理是基于条件概率,通过先验知识和新观测数据相结合,计算后验概率,从而实现对事件概率的动态更新。常见的贝叶斯算法包括朴素贝叶斯分类器、贝叶斯网络、贝叶斯优化和贝叶斯滤波等。朴素贝叶斯分类器广泛应用于文本分类和垃圾邮件过滤;贝叶斯网络用于建模变量间的复杂概率关系;贝叶斯优化用于高效优化黑箱函数;贝叶斯滤波则在信号处理和机器人定位中发挥重要作用。

2025-01-09 21:38:29 1137

原创 《机器学习》集成学习之随机森林

集成学习是一种通过结合多个基学习器(Base Learners)来构建更强模型的机器学习方法。其核心思想是“三个臭皮匠,顶个诸葛亮”,即通过集成多个弱学习器的预测结果,可以获得比单一模型更好的泛化性能和鲁棒性。集成学习广泛应用于分类、回归和异常检测等任务。随机森林是一种基于集成学习的机器学习算法,属于Bagging(Bootstrap Aggregating)方法的一种。它通过构建多个决策树并将它们的结果进行集成,从而提高模型的准确性和鲁棒性。

2025-01-08 16:48:35 1147

原创 《Opencv》图像的旋转

np.rot90(img,-1) 后面的参数为-1时事顺时针旋转,为1时是逆时针旋转。

2025-01-07 22:17:10 426

原创 《Opencv》信用卡信息识别项目

项目的主要目标是实现信用卡号码和类型的识别。通过图像处理技术,从信用卡图像中提取出卡号,将每个数字与模板数字进行比对,从而得出信用卡号码。并根据卡号的第一位数字判断信用卡的类型。这个项目通过图像处理和模板匹配技术,实现了信用卡号码的自动识别。它展示了如何结合 OpenCV 和 Python 实现一个实用的图像处理应用。

2025-01-07 22:06:01 679

原创 《Opencv》基础操作详解(5)

轮廓近似是指使用多边形来近似轮廓的形状。这个过程可以减少轮廓的顶点数量,从而简化轮廓的表示。OpenCV提供了cv2.approxPolyDP函数来实现这一功能。轮廓的外接圆是指能够完全包围轮廓的最小圆。OpenCV 提了函数来计算轮廓的外接圆。轮廓的最小外接矩形是指能够完全包围轮廓的最小面积的矩形。这个矩形可以是任意角度的(即不一定是轴对齐的)。OpenCV 提供了函数来计算轮廓的最小外接矩形。

2025-01-06 20:27:12 994

原创 《机器学习》从入门到实战——决策树

决策树是一种常用的机器学习算法,广泛应用于分类和回归任务。它通过递归地将数据集划分为更纯的子集,构建树状结构来进行决策。每个内部节点表示一个特征或属性的测试,每个分支代表一个可能的测试结果,而每个叶节点则代表一个类别(分类任务)或一个值(回归任务)。决策树通过对训练样本的学习,并建立分类规则,然后依据分类规则,对新样本数据进行分类预测,属于有监督学习。

2025-01-05 21:15:11 1345

原创 《Opencv》基础操作详解(4)

Scharr 算子与 Sobel 算子的不同点是在平滑部分,其中心元素占的权重更重,相当于使用较小标准差的高斯函数,也就是更瘦高的模板。例如,基于轮廓的周长和面积对轮廓进行筛选,然后绘制筛选的目标轮廓或其最小外接矩形。Sobel算子包含2组3×3的矩阵,分别为横向和纵向模板,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。: 拉普拉斯核的大小,必须是正奇数(默认值为 1,表示使用最简单的 3x3 核)。: 输入的二值图像(通常是经过边缘检测或阈值处理后的图像)。: 轮廓的层次结构。

2025-01-03 20:45:27 1365

原创 机器学习代码中常用方法

SMOTE(Synthetic Minority Oversampling Technique,合成少数类过采样技术)通过生成新的少数类样本来平衡数据集,从而改善模型在少数类上的表现。混淆矩阵是评估分类模型性能的重要工具,它展示了模型预测结果与真实标签之间的对比情况,特别适用于二分类和多分类问题。如果数据集不平衡,准确率可能不是一个可靠的指标,应结合其他指标(如精确率、召回率、F1 分数)进行评估。实际为正类 (1) 的样本中,1 个被错误预测为负类 (FN),4 个被正确预测为正类 (TP)。

2025-01-02 21:18:36 1118

原创 《机器学习》从入门到实战——逻辑回归

机器学习中的逻辑回归是一种广泛使用的分类算法,尤其适用于二分类问题(也可以扩展到多分类问题)。它的核心思想是通过线性回归模型预测概率,然后使用逻辑函数(如 Sigmoid 函数)将概率映射到分类标签。逻辑回归是一种简单但强大的分类算法,适用于线性可分或近似线性可分的数据。通过标准化、正则化和交叉验证等技术,可以进一步提升其性能。尽管逻辑回归对非线性数据的拟合能力有限,但在许多实际应用中仍然表现出色。

2024-12-30 22:34:29 1480

原创 《机器学习》线性回归模型实现

【代码】《机器学习》线性回归模型实现。

2024-12-29 22:38:54 408

原创 《机器学习》从入门到实战——线性回归

线性回归是利用数理统计中回归分析,来确定两种或多种以上变量间相互依赖的定量关系的一种统计分析方法。相关关系:包含因果关系和平行关系因果关系:回归分析【原因引起结果,需要明确自变量和因变量】平行关系:相关分析【无因果分析,不区分自变量和因变量】工资(自变量)贷款额度(因变量)400010000800012000500080006000150007000?工资对贷款额度有多大影响?如何公平的评定工资的影响?极大似然估计是一种统计方法,用于估计模型参数。

2024-12-29 22:22:33 884

原创 《机器学习》KNN算法实现手写数字识别

通过对一张2000*1000像素写满0-9手写数字的图片进行处理。分割出训练集和测试集使用KNN算法进行训练并且预测测试集的标签。数据集是一张2000*1000像素的图片,有50行100列手写数字,其中每个手写数字占20*20的像素。将图片对半分割,左侧50列作为训练集,右侧50列作为测试集。当模型建立好后也可以自己传入手写数字图片进行预测。KNN算法是机器学习的入门算法,所以对初学者来说能够熟练运用对以后的学习有很大意义。虽然模型的正确率不高但对训练模型的学习过程很重要。

2024-12-27 21:28:15 1079 2

原创 《机器学习》从入门到实战——KNN算法

机器学习是人工智能的一个分支,专注于通过数据训练模型,使计算机能够从经验中学习并改进性能,而无需显式编程。其核心是让机器从数据中识别模式,并利用这些模式进行预测或决策。一句话概括就是:利用数学中的公式 总结出 数据中的规律。监督学习:使用带标签的数据训练模型,用于预测或分类。无监督学习:使用无标签的数据,发现数据中的结构或模式。强化学习:通过试错和奖励机制,训练模型在环境中做出最优决策。KNN(K-Nearest Neighbors,K近邻算法)是一种简单且常用的监督学习算法,主要用于分类和回归任务。

2024-12-26 20:39:49 1391

原创 《机器学习》数据预处理简介

数据预处理是机器学习中不可或缺的一步,它直接影响模型的性能和泛化能力。通过合理的数据清洗、特征工程和数据转换,可以提高模型的准确性和稳定性。数据预处理是机器学习中至关重要的一步,它直接影响模型的性能和效果。原始数据通常包含噪声、缺失值、不一致性等问题,因此需要通过预处理将其转化为适合模型训练的格式。将连续特征转换为离散特征(如将年龄分为“青年”、“中年”、“老年”)。数据清洗的目的是处理数据中的噪声、错误和不一致性。数据转换的目的是将数据转换为适合模型训练的格式。

2024-12-25 20:35:52 1230

原创 《Opencv》小练习--处理带有椒盐噪声的视频

【代码】《Opencv》小练习--处理带有椒盐噪声的视频。

2024-12-24 20:41:34 467

原创 《Opencv》基础操作详解(3)

均值滤波是一种简单的线性滤波方法,它通过计算图像中每个像素周围邻域的平均值来替代该像素的值。均值滤波器通常使用一个固定大小的窗口(如3x3、5x5等)在图像上滑动,窗口内的所有像素值的平均值作为中心像素的新值。中值滤波器通常使用一个固定大小的窗口在图像上滑动,窗口内的所有像素值按大小排序后,取中间值作为中心像素的新值。: 滤波器的大小,它是一个元组,表示在水平和垂直方向上的像素数量。滤波器的大小,它是一个整数,表示在水平和垂直方向上的像素数量。滤波核大小是指在滤波处理过程中所选择的邻域图像的高 度和宽度。

2024-12-24 20:36:55 1058

原创 《Opencv》基础操作详解(2)

注意:我们这里是显示单个通道的图像,但是所显示的图片确实灰色的,那是因为只显示单个通道时, 实际上是将单个通道作为亮度值,而将其他通道设置为默认的最大值,也就是255。:输出图像的大小,可以是一个元组,例如(宽,高),或者使用整数标量来缩放原始图像。就是在计算两幅图像的像素值之和时,将每幅图像的权重考虑进来,可以用公式表示为dst=src1×α+src2×β+γ。选中两张图片中大小相同的区域,将其中一个区域的数组赋值给另外一个图片相同的区域,就达到了图片区域替换的效果。src1、src2:输入的图像。

2024-12-23 20:38:02 1069

原创 《Opencv》基础操作详解(1)

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,广泛应用于图像处理、视频分析、物体检测、人脸识别、增强现实等领域。它提供了丰富的函数和工具,支持多种编程语言(如C++、Python、Java等),并且可以在不同的操作系统(如Windows、Linux、macOS等)上运行。

2024-12-23 19:47:00 1969

原创 MySQL基础操作(2)

可以连接多个字段,常用于生成组合字段。也可以用于比较字符串、日期等类型。:使用指定的分隔符连接多个字符串。:返回小于或等于指定值的最大整数。:返回大于或等于指定值的最小整数。:将多个字符串连接成一个字符串。:检查某个值是否在指定的范围内。:返回子字符串在字符串中的位置。如果子字符串不存在,返回 0。:用于对分组后的数据进行过滤。:用于比较两个值是否不相等。:用于比较两个值是否相等。:替换字符串中的指定内容。:检查某个字段是否不为。:去除字符串两端的空格。:用于连接两个或多个表。:用于模糊匹配字符串。

2024-12-17 21:24:16 724

原创 Python连接MySQL数据库教程

通过pymysql可以使用python语法对数据库进行处理,同时在用python做项目时可以借助MySQL对数据进行存储、调用数据等操作。

2024-12-17 20:06:12 409

原创 MySQL练习题

SELECT student.sno as 学号,student.sname as 姓名,sc.score as 分数 FROM sc JOIN student ON sc.sno=student.sno WHERE sc.cno='3-105' AND sc.score>(SELECT score FROM sc WHERE cno='3-105' AND sno=109);insert into teacher values('804','李成','男',42,'副教授','计算机系');

2024-12-16 22:17:40 563

原创 MySQL基础函数使用

在数据库操作中,函数是不可或缺的工具,它们可以帮助我们快速处理数据、转换格式、进行计算等。MySQL提供了丰富的内置函数,涵盖了字符串、日期、数值、转换等多种类型。本文将详细介绍MySQL中的基础函数使用方法,帮助你更好地理解和应用这些函数。

2024-12-16 22:12:02 781

原创 Mysql基础操作(1)

MySQL 是一个广泛使用的关系型数据库管理系统,适用于各种规模的应用程序。无论你是初学者还是有一定经验的开发者,掌握 MySQL 的基础操作都是非常重要的。本文将带你了解 MySQL 的基础操作,包括数据库和表的创建与删除,以及各种条件的查询。本文介绍了 MySQL 的基础操作,包括数据库和表的创建与删除,数据的插入、查询、更新和删除。掌握这些基础操作是使用 MySQL 的第一步,希望本文能帮助你快速上手 MySQL。

2024-12-15 22:22:38 923

原创 Shell语言基础语法(3)

Shell 脚本是一种强大的工具,广泛用于 Linux 系统中的自动化任务和脚本编写。本文将详细介绍 Shell 语言的基础知识,包括流程控制(if语句、case选择、while循环、for循环、select扩展)和函数(定义、调用、传参、返回值、局部变量、全局变量)。函数名() {命令函数名:函数的名称。():定义函数的参数列表(可以为空)。{}:函数体。本文详细介绍了 Shell 语言的基础知识,包括流程控制(if语句、case选择、while循环、for循环、select。

2024-12-12 21:12:53 1653

原创 Shell语言基础语法(2)

方式一:array=(元素1 元素2 元素3)array=(1 5 8 '你好')方式二:array=([key1]=value1 [key2]=value2 [key3]=value3)方式三:依次赋值方式四:利用执行命令的结果设置数组元素:array=($(命令)) 或者 array=(`命令`)该方式会将命令的结果以空格为分隔符切成多个元素然后赋值给数组关联数组【字典】:可以使用字符串作为数组索引,需要用declare -A声明# 创建一个叫info的关联数组。

2024-12-12 20:24:13 1203

原创 Shell语言基础语法(1)

Shell 是一种命令行解释器,通常用于与操作系统进行交互。它允许用户通过输入命令来执行各种操作,如文件管理、进程控制、系统配置等。Shell 语言是一种脚本语言,用户可以编写脚本来执行一系列命令,从而自动化复杂的任务。使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。name="123"

2024-12-11 20:32:51 1194

原创 《Linux系统》之用户管理命令

在Linux系统中,用户组(Group)是管理用户权限的重要机制。通过用户组,可以方便地对多个用户进行权限管理。以下是关于用户组的添加、删除、修改以及赋予和删除权限的详细说明。用户的管理涉及用户的添加、删除和修改。

2024-12-11 11:20:07 1060

原创 《Linux系统》文件的基础操作

rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。Linux系统中文件的用户分为user、group、other,分别对应的简写为u、g、o。对文件的操作方式权限有读(r)、写(w)、执行(x)。每个数字代表一组权限(所有者、所属组、其他用户),每个权限位可以是。3、ls -a、ll -a:列出当前目录下所有文件,包括隐藏文件。2、ls、ll、dir:列出当前目录下的文件。:文件或目录的所属组。

2024-12-10 21:34:57 831

原创 《Liunx系统》之基础操作命令

Linux 是一个强大且灵活的操作系统,广泛应用于服务器、嵌入式系统以及个人电脑。掌握一些基础的 Linux 命令是使用和操作 Linux 系统的关键。本文将介绍一些常用的 Linux 基础操作命令,帮助你快速上手。掌握这些基础的 Linux 命令将帮助你更好地管理和操作 Linux 系统。随着经验的积累,你可以进一步学习更高级的命令和技巧,以应对更复杂的任务。希望这篇指南对你有所帮助,祝你在 Linux 的世界中探索愉快!

2024-12-09 23:16:37 1265

原创 《Opencv》Canny边缘检测操作

OpenCV 是一个广泛使用的计算机视觉库,提供了许多图像处理和计算机视觉算法。Canny 边缘检测是其中一种常用的边缘检测算法,由 John F. Canny 在 1986 年提出。低错误率:尽量减少误检和漏检。定位精度高:检测到的边缘点应该尽可能接近真实边缘。单一边缘响应:对于每个真实的边缘点,算法应该只返回一个点。Canny 边缘检测是一种强大的边缘检测算法,能够有效地检测图像中的边缘。通过使用 OpenCV 的函数,你可以轻松地实现 Canny 边缘检测,并根据需要调整参数以获得最佳效果。

2024-12-08 21:49:53 1007

原创 Python爬虫之selenium库驱动浏览器

selenium库是一种用于用于Web应用程序测试的工具,它可以驱动浏览器执行特定操作,自动按照脚本代码做出单击、输入、打开、验证等操作,支持的浏览器包括IE、Firefox、Safari、Chrome、Opera等。与requests库不同的是,selenium库是基于浏览器的驱动程序来驱动浏览器执行操作的。且浏览器可以实现网页源代码的渲染,因此通过selenium库还可以轻松获取网页中渲染后的数据信息。Selenium 是一个功能强大且灵活的工具,适用于各种Web自动化需求。

2024-12-06 20:39:06 2216

原创 Python之爬虫入门--示例(2)

可以使用命令提示符指令直接安装requests库使用。获取后的信息要经过处理才能清晰的展现。(3)、这里有一些数据类型,选择全部。(4)、必须了解信息。

2024-12-05 21:36:35 371

原创 Python之爬虫入门(1)

爬虫(Web Crawler),也被称为网络爬虫或者网页蜘蛛,是一种按照一定规则,自动地抓取万维网信息的程序或者脚本。从功能角度来讲,它可以模拟浏览器的行为。当我们在浏览器中输入网址并访问网页时,浏览器会向服务器发送请求,服务器返回网页内容并在浏览器中显示。爬虫也是如此,它会向目标网站服务器发送请求,获取网页的 HTML(超文本标记语言)、XML(可扩展标记语言)等数据。例如,一个新闻网站的爬虫,它可以把该网站各个新闻页面的文本、标题、发布时间等信息抓取下来。爬虫在很多场景中都发挥着重要作用。

2024-12-05 20:51:45 1019

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除