| 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍《OpenCV 4开发详解》。为了更让小伙伴更早的了解最新版的OpenCV 4,小白与出版社沟通,提前在公众号上连载部分内容,请持续关注小白。 |
虽然Sobel算子可以有效的提取图像边缘,但是对图像中较弱的边缘提取效果较差。因此为了能够有效的提取出较弱的边缘,需要将像素值间的差距增大,因此引入Scharr算子。Scharr算子是对Sobel算子差异性的增强,因此两者之间的在检测图像边缘的原理和使用方式上相同。Scharr算子的边缘检测滤波的尺寸为3×3,因此也有称其为Scharr滤波器。可以通过将滤波器中的权重系数放大来增大像素值间的差异,Scharr算子就是采用的这种思想,其在X方向和Y方向的边缘检测算子如(5.19)中所示。
G x = [ − 3 0 3 − 10 0 10 − 3 0 3 ] G y = [ − 3 − 10 − 3 0 0 0 3 10 3 ] (5.19) \begin{array}{c} {
{G_x} = \left[ {\begin{array}{c} { - 3}&0&3\\ { - 10}&0&{10}\\ { - 3}&0&3 \end{array}} \right]}&{
{G_y} = \left[ {\begin{array}{c} { - 3}&{ - 10}&{ - 3}\\ 0&0&0\\ 3&{10}&3 \end{array}} \right]} \end{array} \tag{5.19}
本文介绍了Scharr算子作为Sobel算子的增强版,用于更有效地检测图像中的弱边缘。OpenCV 4提供Scharr()函数来实现这一功能,该函数的参数包括输入图像、输出图像、数据类型、差分阶数等。示例代码展示了如何使用Scharr算子提取X和Y方向的边缘,结果显示Scharr算子能捕获比Sobel算子更细微的边缘细节。
最低0.47元/天 解锁文章
540

被折叠的 条评论
为什么被折叠?



