- 1、本文档共83页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
需要记住的是:这些方向是梯度的方向,也就是可能的边缘方向的正交方向。通过梯度的方向,我们就可以找到这个像素梯度方向的邻接像素; 5)、非最大值抑制:遍历图像,若某个像素的灰度值与其梯度方向上前后两个像素的灰度值相比不是最大的,那么这个像素值置为0,即不是边缘; 6)、使用累计直方图计算两个阈值。凡是大于高阈值的一定是边缘; 凡是小于低阈值的一定不是边缘;如果检测结果大于低阈值但又小于高阈值,那就要看这个像素的邻接像素中有没有超过高阈值的边缘像素:如果有的话那么它就是边缘,否则它就不是边缘; 7)、可以利用多尺度综合技术做得更好。 Canny准则是一个连续准则,也就是说是在假设图像和滤波器都是一个连续函数的情形下给出的。但实际上数字图像是离散的,滤波器也应该是离散的。在实际中就需要把连续的滤波器离散化以选择合适的模板。这就产生了问题:多大宽度的模板最合适?在连续域所谓最优的滤波器在离散的数字图像上还是不是最优的? 4.Canny连续准则存在的问题 第一,这种连续准则虽然可以比较很多滤波器的性能,但是对一些离散滤波器它是无法使用的,比如说Sobel等滤波器。 第二,Torre和Poggio证明了数字图像的导数是一个病态问题。所以直接从连续域中分析然后再把连续滤波器离散化这样得到的滤波器从理论上不够恰当。 第三,连续域和离散域之间一个很大的区别在于离散域中的有频谱重叠现象(Spectrum Overlapping)。这也导致了离散域和连续域的性质有很多不同。因此,这些问题还需要进行深入研究,以便使坎尼(Canny算)子边缘提取算法更加完善。 1970 年, Prewitt提出了一个边缘检测算子, 4.3.4 Prewitt算子 两个卷积形成了该算子,图像中的每个像素都用这两个核作卷积,一个核对垂直边缘影响最大,另一个对水平边缘影响最大。两个卷积的最大值作为该点的输出值。Prewitt算子使用两个有向算子(一个水平的,一个是垂直的,一般称为模板)如下: -1 -1 -1 0 0 0 1 1 1 -1 0 1 -1 0 1 -1 0 1 即: 如果我们用 Prewitt 算子检测图像 M 的边缘的话,我们可以先分别用水平算子和垂直算子对图像进行卷积,得到的是两个矩阵,在不考虑边界的情形下也是和原图像同样大小的 M1,M2,他们分别表示图像 M 中相同位置处的两个偏导数。 然后把 M1,M2 对应位置的两个数平方后相加得到一个新的矩阵G,G 表示 M 中各个像素的灰度的梯度值(一个逼近)。然后就可以通过阈值处理得到边缘图像。总的过程是: 我们可以这样解释这些模板: 假设图像的灰度满足下面这个关系: 则梯度是( )。 显然,当前3×3邻域内像素值为 定义垂直算子和水平算子形如: 之所以这样定义是为了满足对称性和电路设计的需要。 利用这两个模板对当前像素进行卷积,得到的方向导数为: 因此当前像素处的梯度的大小为 显然要有: 2(2a + b) =1 如果我们取 a=b=1/6 则得到的模板就是 1/6 乘 Prewitt 算子。 4.3.5 经典的kirsch算子 1971 年,R.Kirsch提出了一种边缘检测的新方法:它使用了 8 个模板来确定梯度和梯度的方向,是一种最佳匹配的边缘检测。用分别与图像的各对应元素相乘,去计算该结果的最大值作为中央像素的强度边缘。 8个卷积核形成了Krisch算子,图像的每个像素都用这8个掩模进行卷积,每个掩模都对某个特定边缘方向作出最大响应,所有8个方向的最大值作为该点的输出值。最大响应掩模的序号构成了边缘方向的编码。 假设,原来的3×3子图像如下: 则边缘的梯度大小为: 其中, 上面的下标如果超过 7 就用 8 去除取余数。 注意到 k=0,1,...7,其实就是使用了 8 个模板, 如下: 在进行边缘提取时, 将上述模板分别与图像中的一个3×3区域相乘, 选取输出值为最大的模板。然后,把这一最大输出值作为中央像素点上的边缘强度,把取得最大值的边缘模板的方向k(k的取值如图4-33所示),作为其边缘方向。 假设图像中一点P(i,j)及其八邻域的灰度如图4-34所示,并设 (k=0,1,…,7)为图像经过kirsch算子第k个模板处理后得到的k方向上的边缘强度,则P(i,j)的边缘强度为S(i,j)=max{ }(k=0,1,…,7),而相应的边缘方向D(i,j)={k| 为最大值}。 图4-33 边缘方向 图4-34 窗口设置示意图 该算法处理所需的运算量可以这样估计,首先,分析图中的任一点A的计算量。计算A点的
文档评论(0)