计算机视觉教程(第三版)期末复习笔记 第三章(基元的概念、边缘检测、边缘的原理及方法)

 用书: 

计算机视觉教程(微课版 第3版)

  • 作者: 章毓晋

  • 出版社: 人民邮电出版社

不一定全,只针对我们期末画的范围,只有一到六章。


目录

第三章 边缘检测

一、基元的概念

1. 概念

2. 名词解释

二、边缘检测原理

1. 边缘的概念

2. 边缘检测的意义:

3.边缘检测原理

*Q1:这样计算一阶导数和二阶导数有什么意义?

*Q2:计算出的一阶导数和二阶导数有什么作用?

三、卷积

1. 什么是卷积

2. 卷积在图像领域的应用

四、一阶导数算子(索贝尔算子)

1.索贝尔模板的计算(三步)

2. Sobel算子的OpenCV实现

五、二阶导数算子(拉普拉斯算子)

1. 拉普拉斯算子模板

2.OpenCV中的拉普拉斯算子的实现

六、SUSAN算子(问答题)

1. 什么是SUSAN算子

2. 检测原理

3. SUSAN算子的特点

七、霍夫变换


第三章 边缘检测

一、基元的概念

1. 概念

  • 图像中的基元泛指图像中有比较明显特点的基本单元。
  • 常说的基元主要有:边缘、角点、直线段、圆、孔、椭圆以及其他兴趣点等(也包括它们的一些结合体)。基元检测也被称为特征检测

2. 名词解释

  • 边缘:是图像中较底层的基元,是组成其他基元的基础;
  • 角点:可以看作两个边缘以接近直角的形式相结合而构成的基元;
  • 直线段:可看作两个邻近的又互相平行的边缘相结合而构成的基元;
  • 圆:圆周可以看作将直线段弯曲、头尾相接而得到。椭圆是圆的拓展,
  • 圆是椭圆的特例;
  • 孔:表示比较小的圆(相对于周围的区域)

二、边缘检测原理

1. 边缘的概念

  • 图像中的边缘是像素灰度值发生加速变化而不连续的结果。

2. 边缘检测的意义:

  • 边缘检测是常见的图像基元检测的基础,也是所有基于边界的图像分割方法的第一步。

3.边缘检测原理

  • 可利用计算导数的方法来检测像素灰度值的变化,一般使用一阶导数和二阶导数

*Q1:这样计算一阶导数和二阶导数有什么意义?

  1. 如果灰阶是均匀地由暗到亮(如 [10 20 30 40…]),则各像素点的梯度=10,同时一阶导数=0,表示图像没有像素突然亮起来或暗下去。人眼对这样的图像不敏感。

  2. 二阶导数突然高出(低出)零很多,表示当前像素的灰阶递进被打破(突然变化),人眼视觉会感到突然出现了亮点(暗点)。这些往往与图像中的边缘部分相联系。

*Q2:计算出的一阶导数和二阶导数有什么作用?

​​​​​如图3.1.1。

  1. 用一阶导数的幅度值可用于来检测边缘的存在,幅度峰值一般对应边缘位置。

  2. 对灰度值剖面的二阶导数在一阶导数的阶跃上升区间有一个向上的脉冲,而在一阶导数的阶跃下降区间有一个向下的脉冲。在这两个阶跃区间之间会有一个零点(二阶导数值为0),它的位置正对应原图像中边缘的位置

  3. 所以可用二阶导数的零点检测边缘位置,而用二阶导数在过零点附近的符号确定边缘像素在图像边缘的暗区或明区。(脉冲向上:暗;脉冲向下:明)

三、卷积

1. 什么是卷积

3Blue1Brown大神的视频

(该页用视频可视化的方式便于理解卷积,暂未引入卷积在图像方面的具体应用)

2. 卷积在图像领域的应用

例:图像上有很多噪点

  • 高频信号,就好像平地耸立的山峰。平滑这座山峰的办法之一就是,把山峰刨掉一些土,填到山峰周围去。用数学的话来说,就是把山峰周围的高度平均一下。

    平滑后得到:

具体实施:

卷积可以帮助实现这个平滑算法。有噪点的原图,可以把它转为一个矩阵:

