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)

顶部点击【下载】按钮,可以获取源代码。

Logo

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

更多推荐