zl程序教程

您现在的位置是:首页 >  后端

当前栏目

在OpenCV里实现Sobel算子

Opencv 实现 算子 Sobel
2023-09-14 09:10:33 时间

前面学习过Prewitt算子,它是采用平滑和差分来计算边缘,如果把平滑修改一下,改为高斯平滑,那么这个算子就叫做Sobel算子,这个算子的3阶表示如下:

x轴方向卷积核

y轴方向卷积核

Sobel算子是可分解的卷积核,比如x轴垂直方向可分解为:

[1,2,1]转置 * [-1,0,1]

这样很容易理解它是一维高斯平滑之后再做差分计算。当然,Sobel算子像高斯平滑一样,可以有3、5、7等阶的算子。

可以使用下面例子来演示:

#python 3.7.4,opencv4.1
#蔡军生 https://blog.csdn.net/caimouse/article/details/51749579
#
import cv2
import numpy as np
from scipy import signal

#图片的路径
imgnam