自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 角点检测:基础原理到高精度特征定位拼接图像【计算机视觉】

本文介绍了角点检测在计算机视觉中的关键作用,重点阐述了Harris角点检测算法的原理与实现。角点是图像中灰度变化显著的特征点,Harris算法通过计算像素邻域内不同方向移动后的灰度变化来判断角点。文章详细推导了算法的数学原理:首先定义窗口移动的灰度变化函数,通过泰勒展开简化为二次型,构建Harris结构矩阵M;然后利用矩阵行列式和迹构造响应函数R,实现对角点、边缘和平坦区域的高效判别。算法通过计算图像梯度、构建结构矩阵、求解响应值等步骤,最终提取出稳定的特征点。文章强调角点检测是图像拼接、目标识别等视觉任务

2026-02-01 14:50:31 257

原创 边缘检测:基础算子到高级边缘提取【计算机视觉】

边缘检测是让计算机“看见”物体轮廓的核心技术,也是入门计算机视觉的第一步。简单来说,边缘检测就是在图像里找“边界线”——比如从一张照片里抠出杯子、书本的轮廓。先认识5种最常用的边缘检测工具,难度从易到难:这5种方法覆盖了从“随手找边”到“精准找边”的全场景,接下来我们逐个拆解~图像在数学上是一个二维离散函数:f(x,y)f(x, y)f(x,y)其中:但数学中的微分、导数是针对连续函数定义的,因此我们需要先把图像看作连续函数,再讨论如何离散化。边缘 = 灰度值剧烈变化的位置。数学上,“变化剧烈”用导数描述。

2026-01-26 19:46:10 1138

原创 单 / 多目标模板匹配:相似度度量与阈值优化【计算机视觉】

归一化处理是提升相关性匹配算法鲁棒性的关键核心,它解决了CCORR 认亮不认像的先天缺陷,让算法从「理论可行」走向「实际可用」。模板匹配任务中,应优先选择带归一化的匹配算法(如 NCC),避免使用无归一化的基础算法(如 CCORR),以保证匹配结果的稳定性和可靠性。cv2.matchTemplate() 核心参数3个:目标图、模板图、匹配算法,用于生成相似度数据;cv2.rectangle() 核心参数5个:绘制图像、左上角坐标、右下角坐标、颜色、线宽,用于批量标注匹配结果;

2026-01-17 17:52:25 723

原创 图像滤波:手撕五大经典滤波(均值 / 高斯 / 中值 / 双边 / 导向)【计算机视觉】

本文介绍了图像滤波的基本概念和五大经典滤波算法,包括均值滤波、高斯滤波、中值滤波、双边滤波和导向滤波。图像滤波通过滑动窗口对邻域像素进行统计或加权计算,用于去噪、平滑和边缘保留等预处理任务。文章详细阐述了均值滤波的数学原理和实现步骤,包括离散域计算、卷积核表达、边界处理以及具体例题的手动计算与代码验证。通过Python代码实现展示了均值滤波的实际应用,帮助读者深入理解算法底层逻辑。这些经典滤波方法在计算机视觉中具有广泛应用,是图像处理的基础技术。

2026-01-14 15:14:09 1707

原创 ​​开发者必备零基础搞定Git安装:超详细图文指南​

​​零基础搞定Git安装:超详细图文指南​(包学会的)

2026-01-12 18:24:12 992 2

原创 卷积:彻底搞懂卷积核怎么扫图和计算【计算机视觉】

本文系统介绍了卷积运算的原理与应用。卷积源于信号处理,通过"翻转-滑动-叠加"操作描述系统对输入信号的影响。离散一维卷积的计算过程包括卷积核翻转、逐点相乘求和,输出长度公式为m-n+1(无填充时)。为解决多次卷积导致信号缩短的问题,提出零填充和调整步长的方法,并给出统一输出长度公式。文章还阐述了卷积的交换律、结合律等数学性质,并通过Python代码实现了离散一维卷积运算,验证了理论推导的正确性。这些基础概念为后续计算机视觉中的卷积神经网络奠定了数学基础。

