作业三

本次作业需要实现边缘检测算法和边缘追踪算法。

本次作业的截止时间是 6 月 1 日 23:59:59 UTC+8,提交邮箱为 njudip2020@163.com

问题描述

边缘检测

在课堂上介绍了几种基本边缘检测算法以及几种高级边缘检测算法。本次作业你需要实现一种边缘检测算法,你的算法越完善、实现的效果越好,那么相应的得分就越高。你可以先实现简单的基于梯度的边缘检测,随后在此基础上加上非极大值抑制等模块提升检测效果。

下面是Canny边缘检测器的效果图

边缘追踪

由于噪声、不均匀照明等因素,边缘检测得到的结果并不完美,因此可能需要边缘追踪算法来将边缘像素点汇集形成有意义的边缘。这里需要你实现一种边缘追踪算法,算法的输入为一张二值图像(通过之前边缘检测得到)和某物体的边缘像素点坐标(可使用imtool获取),输出为该像素点所处的物体边缘。我们鼓励你对尽可能多的对象进行边界跟踪。

下面是一个进行边界追踪的例子。左侧图是原始图像,中间图是经过边缘检测得到的二值图,右侧图是经过边缘追踪得到的结果。

作业要求

  1. 可以使用库函数,自行实现酌情加分。
  2. 我们鼓励你使用更多的图片对你的方法进行验证,并会根据实验效果酌情加分。

注意

  1. 本次作业不提供框架代码,你可以自由地实现你的方法,但你需要保证代码的可复现性。
  2. 如果你使用python, c++等其他语言完成作业,允许使用numpy, opencv等工具包进行基本的数据的输入输出。作为计算机系的课程,我们鼓励学生自行实现所有函数代码,并酌情加分。但请注意,自行实现不代表复制粘贴,我们希望通过自行实现代码可以对算法有更加深入的理解。
  3. 作业 3 的截止时间是 6 月 1 日 23:59:59 UTC+8
  4. 如果发现作业之间高度相似将被判定为互相抄袭行为,抄袭和被抄袭双方的成绩都将被严肃处理。因此请主动防止自己的作业被他人抄袭。

下载材料

  1. 输入图像 (我们鼓励你使用更多的自选图片来验证你的结果并进行讨论)

提交格式

一个具有如下结构的 zip 文件: (--x表示名字为 x 的目录)

请按照 学号_作业序号_v版本号.zip 命名提交文件,本次作业序号为3。版本号从1开始,例如学号为111220001的同学提交第三次作业的第一个版本,命名为 111220001_3_v1.zip(你的提交文件需要与这个文件的组织结构相同)。

助教批改作业将以作业提交期限前版本号最高的文件为准,如果最高版本文件毁损,将使用次高版本文件以此类推。如对本次作业存在问题,欢迎邮件联系助教。