2024年6月2日发(作者:)

边缘检测常用算子:

基于一阶微分的边缘检测方法:

Roberts 算子考虑图像的2*2邻域,是最简单的边缘检测算子,算法过程简述:

【1】,遍历图像(除去上边缘和左边缘),对每个像素做Roberts模板运算。

【2】,将结果保存到目标图像,结束。

Sobel算子考察的是3*3邻域,由两个卷积核组成,见上图,算法过程简述:

【1】,遍历图像(除去边缘,防止越界),对每个像素做Sobel模板卷积运算。

【2】,比较两个计算结果的大小,取较大者复制到目标图像,结束。

Prewitt算子和Sobel算子类似,所不同的是选用不同的模板而已,算法过程相同。

Krisch算子同样考究3*3邻域,所不同的是选用了八个卷积核,见上图,算法过

程简述:

【1】,遍历图像(除去边缘,防止越界),对每个像素做Krisch模板卷积运算。

【2】,比较八个计算结果的大小,取较大者复制到目标图像,结束。

基于二阶微分的边缘检测方法:

两种

Laplacian

模板

Gauss-Lanlancian

算子

Laplacian 算子是二阶导数边缘算子,考察的是3*3邻域,上图是两种比较常用

的模板,算法简述如下:

【1】,遍历图像(除去边缘,防止越界),对每个像素做Laplancian模板卷积运

算,注意是只做其中的一种模板运算,并不是两个。

【2】,复制到目标图像,结束。

Gauss-Laplacian考察的是5*5的邻域,检测的同时,引入了滤波,是噪声得以平

滑,上图是一种常用的算子,算法简述。

【1】,遍历图像(除去边缘,防止越界),对每个像素做Gauss -Laplancian模板

卷积运算。

【2】,复制到目标图像,结束。

Canny边缘检测是非常重要的一种边缘检测算法,主要过程如下:

【1】,用高斯滤波器平滑图像。

已经学习过,根据高斯函数,构造高斯模板,进行滤波,不在赘述。

【2】,用一阶偏导的有限差分来计算梯度的幅值和方向;

计算梯度作用模板,遍历像素,进行模板运算即可。

12

幅值和方向:

1

m,nfm,nH

1

m,n

2

m,nfm,nH

2

m,n

22

m,n

m,n

m,n

12

1

2

m,n

m,ntan

1

m,n

H

11

11

H

11

11