然后用下面这个平均矩阵(说明下,原图的处理实际上用的是正态分布矩阵,这里为了简单,就用了算术平均矩阵)来平滑图像:

👈卷积核(Kernel Size)为3

从线性代数的角度来理解,意思就是这是个三阶方阵

换言之,把高频信号与周围的数值平均一下就可以“平滑山峰”。

  • M、N分别代表卷积核矩阵的高度和宽度

(下标相加=中心点下标)

这张图可以方便理解卷积:

四、一阶导数算子(索贝尔算子)

1.索贝尔模板的计算(三步)

水平梯度\x方向的计算 

 垂直梯度\y方向的计算

相加 

2. Sobel算子的OpenCV实现

sobelx = cv2.sobel(src,depth,dx,dy,ksize)
sobely = cv2.sobel(src,depth,dx,dy,ksize)
sobel = cv2.addweight(sobelx,0.5,sobely,0.5,0)

 注意:

  • Sobel函数求完导数后会有负值和大于255的值。而原图像是uint8,即8位无符号数,所以Sobel建立的图像位数不够,会有截断。因此要使用16位有符号的数据类型,即cv2.CV_16S。处理完图像后,再使用cv2.convertScaleAbs()函数将其转回原来的uint8格式,否则图像无法显示。

  • Sobel算子是在两个方向计算的,所以最后还需要用cv2.addWeighted()函数将其组合起来。

五、二阶导数算子(拉普拉斯算子)

1. 拉普拉斯算子模板

  1. 拉普拉斯算子计算的是二阶导数,所以对图像中的噪声相当敏感
  2. 另外它常产生双像素宽的边缘,也不能提供边缘方向的信息。

  3. 由于以上原因,拉普拉斯算子很少直接用于边缘检测,而主要用于已知边缘像素后确定该像素是在图像的暗区还是明区。

  • 模板基本要求:对应中心像素的系数是正的,而对应中心像素邻近像素的系数是负的,且所有系数的总和应该是零。

  • 计算方法:中心点新的值=中心点对应的九宫格对应相乘再相加

2.OpenCV中的拉普拉斯算子的实现

import cv2
o = cv2. imread( 'Laplacian. bmp ',cv2. IMREAD_ GRAYSCALE)
L aplacian = cv2.L aplacian(o,cv2.CV_ 64F)
Laplacian = cv2. convertScaleAbs(Laplacian)
cv2. imshow("original",o) 
cv2. imshow("Laplacian", Laplacian)
cv2. waitKey()
cv2. destroyAllWindows()

六、SUSAN算子(问答题)

1. 什么是SUSAN算子

  • 概念:SUSAN 算子是一种很有特色的基元检测算子,它只使用一个圆形模板来得到各向同性的响应。它不仅可以检测出图像中目标的边缘点,而且可以较鲁棒性(稳健性)地检测出图像中目标上的角点(局部曲率较大的点)。

2. 检测原理

  • 核同值区(uni-value segment assimilating nucleus = USAN),即与核有相同值的区域。

  • SUSAN 算子的模板与常规卷积算法的正方形模板不同,它采用一种近似圆形的模板,用圆形模板在图像上移动,模板内部每个图像像素点的灰度值都和模板中心像素的灰度值作比较,若模板内某个像素的灰度与模板中心像素(核)灰度的差值小于一定值,则认为该点与核具有相同(或相近)的灰度。由满足这一条件的像素组成的区域称为核同值区USAN

        在图3.2.1中图像的上部为亮区域,下部为暗区域,分别代表目标和背景。现在考虑有一个圆形的模板,其中心称为“核”(用“+”标记),其大小由模板边界限定。图 3.2.1中所示为该模板放在6个典型位置的示意情况,从左边数过去,第1个模板全部在亮区域,第2个模板大部分在亮区域,第3个模板约有一半在亮区域, 第4个模板大部分在暗区域, 第5个模板全部在暗区域,第6个模板约 1/4在暗区域。

        如果将模板中各个像素的灰度都与模板中心的核像素的灰度进行比较,就会发现总有一部分模板区域像素的灰度与核像素的灰度相同或相似。这部分区域可称为核同值区(USAN区), 即与核有相同值的区域。USAN区包含了很多与图像结构有关的信息。利用这种区域的尺寸、重心等统计量可以帮助检测图像中的边缘和角点。从图 3.2.1可见,当核像素处在图像中的灰度一致区域时, USAN区的面积会超过一半, 第1个模板和第5个模板,以及第2个模板和第4个模板都属于这种情况。当核像素处在直边缘处时, USAN区的面积约为最大值的一半, 第3个模板就属于这种情况。当核像素位于角点处时,USAN 区的面积更小, 约为最大值的1/4, 第6个模板就属于这种情况。

        利用上述 USAN区面积的变化可检测边缘或角点。具体来说,USAN区面积较大(超过一半)时表明核像素处在图像中的灰度一致区域,在模板核像素接近边缘时该面积减少, 而在接近角点时减少得更多, 即 USAN区面积在角点处取得最小值。如果将 USAN区面积的倒数作为检测的输出,可以通过计算极大值方便地确定出角点的位置。使用USAN 区面积作为特征可起到增强边缘和角点的效果。基于 USAN 区面积的检测方式与其他常用的检测方式有许多不同之处,最明显的就是不需要计算微分, 因而对噪声不是很敏感

