c# OpenCV入门基础 Canny 边缘检测
输出图像深度 (常用 cv2.CV_8U, cv2.CV_16S, cv2.CV_32F, cv2.CV_64F): 输出图像深度 (常用 cv2.CV_8U, cv2.CV_16S, cv2.CV_32F, cv2.CV_64F)1: 3x3 (等同于 [ [0,1,0], [1,-4,1], [0,1,0] ])(可选): Sobel 核大小 (默认=3,可选 1,3,5,7)(可选): 滤波
1. cv2.Canny() - Canny 边缘检测
Canny 边缘检测是 OpenCV 中一种流行的边缘检测算法,由 John F. Canny 在 1986 年提出。它是一种多阶段的算法,能够检测图像中的广泛边缘。
参数说明
-
image: 输入图像 (单通道灰度图) -
threshold1: 第一个阈值,用于边缘连接 -
threshold2: 第二个阈值,用于强边缘检测 -
apertureSize(可选): Sobel 算子的孔径大小,默认为 3 -
L2gradient(可选): 布尔值,指定梯度计算方式-
False(默认): 使用 L1 范数计算 -
True: 使用更精确的 L2 范数计算
-
Canny 边缘检测是计算机视觉中基础而重要的技术,常用于物体检测、图像分割等任务的预处理步骤。
2. cv2.Sobel() - Sobel 算子
参数说明:
-
src: 输入图像 -
ddepth: 输出图像深度 (常用 cv2.CV_8U, cv2.CV_16S, cv2.CV_32F, cv2.CV_64F) -
dx: x方向导数阶数 -
dy: y方向导数阶数 -
ksize(可选): Sobel 核大小 (默认=3,可选 1,3,5,7)-
1 表示 1x3 或 3x1 的 Scharr 滤波器
-
-
scale(可选): 缩放因子 (默认=1) -
delta(可选): 添加到结果的增量值 (默认=0) -
borderType(可选): 边界处理方式 (默认=cv2.BORDER_DEFAULT)
3. cv2.Laplacian() - 拉普拉斯算子
参数说明:
-
src: 输入图像 -
ddepth: 输出图像深度 (常用 cv2.CV_8U, cv2.CV_16S, cv2.CV_32F, cv2.CV_64F) -
ksize(可选): 滤波器大小 (默认=1,表示使用 3x3 滤波器)-
1: 3x3 (等同于 [ [0,1,0], [1,-4,1], [0,1,0] ])
-
其他奇数: 使用更大的高斯二阶导数核
-
-
scale(可选): 缩放因子 (默认=1) -
delta(可选): 添加到结果的增量值 (默认=0) -
borderType(可选): 边界处理方式 (默认=cv2.BORDER_DEFAULT)

顶部点击【下载】按钮,可以获取源代码。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)