Harris算子的一个缺点是不具有尺度不变性,所以引入了另一种检测算子:高斯拉普拉斯算子。
LoG算子
前面提到过高斯一阶导,其作用是检测边缘(边缘区域高斯一阶导数取得极值),那么对一阶导数继续求导得到二阶导数,可想而知,一阶导数的极值点就是二阶导数的0点。进而可以通过寻找二阶导数的0点(亦或是接近于0的点),去寻找图片的梯度(边缘)。
拉普拉斯算子的表示式:
或者:
LoG曲线
对高斯函数进行二阶求导
曲线图
尺度归一化
在LoG前面加变换率,就变成了LoG归一化:
非极大值抑制
LoG检测完一块区域后,为避免后续出现重复检测,一般采用非极大值抑制方式:非极大值点置为0。
LoG的处理流程
斑点检测
LoG取极值的点,就是要找的斑点。
利用LoG进行滤波,得到的边缘检测图:
代码
(略)