2026-01-12 16:57:08 1077

原创 监督学习核心概念(Supervised Learning)

监督学习通过模型、策略和算法三要素构建预测系统。其核心目标是找到泛化能力最优的模型,通过定义损失函数(如0-1损失、平方损失)和风险函数(经验风险、结构风险)来衡量模型性能。为防止过拟合,可采用正则化方法(L1/L2)平衡模型复杂度。评估指标包括训练误差和测试误差,其中测试误差反映真实泛化能力。多项式回归案例显示,模型复杂度需适中,过高导致过拟合,过低则欠拟合。最终选择结构风险最小的模型,实现最佳预测效果。

2025-12-07 16:01:54 1207

原创 深度学习预备知识:数据操作、线性代数与微积分基础

本文介绍了深度学习的核心预备知识,包括数据操作、线性代数和微积分基础。主要内容涵盖:1)N维张量的结构与应用场景;2)线性代数中的标量、向量和矩阵运算;3)降维方法(聚合、投影和特征选择);4)范数的定义与典型应用(L1/L2正则化等);5)微积分中的导数与偏导数概念。这些数学工具为理解神经网络和优化算法奠定了基础,是深度学习入门的关键知识框架。

2025-12-07 00:15:05 898

原创 【C++】标准模板库(STL)—— vector容器快速上手算法必看!!!

动态数组:STL中最常用的序列容器内存连续:元素存储在连续内存空间自动扩容:插入元素超出容量时自动扩展内存(通常2倍扩容)

2025-11-27 16:32:50 522

原创 彻底搞懂 0-1 背包问题:从原理到代码的深度解剖

假设你有一个容量为 10kg 的背包,面前有 4 件物品,每件物品有固定重量和价值,且每个物品只能选或不选(不能分割),如何选择物品装入背包,才能让总价值最大?物品序号重量(kg)价值(元)123234345456这就是典型的 0-1 背包问题 ——“0” 代表不选,“1” 代表选,核心是 “有限容量下的价值最大化”。我们用一个二维表格dp[i][j]行 i:表示 “考虑前 i 个物品”(i 从 0 到 4,0 代表无物品);列 j。

2025-11-27 16:01:48 1275

原创 Git操作避坑指南:一套规范流程,告别合并冲突烦恼

很多人觉得Git冲突麻烦,其实核心不是“冲突难解决”,而是“操作顺序错了”。这套规范的本质,是通过“分工明确”(开发人员管自己分支,专人管main合并)和“顺序清晰”(开发前拉最新、提交前不碰main、合并后同步),从源头减少冲突,降低失误概率。记住:Git是工具,规范是保障。遵循流程不仅能减少团队协作的内耗,更能让代码版本清晰可追溯——下次开发时,不妨对照这7个步骤走一遍,相信你会发现“冲突少了,效率高了”。

2025-11-25 00:05:55 684

原创 深入理解归并排序:C++实现详解

分(Divide):将数组分成两半,直到每个子数组只有一个元素(已排序)。治(Conquer):递归排序子数组。合(Merge):将两个有序子数组合并成一个有序数组。优点:稳定排序(相同元素顺序不变),适合链表等结构。缺点:需要额外空间O(n)来辅助合并。现在,让我们进入代码分析。这段代码使用向量(vector)存储数组,实现了标准的自顶向下归并排序。归并排序是算法面试常客,理解它能帮你掌握分治思想。这段C++代码简洁高效,适合初学者上手。如果你有问题,比如“怎么处理重复元素?”或“Java版本呢。

2025-11-20 14:41:55 669

原创 【C++】标准模板库(STL)—— 学习算法的利器

STL(Standard Template Library,标准模板库)是 C++ 标准库的重要组成部分,包含丰富的数据结构和算法,是现代 C++ 编程中必不可少的工具。本文将介绍 STL 的基本组成、学习重点以及学习 STL 前应具备的先修知识和学习路线,帮助你系统高效地掌握 STL。容器(Containers):用于存储和管理数据集合,例如vectorlistsetmap等。算法(Algorithms):提供排序、查找、遍历等通用操作函数。迭代器(Iterators)

