- 博客(14)
- 收藏
- 关注
原创 opencv--day05--图像的直方图均衡化、模板匹配、霍夫变换、亮度变换以及形态学变换
本文介绍了OpenCV中图像处理的四种重要技术:直方图均衡化、模板匹配、霍夫变换和形态学变换。重点讲解了直方图均衡化的原理与实现方法,包括图像直方图概念、绘制方法以及自适应直方图均衡化(AHE)和对比度受限的自适应直方图均衡化(CLAHE)。通过代码示例展示了如何利用cv2.calcHist()统计像素分布,并使用cv.equalizeHist()进行全局均衡化处理。针对传统方法的不足,详细说明了CLAHE的分块处理、对比度限制等核心步骤,以解决局部过增强和噪声放大的问题。这些技术能有效提升图像对比度,改善
2025-07-29 23:12:16
981
原创 opencv--day04--图像梯度、边缘检测、轮廓检测以、凸包特征检测及轮廓特征查找
本文介绍了图像处理中的梯度计算和边缘检测方法。首先阐述了图像梯度的数学定义和物理意义,包括水平/垂直方向的亮度变化及其计算方法。重点讲解了三种常用的边缘检测算子:Sobel算子(通过一阶导数计算梯度)、Laplacian算子(基于二阶导数)以及Prewitt和Scharr算子。通过OpenCV代码示例展示了如何利用Sobel算子提取水平和垂直边缘,以及Laplacian算子的应用。文章还对比了不同卷积核(如垂直/水平边缘提取核)的特点,为图像边缘检测提供了理论基础和实践指导。这些技术在边缘检测、特征提取等计
2025-07-25 22:54:27
1707
原创 opencv--day03--图像的插值、边缘填充、矫正、掩膜、ROI切割及噪点的消除
摘要:本文介绍了图像处理中的插值算法,主要讲解最近邻插值和双线性插值两种方法。最近邻插值通过直接取整确定目标像素值,计算简单但可能产生锯齿;双线性插值则通过周围四个像素点加权计算,结果更平滑但计算量较大。文章详细推导了两种算法的数学公式,分析了双线性插值可能存在的坐标系差异和图像偏移问题,并对比了不同插值方法的效果差异。这些算法在图像缩放、旋转等变换中起到关键作用,直接影响最终图像质量。
2025-07-24 22:44:23
684
原创 opencv--day02--图像颜色处理及图像仿射变换
本文介绍了OpenCV图像处理中的颜色处理和仿射变换。主要内容包括:1)图像颜色加法运算,对比OpenCV饱和加法与numpy模运算的区别,并演示加权加法;2)RGB和HSV颜色空间原理及其转换,分析HSV在处理图像时的优势;3)图像颜色转换方法,包括读取时直接转换和已有图片转换。通过代码示例展示了不同颜色操作的实际应用效果,为后续图像处理打下基础。
2025-07-23 22:42:39
1209
5
原创 opencv--day01--opencv基础知识及基础操作
摘要: 本文介绍了OpenCV的基础知识及其在Python中的应用。OpenCV是一个开源的计算机视觉库,支持多平台和语言,功能涵盖图像处理、物体识别、机器学习等。Python通过opencv-python模块调用OpenCV,结合Numpy实现高效图像处理。文章详细讲解了图像表示(像素、RGB通道)、存储方式(Numpy数组)以及基本操作(读取、显示、保存图像),并演示了创建黑白图和随机彩图的代码示例。学习OpenCV前需掌握Numpy相关知识,这为后续计算机视觉开发奠定基础。
2025-07-22 19:52:26
1271
原创 Python入门--day09--模块化编程概念、常见系统模块总结和第三方模块管理
本文介绍了Python中包和模块的概念与使用方式。模块是.py文件,包含变量、函数和类,具有逻辑隔离、代码复用和命名清晰等优点。文章详细讲解了模块的创建、导入方法(包括import和from...import),以及内部属性__file__和__name__的作用。模块分为三类:系统模块(如math、os等)、第三方模块(如numpy、requests)和自定义模块。最后提供了常见模块的使用示例,包括随机数生成、时间处理和文件操作等。
2025-07-18 21:26:24
988
原创 Python入门--day08--迭代器和生成器
本文介绍了Python中的迭代器和生成器两种惰性计算技术。迭代器通过实现__iter__()和__next__()方法实现按需访问数据,节省内存;生成器则通过函数和yield语句自动实现迭代协议,代码更简洁。两者都支持惰性计算,但迭代器适合自定义复杂逻辑,生成器适合简单数据流。文章通过斐波那契数列和自然数生成器示例展示其应用,并提供了一个数据集标注处理的综合案例。这些技术在处理大规模数据时能显著提升效率,是Python编程中的重要工具。
2025-07-17 18:54:05
1100
原创 Python入门--day07--类与对象及其属性和方法
本文介绍了Python面向对象编程的基础知识,主要包括类与对象的概念、创建方式以及属性和方法的使用。类作为对象的模板,通过实例化生成具体对象。属性分为实例属性和类属性,方法分为实例方法、类方法和静态方法,各有不同的使用场景和语法特点。面向对象编程是Python的核心特性之一,掌握这些基础知识有助于编写更结构化和可复用的代码,为后续学习更复杂的编程概念奠定基础。
2025-07-16 19:32:34
1092
原创 Python入门--day06--递归函数及装饰器函数
本文介绍了Python中的递归函数与装饰器函数。递归函数通过将问题分解为子问题来求解,需要设置终止条件以防止无限循环,并以阶乘和斐波那契数列为例进行了说明。装饰器函数基于闭包思想,用于增强函数功能,分为基本装饰器、带参数装饰器和装饰器链三种形式,通过实例展示了日志记录、函数重复执行等功能。文章强调这两个概念需要深入理解,虽然装饰器在日常编码中较少自行编写,但在使用第三方库时能提升代码效率与可读性。
2025-07-15 19:24:55
1302
原创 Python入门--day05--函数的位置传参、关键词传参及其可变性和解包操作
本文介绍了Python函数参数的相关知识,包括函数调用的两种方式(带括号和不带括号)及其区别,详细讲解了位置传参、关键词传参、参数默认值、可变位置参数和可变关键词参数的使用方法。文章还阐述了参数解包操作(*和**的应用),总结了混合使用参数时的顺序规则。通过多个代码示例展示了不同传参方式的实际应用场景,帮助读者理解Python函数参数的灵活使用技巧和注意事项,为编写更高效、易读的代码提供指导。
2025-07-14 19:38:04
1086
原创 Python入门--day04--推导式、常见语句和内置函数总结
本文介绍了Python中的推导式、常见语句和内置函数。推导式包括列表、集合、字典和生成器推导式,具有代码简洁、执行高效和可读性强的优势。常见语句涵盖了赋值语句、控制语句(条件判断if-elif-else和match-case、循环for/while)以及循环控制语句(break/continue/pass)。此外还讲解了range语句的用法。这些内容都是Python编程的基础知识,通过示例展示了各类语法结构的使用场景和特点,帮助初学者掌握Python的核心编程概念。
2025-07-12 10:35:47
1365
原创 Python入门--day03--复合类型之序列类型、映射类型和集合类型
本文介绍了Python中的复合数据类型,重点讲解了序列类型及其通用操作。内容涵盖三种基本序列类型(list、tuple、range)的通用操作,如成员检测、拼接、切片等。文章详细区分了可变类型(列表、字典、集合)与不可变类型(数字、字符串、元组)的特性,通过内存地址变化示例展示了二者关键差异:不可变类型修改会创建新对象,而可变类型直接修改原对象。最后补充了类型判断方法和可变序列的专用操作,为Python数据结构学习提供了系统指导。
2025-07-10 20:06:04
1049
原创 Python入门--day02--变量、数字类型(int)以及字符串类型(str)
在上一篇文章,我们学习了Python相关环境的配置和使用,本篇文章将会正式开始Python语言的学习。推荐使用Jupyter环境,上一篇文章末尾提到了在VS Code中安装Jupyter插件,没安好的小伙伴可以按照下面的步骤安装。首先进入VS Code,点击拓展在搜索栏中输入"Jupyter",找到如图所示,点击"Install"等待安装完成即可接下来进入代码存放文件夹,新建一个后缀为’.ipynb’的文件,出现下图所示图标即为Jupyter文件。
2025-07-09 19:12:02
847
原创 Python入门--day01--conda环境配置及IDE开发环境配置
工欲善其事,必先利其器。在学习Python语言之前,我们要先准备好编译用到的相关工具。先说说Anaconda,说白了它就像一个大工具箱,里面不光装着Python本身,还有好多写代码时会用到的‘小零件’(就是各种库和工具)。最方便的是,它还能帮咱们把不同的‘工具组合’分开装,不同场景需要的‘零件’不一样,Anaconda就能给它们分个隔间,互不打扰。对于IDE,你可以把它想成‘专门写代码的笔记本’。
2025-07-08 19:55:08
1472
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