Canny算子的实现是找到一个最优的边缘检测算法,该算法力求能够尽可能多地显示出图像中的边缘部分,显示出的轮廓要尽可能多的与现实图像中的实际轮廓边缘相吻合。图像中的边缘部分只能标识一次,并且有可能使图像中的噪声部分也被标识为边缘部分。Canny算子采用的是寻找极值的方法,通过寻找极大值和极小值的算法方式。力求得到最优的显示结果,所以说它是一种一阶导数。Canny算子边缘检测结果如图5所示。
图5 Canny算子边缘检测结果
Prewitt算子严格的说是一种一阶微分算子函数,相邻像素点之间的灰度值肯定有差别,差别越大说明越接近边缘,减少噪声干扰带来的影响,并且进行平滑处理。该算子就是按照水平方向和垂直方向这两个方向的顺序来进行逐步监测的。Prewitt算子边缘检测结果如图6所示。