Sobel算子
先来看看sobel算子矩阵的构造,称作卷积核更合适,这就是卷积运算

以3*3卷积核为例
可以看出Gx卷积核会增强垂直方向两边的差异,而Gy卷积核会增强水平方向上下的差异。
同时可以看到,离中间越近代表的权重越大,同时差异会更加明显,类似高斯分布
函数:dst = cv2.Sobel(src, ddepth, dx, dy, ksize)
ddepth:图像的深度
dx和dy分别表示水平和竖直方向(要哪个方向哪个就填1)
ksize是Sobel算子的大小
以前面用的圆的图片为例
#这里新增了个参数CV_64F,是因为可能产生负数
#OpenCV对于负数的像素会直接设置为0,而这个参数就是为了避免这种情况
sobelx = cv2.Sobel(img,cv.CV_64F,1,0,ksize=3)
用CV_64F(保留负数)和不用CV_64F(负数置0)的图像结果矩阵区别如下:


本文介绍了Sobel算子在图像梯度处理中的作用,通过3*3卷积核展示了Sobel算子如何增强图像垂直和水平方向的差异。文章讨论了OpenCV中处理负数的方法,以及如何通过组合Sobel算子的Gx和Gy来保留图像轮廓特征。通过实例展示了不同参数设置对图像效果的影响,包括对Lena图像的处理,强调了正确选择dx和dy的重要性。
最低0.47元/天 解锁文章
8163

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