2025-09-27 09:06:38 1180

原创 Servlet完全上手:核心语法与生命周期详解

本文介绍了Servlet的核心概念、生命周期及开发实践。Servlet作为Java Web开发的核心组件,负责接收请求、处理数据并生成响应。文章详细讲解了使用IDEA创建Servlet项目的方法,解析了典型Maven项目结构,并深入剖析了Servlet与JSP协同工作的全流程。重点阐述了Servlet的生命周期,包括初始化(init)、服务处理(service/destroy)和销毁(destroy)等关键阶段。同时指出Tomcat 10+版本中javax到jakarta的包名变更带来的不兼容性问题。通过本

2025-09-27 09:06:00 1237

原创 Java Web开发的基石:深入理解Servlet与JSP​

本文深入解析Java Web开发的基石——Servlet与JSP技术。Servlet作为后台业务处理器,通过Java代码接收和响应HTTP请求;JSP则是将Java嵌入HTML的动态页面技术,两者共同构成了早期Java Web应用的核心。文章详细阐述了两者的工作原理、代码示例及协作模式,指出其形成的MVC雏形为现代框架奠定了基础。虽然当前主流技术已转向Spring等框架,但理解Servlet和JSP对掌握Web开发本质、维护传统系统仍具重要意义。这组黄金搭档展现了Java Web技术的历史演进,是开发者必须

2025-09-17 23:42:17 983

原创 Web 的基石:HTTP协议

HTTP协议是Web通信的基础,定义了浏览器与服务器间的交互规则。作为应用层协议,HTTP基于TCP,采用请求-响应模式且无状态。请求报文包含请求行(方法、路径、协议版本)、请求头(键值对元数据)和请求体(POST/PUT数据)。GET与POST在参数位置、安全性、缓存等方面存在显著差异,需遵循"修改操作用POST,敏感数据加HTTPS"原则。现代框架(如SpringBoot)通过封装HttpServletRequest简化了HTTP请求处理,开发者可通过API便捷获取请求方法、URL、

2025-09-05 00:48:52 1092

原创 Maven 从 0 到 1:安装、配置与依赖管理一站式指南

