基于Canny算法的图像边缘检测系统
项目介绍
本项目实现了一个经典的Canny边缘检测算法,能够自动从灰度图像中提取清晰的边缘。该算法通过高斯滤波降噪、计算梯度幅值与方向、非极大值抑制和双阈值滞后处理四个关键步骤,有效提升边缘检测的准确性和连续性。系统不仅支持边缘二值图的输出,还可生成梯度方向场,并提供参数调节功能以适应不同图像特征。
功能特性
- 完整Canny算法实现:包含高斯滤波、梯度计算、非极大值抑制和双阈值滞后处理四个核心步骤
- 自动阈值计算:可根据图像梯度分布自动计算合适的双阈值,降低手动调参难度
- 参数可调节:支持自定义高斯核大小和双阈值比例参数
- 多格式图像支持:兼容.jpg、.png、.bmp等常见图像格式
- 丰富输出结果:提供边缘二值图、梯度方向场和可视化对比图等多种输出
使用方法
- 准备输入图像:将待检测的灰度图像放置于指定目录
- 设置参数:根据需要调整高斯核大小和双阈值比例参数
- 运行程序:执行主程序开始边缘检测处理
- 查看结果:程序将自动保存边缘二值图、梯度方向场和可视化对比结果
系统要求
- MATLAB R2018a或更高版本
- Image Processing Toolbox图像处理工具箱
- 支持Windows/Linux/macOS操作系统
文件说明
主文件整合了图像读取、参数初始化、Canny算法四步核心处理流程以及结果输出功能,负责完成从原始图像输入到最终边缘检测结果生成的全过程,包括高斯平滑滤波实现噪声抑制、Sobel/Prewitt算子计算图像梯度、非极大值抑制精确定位边缘以及双阈值滞后处理完成边缘连接,同时提供结果可视化与数据保存能力。