谭升
非主流人工智能科学家 我和外面那些妖艳的货不一样

【数字图像处理】6.5:灰度图像-图像分割 Prewitt算子

开篇废话

废话开始,发现CSDN有了新的博客写作方式-MarkDown看起来很腻害的样子,有空试一下,希望以后能有更好的知识分享总结出来,当然要用更好的方式,更鲜明的表达出自己对知识的理解和观点,翻了下以前写的博客,感觉自己写博客的调理更清楚了,而且发现博客最好别写太长,当然,大牛除外,因为太长了可能有点驾驭不住。
今天来学习Prewitt算子,这个算子也是一阶微分算子,所以和前面说的Sobel有些类似,但不同的是平滑模板和不同情况下的效果。

Prewitt算子

来看prewitt算子,这个算子形式简单,基本形式如下:
Center
一排1减去另一排1,差分被它体现的淋漓尽致,当然我们观察它的性质还是要看分解形式,也就是前两个小模板,$[1,0,-1]$ 不用解释,差分的形式,为什么不用 $[1,-1]$ 进行差分?首先对于2×3的模板和3×3的模板,我们更倾向于3×3,因为3×3的模板中心落在实数上 ,其次$[1,0,-1]$的差分结果能够在一定程度上减少噪声影响。这个差分的性质,Sobel,Prewitt以及后面的Scharr都是一样的,所以这里并不是他们的差异,他们的差异主要集中在平滑算子上。Sobel算子的平滑算子是一个接近高斯的小模板,而Prewitt的平滑算子则是一个均值模板,也就是 $\frac{1}{3}[1,1,1]$ ,其原理与Sobel也保持一致,横向平滑,纵向差分产生Y方向的一阶微分,或者纵向平滑横向差分,产生X方向一阶微分,当然要注意按照这个模板做出的梯度方向是左手坐标系,也就是和图像坐标系一致的,即 $(0,0)$ 在左上角,x轴向右为正,y轴向下为正,为了使用习惯,可以把y轴取负,就能得到传统的右手坐标系了。。。
关于扩展,没有见过有人扩展prewitt,但是按照理论是绝对可行的,我猜想,可以扩展成
Center 1

代码和结果

代码:

结果如下:
原图:
Center 2
prewitt算子的处理结果:
Center 3
局部放大:
Center 4 
Center 5 
Center 6 
Center 7 
Center 8 
Center 9
Center 10 
Center 11 
Center 12 
Center 13
在观察下阈值
Center 14
Center 15
Center 16
Center 17

结论

结论是prewitt会使灰度值相对集中,相比于Sobel并不会凸显出边界响应,整体边缘候选点区域接近,不适合做阈值后处理,但优点是速度快,计算简单。

Share

You may also like...

说点什么

avatar
  Subscribe  
提醒

由于博客移至wordpress,部分公式和代码显示不正常,博主正在努力修改,如发现公式显示错误,请及时在文章下留言,感谢您的帮助,尽请原谅!