西安交通大学计算机视觉作业:最大值抑制与迟滞边缘链接

需积分: 0 0 下载量 103 浏览量 更新于2024-08-04 收藏 552KB DOCX 举报
"西安交通大学计算机视觉与模式识别课程的第五次作业1,主要内容涉及最大值抑制和迟滞边缘链接的函数实现。" 在这次作业中,主要关注的是计算机视觉领域中的两个重要步骤:边缘检测的非极大值抑制(Non-Maximum Suppression)和滞后阈值处理(Hysteresis Thresholding)。这两个算法是Canny边缘检测算法的关键组成部分。 1. **非极大值抑制(Non-Maximum Suppression)**: - 目的:在边缘检测后,消除可能存在的噪声点,确保边缘的清晰度和准确性。 - 实现方式:遍历图像的每个像素,比较当前像素的梯度幅度(magnitude)与其水平、垂直或对角方向相邻像素的梯度幅度。如果当前像素的梯度幅度最大,则标记为边缘点。在给定的代码中,根据角度(angle)判断比较的方向,例如,当角度为0时,比较左右两侧;当角度为π/4时,比较右上和左下等。 2. **滞后阈值处理(Hysteresis Thresholding)**: - 目的:连接连续的边缘点,形成连续的边缘曲线,同时去除孤立的弱边缘点。 - 实现方式:设置两个阈值,高阈值(threshold_high)和低阈值(threshold_low)。遍历图像,如果某个像素点的梯度幅度大于高阈值且尚未被标记为边缘点,则将其标记为边缘,并将与其相邻的满足低阈值的像素点也链接为边缘。这可以确保边缘的连贯性,同时丢弃弱信号的边缘。 在提供的代码中,两个函数分别实现了这两个操作。`non_maximum_suppression`函数通过一个switch语句来处理不同角度下的比较,而`hysteresis_thresholding`函数则用于将满足条件的像素点链接成边缘,同时避免无限递归问题,设置了MATLAB的递归限制。 这些算法在实际应用中,如图像分析、目标检测、自动驾驶等领域都有广泛的应用。理解并正确实现它们对于掌握计算机视觉的基础知识至关重要。通过这样的作业,学生能够加深对边缘检测原理的理解,并提高编程实现技能。