- 博客(13)
- 收藏
- 关注
原创 七条实验的集成系统
这个数字图像处理实验集成系统,是将 7 个独立的图像处理实验(如灰度镜像、ROI 提取、线性变换等)整合到统一交互界面中,原理核心是 “模块化功能 + 可视化交互”: 每个实验对应独立的图像处理算法模块(如灰度镜像基于像素坐标翻转、线性变换基于像素值映射公式);界面将算法的输入(原图)、输出(处理后结果)可视化展示,同时支持参数配置(如边缘检测的阈值)和结果保存。功能集成:把分散的 7 个实验(灰度、ROI、变换等)聚合,便于系统地复习、对比不同图像处理技术。以下为各个实验的运行详情。
2025-12-21 22:51:35
304
原创 图像区域生长与分裂合并
该方法首先选取一个或多个位于目标区域内部的种子点,然后根据预先设定的相似性准则(如灰度差阈值),将与种子点灰度相近且空间相邻的像素逐步合并到同一区域中。实验一实现基于像素相似性的连通区域分割,从选定的种子点开始,通过比较像素灰度差值,将满足条件的相邻像素逐步“生长”到同一区域。通过区域生长法实现图像的区域分割,加深对基于区域的图像分割思想的理解,掌握种子选取和相似性准则对分割结果的影响。通过区域分裂与合并方法实现图像分割,理解区域均匀性判据在图像分割中的作用,掌握基于区域统计特性的分割思路。
2025-12-19 15:01:20
662
原创 图像阈值分割
图像阈值分割的核心目标是将灰度或彩色图像转换为二值图像,通过设定阈值将像素分为前景(目标)和背景两类。测试不同阈值方法(如全局阈值、自适应阈值)对复杂场景的分割效果。主要包括了直方图分割法,迭代阈值分割法,最大类间方差阈值分割;本次实验成功实现了直方图双峰法、迭代阈值法和最大类间方差法三种经典阈值分割算法,并开发了交互式分割界面。实验发现Otsu算法对文档图像分割效果最佳,而直方图均衡化对阴影处理效果有限,顶帽变换能有效改善光照不均问题。同时我发现,原图有一个阴影部分,在阈值分割的时候会有很大的影响。
2025-12-02 11:54:33
198
原创 三大经典边缘检测算法对比与优化
这种方法能根据图像的整体亮度水平自动调整边缘检测的敏感度:对于较暗的图像会降低阈值以捕捉更多细节,对于较亮的图像则提高阈值来抑制噪声,从而克服了固定阈值在不同光照条件下表现不稳定的缺点。本次实验旨在通过编程实现Roberts、Sobel和Canny三种经典的边缘检测算法,对比分析它们在不同图像上的边缘提取效果、抗噪声能力及计算效率的差异,并重点对Canny算子进行多参数调优与自适应阈值优化,以探索提升边缘检测质量与算法适应性的有效方法,从而加深对图像处理基本概念和算法原理的理解。首先是Roberts算法。
2025-11-18 12:00:05
816
原创 椒盐噪声与条纹噪声的图像复原
一、实验目的与原理本实验旨在通过数字图像处理技术,对含有混合噪声(条纹噪声与椒盐噪声)的图像进行有效恢复。通过结合频域滤波与空域滤波方法,掌握图像去噪的基本原理与实现技术,提升对图像恢复算法的理解与应用能力。:基于傅里叶变换,将图像从空间域转换到频率域。在频域中,周期性噪声(如条纹噪声)表现为频谱图上的离散亮斑,通过设计陷波滤波器选择性衰减这些噪声频率成分,实现噪声去除。:直接在像素空间进行操作。中值滤波通过计算邻域像素的中值来替代中心像素值,能有效抑制椒盐噪声等脉冲噪声,同时较好保护图像边缘信息。
2025-11-08 17:30:22
405
原创 图像空域滤波实验
本次实验通过编程实现了图像的平滑滤波(均值、高斯、中值滤波)和锐化滤波(Roberts、Prewitt、Sobel算子),成功验证了空域滤波的核心原理。结果表明,平滑滤波能有效抑制噪声但会导致图像模糊,而锐化滤波能突出边缘细节但同时会放大噪声,两者效果相反且互补。实验加深了对滤波区别的理解,明白根据实际需求(去噪或增强)选择合适的滤波技术。
2025-10-21 11:57:17
263
原创 图像直方图与频域变换
原理:图像灰度变换:属于点运算,通过构建灰度值的映射函数(如线性变换 g(x,y)=a⋅f(x,y)+b ,其中 a 用于调整对比度, b 用于调整亮度),对图像中每个像素的灰度值进行转换,从而实现图像的增强等效果。图像直方图均衡化:基于图像的灰度直方图,利用特定的变换函数,将原始图像的灰度直方图调整为近似均匀分布的形式,使得图像能利用更多的灰度级,有效提升图像的对比度,让图像细节更易辨识。图像的傅里叶变换结果(频谱图)反映了图像的频率成分,低频成分对应图像的整体轮廓,高频成分对应图像的细节、边缘等。
2025-10-05 15:48:35
794
原创 摄像头图像采集、手动脸部区域框选以及标注信息保存
通过本次实验,熟悉并掌握利用 OpenCV 与 PyQt6 结合,实现带有图形界面的摄像头图像采集、手动脸部区域框选以及标注信息保存的完整流程,加深对数字图像处理中图像采集、交互标注等环节的理解。原理: 通过重写 QLabel 等组件的鼠标事件处理方法(如 mousePressEvent、mouseMoveEvent、mouseReleaseEvent),可以实现鼠标在图像上的点击、拖动操作,从而手动框选出脸部区域。成功搭建基于 OpenCV 与 PyQt6 的摄像头采集与标注系统,核心功能均正常运行。
2025-09-27 17:46:30
348
原创 OpenCV 摄像头图像采集与灰度转换实验报告
程序能够稳定地调用摄像头,实现彩色图像的采集以及彩色到灰度的转换和显示,达到了实验的基本目的。(4)彩色转灰度原理:利用 cv2.cvtColor() 函数,通过指定转换标志 cv2.COLOR_BGR2GRAY,将 BGR 色彩空间的彩色图像转换为灰度图像。“彩色图像” 窗口中实时显示从摄像头采集到的彩色画面,“灰色图像” 窗口中显示对应的灰度画面。(3)图像读取:使用视频捕获对象的 read() 方法,可从摄像头逐帧读取图像,返回的 ret 表示读取是否成功,frame 则是读取到的图像数据。
2025-09-09 11:58:36
186
原创 math函数的应用
abs() 和 fabs() : abs() 用于计算整数的绝对值, fabs() 用于计算浮点数的绝对值。pow() :用于计算一个数的指定次幂。,即计算2^3, result 的值为8.0。sqrt() :用于计算一个非负实数的平方根。值得注意的是,使用这些函数是必须要在前面加上include <math.h> 的。
2024-12-25 12:07:12
565
原创 C语言常见错误
混淆 = 和 == :在条件判断中,误将赋值运算符 = 当作等于运算符 == 使用。如 if (a = 5) 本意是判断 a 是否等于 5 ,但写成了赋值操作,导致程序逻辑错误。注意前提是条件判断中。局部变量和全局变量同名冲突:在函数内部定义的局部变量与全局变量同名时,会优先使用局部变量,可能导致程序逻辑混乱。
2024-12-25 12:00:22
116
原创 C语言常见语法问题
括号不匹配:在函数调用、表达式或控制语句中,括号的数量和位置要匹配。如 if (a > 5 { printf("a大于5");} 中少了一个右括号。遗漏分号:C语言语句以分号作为结束标志,新手常忘记在语句末尾加分号。例如 int a = 5 应写成 int a = 5;拼写错误:变量名、函数名等标识符拼写错误会导致程序找不到相应的定义。比如将 printf 写成 prntf。以下是我在学习C语言时常见的语法错误。
2024-12-25 11:54:19
424
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