图像噪声去除与边缘提取系统

PythonOpenCV

功能介绍

本项目是面向数字图像处理课程学习者、实验教师和算法演示人员的命令行图像处理程序,围绕彩色图像读取、灰度转换、椒盐噪声生成、均值与中值滤波以及 Sobel 边缘提取展开。使用者指定输入图片、输出目录、噪声比例及随机种子,程序保存各处理阶段和对比图,便于把算法原理与实际图像变化对应起来。

处理流程先读取彩色图并生成灰度参考图,再按指定比例添加椒盐噪声;两条分支分别使用手动实现的 3×3 均值和中值滤波,随后计算 Sobel 水平、垂直梯度与梯度幅值。输出保留原图、灰度图、噪声图、位置掩码、滤波结果、梯度及边缘图,并提供流程总览与局部细节对比,记录参数、指标和校验信息。

典型场景包括比较两种滤波器对脉冲噪声的处理、观察去噪对细线和纹理的影响、分析 Sobel 正负梯度以及完成实验报告和答辩演示。现有材料包含正式实验、复现与开发留档的全部步骤图;本轮整理保留这些相关图片,不重新运行实验。程序将结果写入文件,现有实现没有 GUI、Canny 或高斯噪声处理分支。

用例图/使用场景

实验使用者指定彩色图像和参数,执行灰度转换、椒盐噪声添加、两路滤波与 Sobel 处理,查看并比较输出图和运行记录。现有用例图概括操作范围,正文全量保留已有步骤图与比较图。

演示截图

处理流程对比图

处理流程对比图

全部步骤总览图

全部步骤总览图

局部细节对比图

局部细节对比图

彩色合成测试图

彩色合成测试图

输入彩色图

输入彩色图

原始灰度图

原始灰度图

椒盐噪声图

椒盐噪声图

噪声位置掩码

噪声位置掩码

均值滤波结果

均值滤波结果

中值滤波结果

中值滤波结果

均值分支_水平梯度

均值分支_水平梯度

均值分支_垂直梯度

均值分支_垂直梯度

均值分支_梯度幅值

均值分支_梯度幅值

均值分支_索贝尔边缘

均值分支_索贝尔边缘

中值分支_水平梯度

中值分支_水平梯度

中值分支_垂直梯度

中值分支_垂直梯度

中值分支_梯度幅值

中值分支_梯度幅值

中值分支_索贝尔边缘

中值分支_索贝尔边缘

处理流程对比图

处理流程对比图

全部步骤总览图

全部步骤总览图

局部细节对比图

局部细节对比图

输入彩色图

输入彩色图

原始灰度图

原始灰度图

椒盐噪声图

椒盐噪声图

噪声位置掩码

噪声位置掩码

均值滤波结果

均值滤波结果

中值滤波结果

中值滤波结果

均值分支_水平梯度

均值分支_水平梯度

均值分支_垂直梯度

均值分支_垂直梯度

均值分支_梯度幅值

均值分支_梯度幅值

均值分支_索贝尔边缘

均值分支_索贝尔边缘

中值分支_水平梯度

中值分支_水平梯度

中值分支_垂直梯度

中值分支_垂直梯度

中值分支_梯度幅值

中值分支_梯度幅值

中值分支_索贝尔边缘

中值分支_索贝尔边缘

处理流程对比图

处理流程对比图

全部步骤总览图

全部步骤总览图

局部细节对比图

局部细节对比图

输入彩色图

输入彩色图

原始灰度图

原始灰度图

椒盐噪声图

椒盐噪声图

噪声位置掩码

噪声位置掩码

均值滤波结果

均值滤波结果

中值滤波结果

中值滤波结果

均值分支_水平梯度

均值分支_水平梯度

均值分支_垂直梯度

均值分支_垂直梯度

均值分支_梯度幅值

均值分支_梯度幅值

均值分支_索贝尔边缘

均值分支_索贝尔边缘

中值分支_水平梯度

中值分支_水平梯度

中值分支_垂直梯度

中值分支_垂直梯度

中值分支_梯度幅值

中值分支_梯度幅值

中值分支_索贝尔边缘

中值分支_索贝尔边缘

处理流程对比图

处理流程对比图

全部步骤总览图

全部步骤总览图

局部细节对比图

局部细节对比图

输入彩色图

输入彩色图

原始灰度图

原始灰度图

椒盐噪声图

椒盐噪声图

噪声位置掩码

噪声位置掩码

均值滤波结果

均值滤波结果

中值滤波结果

中值滤波结果

均值分支_水平梯度

均值分支_水平梯度

均值分支_垂直梯度

均值分支_垂直梯度

均值分支_梯度幅值

均值分支_梯度幅值

均值分支_索贝尔边缘

均值分支_索贝尔边缘

中值分支_水平梯度

中值分支_水平梯度

中值分支_垂直梯度

中值分支_垂直梯度

中值分支_梯度幅值

中值分支_梯度幅值

中值分支_索贝尔边缘

中值分支_索贝尔边缘

处理流程对比图

处理流程对比图

全部步骤总览图

全部步骤总览图

局部细节对比图

局部细节对比图

技术栈

采用 Python、OpenCV、NumPy 与 Pillow。requirements.txt 声明 opencv-python-headless 4.14.0.94、NumPy 2.5.3、Pillow 12.3.0;OpenCV 用于图像编解码、灰度转换及验证对照,NumPy 支持数组与随机采样,Pillow 用于对比图标题。核心均值、中值与 Sobel 算法保留手动实现,项目附有 unittest 测试、结果核验脚本及实验文档;虚拟环境不随附件提供。

项目资料附件

定制服务:+v pink996611