3. SUSAN算子的特点

  1. 进行检测时不需要计算微分,所以在有噪声(噪点)时SUSAN算子的性能会较好。

  2. 对边缘的响应将随着边缘的平滑或模糊而增强。

  3. SUSAN检测算子能提供不依赖于模板尺寸的边缘精度。

  4. 控制参数的选择很简单,且任意性较小。

七、霍夫变换

  • 概念:霍夫变换(Hough Transform)是一种常用的边缘检测算法,它能够从图像中提取出直线或曲线的参数。即常用来提取图像中的直线和圆等几何形状。
  • 基本思想:将图像中的每个点(在这里一律视为我们熟悉的笛卡尔坐标系)转换为霍夫空间中的曲线或直线,并通过统计霍夫空间中的交叉点来确定图像中的边缘。如果笛卡尔坐标系多个点,它们在霍夫空间里的曲线都有相同的交点,说明这些笛卡尔坐标系中的点是共线的。
  • 优点:存在噪声或不完整边缘的情况下仍然有效。

        基本霍夫变化两个方式:

  1. 点-线对偶性 y=px+q, q=-px+y

  2. 极坐标方程(在直线接近竖直方向,pq的值都会无穷大而使用极坐标)

  • 广义哈夫变换原理:利用表格建立曲线或轮廓点与参考点之间的关系,参考点的坐标可以有轮廓点的坐标计算。
  • 完整广义哈夫变换:考虑轮廓平移、放缩、旋转,参数空间从2D变成4D,增加了轮廓取向角参数和尺度变换系数。
  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1章导论.................................................................................................................................. 1 1.0.1 为什么要处理图像?.........................................................................................1 1.0.2 什么是一幅图像?.............................................................................................1 1.0.3 什么是一幅数字图像?.....................................................................................1 1.0.4 什么是一个光谱带?.........................................................................................1 1.0.5 为什么大多数图像处理算法都参照灰度图像进行,而实际中遇到的都是彩色图像?.....................................................................................2 1.0.6 一幅数字图像是如何形成的?.........................................................................2 1.0.7 如果一个传感器对应物理世界中的一个小片,如何能让多个传感器对应场景中的同一个小片?.................................................................2 1.0.8 什么是图像中一个像素位置亮度的物理含义?............................................3 1.0.9 为什么图像常用512×512,256×256,128×128 等来表示?........................4 1.0.10 需要多少个比特以存储一幅图像?...............................................................5 1.0.11 什么决定了一幅图像的质量?.......................................................................5 1.0.12 什么会使得图像模糊?...................................................................................5 1.0.13 图像分辨率是什么含义?...............................................................................5 1.0.14 “良好对比度”是什么含义?.........................................................................7 1.0.15 图像处理的目的是什么?...............................................................................8 1.0.16 如何进行图像处理?.......................................................................................8 1.0.17 图像处理中使用非线性操作符吗?...............................................................9 1.0.18 什么是线性操作符?.......................................................................................9 1.0.19 如何来定义线性操作符?.......................................................................

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值