Maven一站式指南:从安装到依赖管理 Maven是Java项目的智能构建工具,能自动管理依赖库、编译代码、运行测试和打包项目。其核心是pom.xml文件,通过定义项目坐标(groupId、artifactId、version)实现依赖管理。Maven采用仓库机制自动下载jar包,包括本地仓库、中央仓库和私服。安装步骤包括下载解压、配置本地仓库路径、设置阿里云镜像、添加环境变量。在IntelliJ IDEA中需配置Maven路径和JDK版本,创建项目后检查项目结构即可使用。Maven坐标(groupId、a

2025-09-04 00:05:42 1446

原创 SpringBoot Web 入门指南:从零搭建第一个SpringBoot程序

一个强大的、开源的 Java 应用程序开发框架和容器,提供一站式企业级应用开发解决方案。Spring官方网站核心思想控制反转 (IoC):将对象的创建和管理权交给容器依赖注入 (DI):容器自动注入对象所需的依赖主要优势松耦合设计:组件间依赖关系减弱,提高灵活性易于测试:依赖注入使单元测试更简单模块化结构:可按需选择使用不同功能模块特性定位基础框架,提供全面解决方案开发加速器,简化Spring使用配置方式需要大量显式配置约定大于配置,自动配置依赖管理手动管理依赖和版本Starter。

2025-09-04 00:04:20 1786 1

原创 Maven + JUnit:Java单元测试的坚实组合

摘要: Maven与JUnit结合是Java单元测试的核心工具组合。Maven管理项目依赖,JUnit提供专业测试框架,二者协同实现自动化测试。文章系统介绍了软件测试的四个阶段(单元、集成、系统、验收测试)和三种方法(白盒、黑盒、灰盒测试),对比了main方法测试与JUnit测试在效率、组织性和功能支持上的显著差异,并演示了IDEA中通过Maven配置JUnit依赖及创建测试类的具体流程。该组合为开发者提供了高效、规范的单元测试解决方案。

2025-09-02 10:52:37 1139

原创 Vue 从 0 到 1:小白也能看懂的入门指南(附代码)

这篇文章介绍了Vue.js的基础入门知识,主要包括以下内容: Vue.js简介:一个渐进式JavaScript框架,具有响应式数据绑定、组件化架构等特性,适合构建动态Web应用。 项目结构解析:详细说明了Vue项目初始化后的目录结构,包括src、public等核心文件夹及其作用。 安装与配置:提供了两种引入Vue的方式(CDN和npm初始化项目),并展示了如何创建纯净的Vue项目。 HelloWorld示例:通过一个简单的代码示例,演示了Vue的基本语法结构,包括数据绑定和模板渲染。 核心概念:解释了cre

2025-08-28 18:05:30 1142 1

原创 Vue的安装与配置(超详细)

之后将这三条命令依次输入即可(此处cd你的项目名字,跟我的不一定要相同)首先新建一个文件夹,然后进入这个新的文件夹。首先Win+R,打开cmd。把文件夹里面的这个地方改成cmd点回车。这里修改一下代码(加一行进去对比一下)这时访问Local给出的网址就可以了。打开项目文件夹vue-project。可以看到这已经进入了我们的文件夹了。选择windows安装包。有版本号就说明安装成功了。

2025-08-12 13:47:39 953 1

原创 数据结构:线性表(C语言实现)

​​ ​​ ​​ ​​ ​​ ​​ ​​线性表​​是数据结构中最基本、最常用的一种结构,用于存储具有​​线性关系​​的数据元素集合。其特点是数据元素之间存在“一对一”的顺序关系,即除了第一个和最后一个元素外,每个元素都有唯一的前驱和后继。100// 当前数组的实际长度​​ ​​ ​​ ​​ ​​ ​​ 单链表是一种常见的线性数据结构数据域和指针域。数据域:用于存储数据元素,可以是任意类型的数据,如整数、浮点数、字符串等。指针域:用于存储指向下一个节点的指针(或引用)。

2025-06-04 17:16:14 1754

原创 ​​开发者必备:Git不仅仅是版本控制工具

Git 赋予你对代码历史走向的完全掌控力,让你的开发工作更安全、更高效、更可协作

2025-06-01 23:53:56 1106

原创 数据结构:程序世界的基石与艺术

数据结构是计算机存储和组织数据的核心方法,定义了数据元素间的逻辑关系及操作集合。它与算法密不可分,构成了程序的基础。学习数据结构能提升效率、优化问题抽象并促进代码复用。主要分为线性结构(数组、链表等)和非线性结构(树、图等)。抽象数据类型(ADT)作为数据结构与实现的桥梁,强调数据抽象和信息隐藏。算法分析关注时间与空间复杂度,常见复杂度包括O(1)到O(2ⁿ)等多个级别。空间复杂度计算需考虑额外申请空间,如递归调用栈等。掌握这些概念对开发高效可靠程序至关重要。

2025-05-28 15:47:36 1334

原创 第五集:使用DAO设计模式访问数据(Java程序访问数据)

用Java实现DAO设计模式

2025-05-26 15:20:22 1310 1

原创 第四集:下载Navicate管理MySQL(图形化界面)

下载Navicate并且创建一个数据库

2025-05-26 11:36:02 1061

原创 第三集:使用IDEA连接MySQL(JDBC驱动下载及调试)

JDBC驱动的下载安装

2025-05-12 11:37:33 2024 2

原创 第二集:MySQL基本操作(手把手教你增删改查)

通过一个简单的案例来了解数据库的增删查改

2025-05-09 16:34:39 2514

原创 第一集:MySQL下载超细教程(详细到每一小步)

保姆教程安装下载MySQL

2025-04-26 00:20:52 27704 14

原创 计算机网络-数据链路层(25500字超详细总结,细到每一个点)

计算机网络,数据链路层全面总结

2025-04-23 23:15:50 2595

空空如也

空空如也

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

TA关注的人

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