边缘检测

图像处理常用边缘检测算子

边缘是图像中像素值发生剧烈变化而不连续的结果,它存在于目标与背景、目标与目标、区域与区域之间。边缘检测是图像基于边界分割的第一步。由图像灰度的特点,可将边缘类型分为阶梯状边缘(处于图像两个具有不同灰度值的相邻区域之间)、脉冲状边缘(它主要对应细条状灰度值突变区域,可以看做两个背景阶梯状的边缘构成)、屋顶状边缘(它的边缘上升、下降都比较平缓,可以看作是将脉冲状边缘拉伸而得到的)。

Canny边缘检测算法的一些改进

传统的Canny边缘检测算法是一种有效而又相对简单的算法,可以得到很好的结果(可以参考上一篇Canny边缘检测算法的实现)。但是Canny算法本身也有一些缺陷,可以有改进的地方。

1. Canny边缘检测第一步用高斯模糊来去掉噪声,但是同时也会平滑边缘,使得边缘信息减弱,有可能使得在后面的步骤中漏掉一些需要的边缘,特别是弱边缘和孤立的边缘,可能在双阀值和联通计算中被剔除。很自然地可以预见,如果加大高斯模糊的半径,对噪声的平滑力度加大,但也会使得最后得到的边缘图中的边缘明显减少。这里依然用Lena图为例,保持Canny算法中高阀值100,低阀值50不变,高斯半径分别为2,3,5的Canny边缘二值图像如下。可知高斯模糊把很多有用的边缘信息也模糊掉了,因此如何精确的选择高斯半径就相当重要。