图像边缘检测四个算子

it2023-06-01  72

图像边缘检测四个算子

Sobel算子

-1-21000121

垂直方向

-101-202-101

水平方向 Sobel检测算子一般调用格式:

[g,t]=edge(f,'sobel',T,dir);

f:输入图像;T:指定的阈值;dir:指定的边缘检测的首选方向

Prewitt算子

-1-1-1000111

垂直方向

-101-101-101

水平方向 Prewitt检测算子一般调用格式

[g,t]=edge[f,'prewitt',T,dir];

该函数参数与sobel参数相同

Roberts算子

-1001 01-10

Roberts检测算子一般调用格式`

[g,t]=edge[f,'Roberts',T,dir];

Candy检测算子

Canny检测算子是edge函数中最强的边缘检测算子 Canny算子求边缘点具体算法步骤如下:

用高斯滤波器平滑图像.用一阶偏导有限差分计算梯度幅值和方向.对梯度幅值进行非极大值抑制.用双阈值算法检测和连接边缘. Canny检测算子的一般调用格式 [g,t]=edge(f,'canny',T,sigma);

在这里T是向量包含两个阈值,T=[T1,T2]; sigma是平滑滤波器的标准差,如果T没有指定,就自动计算阈值,sigma的默认值是1。

不同算子之间的对比: 1、Roberts算子:对陡峭的低噪声图像效果较好,尤其是边缘±45°较多的图像,但定位准确率较差。 2、prewitt算子:对灰度渐变的图像边缘提取效果较好,但没有考虑相邻点距离的远近对当前像素点的影响 3、Sobel算子:考虑了综合因素,对噪声较多的图像处理效果更好。 4、Canny算子: 产生的边缘很细,可能就一个像素那么细,没有强弱之分。计算量大,但是准确。

最新回复(0)