跳转至

03边缘检测canny detection

总结: 什么是边缘:向量突变的地方 为什么要检测边缘:边缘能够更紧凑地表达图像信息 边缘应该怎么计算:用求导的方法,在图像里面 在真实工程里面发型不好用:需要先平滑,再求导 Canny detection: 非最大化抑制:留下最大(留下轮廓

两阶段门限:高门限找出强边,低门限连上边,延续边

1、边缘检测

不连续的就是边 希望用边来紧凑地表达图像,表达图像的含义

目标:识别图像中的突然变化(不连续性) 直观地说,图像中的大多数语义和形状信息都可以编码在边缘

比像素更紧凑 理想:艺术家的线条画(但艺术家也在使用对象级的知识) image1

边有几种? image2 对于不同物品,关注的边类型不一样

怎么提取边? 边缘特征 边缘是图像强度函数中快速变化的一个地方 image3 数学中怎么找信号突变?==》导数突变的地方,找极值 image4

导数,近似 我的导数是我右边这个哥们减我的结果 image5

图像的偏导数 image6 sobel:先高斯,再提取边缘 image7

image8

2、梯度Image gradient

点的梯度: image9

image10 梯度点指向强度增加最快的方向 image11 梯度方向和边垂直

image12

----------------==--不太懂---==--------------------------------------------------------------------------------------------------------------------- image13

image14

image15

image16


image17

一阶导需要哪些参数:窗宽,标准差σ 高斯一阶导越大,

Smoothing vs. derivative filters

平滑化滤波器

- 高斯:去除 "高频率 "成分。"低通 "滤波器

- 平滑滤波器的值不可以是负数

- 这些值的总和应该是1

– One: constant regions are not affected by the filter

![image18](../../assets/180cda44adb1455698f480949293547c.png)

高斯偏导核

- 高斯的导数

- 衍生滤波器的值可以是负数

- 这些值的总和应该是0

– Zero: no response in constant regions

- 在高对比度的地方有高的绝对值

![image19](../../assets/be475d436ed14583a1bacdd6bf558630.png)

3、Canny detection(重点)

image20

方法:设置阈值 设置门槛过滤不符合条件的数据

![image21](../../assets/1f6ccbcc39b046cfb89d7ea23f052c02.png)

![image22](../../assets/7b1bda9716e5414cb7fe10a23ccbc377.png)

设置“门限”

去噪了一下

image23

方法:Non-maximum suppression非最大化抑制 和左右邻居对比梯度值是否最大,如果是,则他们不存在,我就是最大的 image24

![image25](../../assets/0124aac2aeee499585ed00d2ea8318a4.png)

![image26](../../assets/1cf26f8816f84666bbb0a1398f856d78.png)

存在的问题:线断了,为什么,门限太高了 但是如果门限太低,假边就留下了 image27

怎么办 Canny detection对门限进行改下 image28 双门限法 先用高门限,把粗狂的边检测出来(噪声可能性小) 再降低门限,继续检测 噪声边和强边缘联系小

image29

Canny detection算法步骤

1. 用高斯的导数过滤图像

2. 找到梯度的大小和方向

3. 非最大限度的压制。

- Thin wide “ridges” down to single pixel width

4. 连接和阈值处理(hysteresis)。

- 定义两个阈值:低和高

  • 使用高阈值来找出强边缘线,使用低阈值来延续它们。(把有连接关系的边找回来)

1. Filter image with derivative of Gaussian

2. Find magnitude and orientation of gradient

3. Non-maximum suppression:

• Thin wide “ridges” down to single pixel width

4. Linking and thresholding (hysteresis):

• Define two thresholds: low and high

• Use the high threshold to start edge curves and the low threshold to continue them

image30