zero-crossing detector

来源:互联网 发布:2017网络诈骗最新手段 编辑:程序博客网 时间:2024/05/07 04:20
这个算子的作用就是从图像中提取出零交叉点。所谓零交叉点,是指在正弦函数图像中的过零点,也就是上一刻为正,下一刻就变成负的那个点,这样一想自然就是x轴上的点了。但是在图像中稍微有些不同。 
那么在图像中什么是zero-crossing?
答:图像中灰度值为0的点,以及那些4-邻域中至少有一个点的灰度值和该点的灰度值有不同符号的那些点。其实更深刻地理解,就是二阶导数一个正值点和一个负值点相连之后与x轴的交点,所以这个点代表了二阶导数从正到负的转变,这一转变代表了一阶导数的急剧变化,从而对应了图像中灰度值的剧烈变化。

按照这种定义来理解不太直观,这个算子设计的初衷是用在那些通过计算二阶导数的边缘检测算子的后面,因为在计算出二阶导数之后,再用zero-crossing检测出来的zero-crossings就是二阶导数为0的点,也就是边缘。在数学意义上讲,这种做法就是认为二阶导数为0的点为边缘点。 
那么二阶导数为0意味着什么?因为二阶导数f''(x)实在比较抽象,所以我们这样理解吧,暂且把一阶导数f'(x)视为一个原函数,而二阶导数自然就变成了一阶导数f'(x)的一阶导数,那么你想,一个函数的一阶导数为0意味着什么?是不是说这个原函数(是指f'(x))的图像是达到顶点了?要不就是极大值点,要不就是极小值点。那么我们现在再回到最初的原函数f(x),它的一阶导数达到极大值意味着什么?别忘了一阶导数其实就是曲线的斜率,斜率达到极大值不就可以粗略地认为这个时候函数f(x)的图像变化很大,即曲线很陡么?那么曲线很陡意味着什么?不就是变化的太快了么,在图像中,这自然就是在说灰度值的变化很大,再回想起边缘(edge)的定义,这可不就是在检测边缘么。 
 

上面牵扯到的数学理论只是为了方便理解,所以说法上不是很严谨。总之能理解这个算子的作用就行了。而且就记住图像分析中边缘检测永远离不开导数这个概念就对了,所以多研究 研究导数的本质对理解很有帮助。而且边缘检测这一方向在图像处理中实在是研究得多深都不为过,因为没有任何一个由此延伸出去的方向可以躲过边缘检测。
0 0
原创粉丝点击