Canny 边缘检测

在计算机视觉领域,边缘检测是一个基础且核心的任务------它就像给图像"描边",提取出物体的轮廓信息,为后续的目标识别、图像分割、特征匹配等高级任务打下基础。

什么是Canny边缘检测?

Canny边缘检测是由计算机科学家John F. Canny在1986年提出的一种多阶段边缘检测算法。它的核心优势在于:检测准确率高、定位精准、抗噪声能力强,并且能有效抑制虚假边缘

简单来说,普通边缘检测可能会把图像中的"噪声"误判为边缘,或者检测出的边缘不连续、位置偏移;而Canny通过一套严谨的流程,能更"聪明"地找到真正的图像边缘。

Canny的4个关键步骤

1、灰度化

边缘的本质是"亮度的突变",和颜色无关。

2. 高斯降噪

图像噪声就像照片上的"雪花点",是像素值的随机突变。这些突变很容易被边缘检测算法误判为"边缘",导致检测结果杂乱无章。

Canny采用"高斯模糊"来降噪,核心逻辑是:用一个"高斯核"(类似一个滑动窗口)遍历图像,对窗口内的像素进行"加权平均"------中心像素权重高,边缘像素权重低。这样一来,突变的噪声像素会被周围正常像素"中和",图像变得平滑,噪声被大幅抑制。

这里要注意:高斯核的尺寸(常用(5,5))和标准差会影响降噪效果------核越大、标准差越大,降噪越强,但图像细节也会损失越多,需要平衡选择。

3、梯度计算

定位边缘的位置和方向

  • 梯度大小:表示亮度变化的"剧烈程度",梯度越大,越可能是边缘;

  • 梯度方向:表示亮度变化的"方向"。

4、非极大值抑制

计算出梯度后,我们得到了许多"候选边缘点",但它们通常太"粗"了。非极大值抑制的目标是只保留局部梯度最大的点,从而得到细化的边缘。

5、双阈值筛选

使用两个阈值(高阈值和低阈值)来区分强边缘、弱边缘和非边缘。

Canny设定了两个阈值:高阈值(maxVal)和低阈值(minVal),根据梯度大小对像素进行分类:

  • 梯度值 > 高阈值:强边缘,直接保留;

  • 梯度值 < 低阈值:弱边缘,直接剔除;

  • 低阈值 ≤ 梯度值 ≤ 高阈值:潜在边缘,只有当它和"强边缘"直接相连时,才被保留(否则剔除)。

这个规则能有效剔除孤立的虚假边缘(残留噪声),同时保留连续的真实边缘。

Canny边缘检测代码

python 复制代码
import cv2

def canny_edge_detection(img):
    """Canny边缘检测:灰度化→降噪→边缘提取"""
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)  # 灰度化
    blur = cv2.GaussianBlur(gray, (5, 5), 0) # 高斯降噪
    # Canny边缘检测(低阈值50,高阈值150)(内置了梯度计算、NMS、双阈值筛选)
    canny = cv2.Canny(blur, 50, 150)   
    return canny

if __name__ == "__main__":
    img = cv2.imread("1.png")
    img = cv2.resize(img, (640, 480)) # 缩放图片
    canny = canny_edge_detection(img)
    cv2.imshow("canny", canny)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

原图:

处理后:

相关推荐
ZZZMMM.zip12 小时前
演示架构师-PPT大纲生成的HarmonyOS开发实践
人工智能·华为·powerpoint·harmonyos·鸿蒙·鸿蒙系统
青岛前景互联信息技术有限公司12 小时前
以新标准为底座,前景互联打造高危场景智能接处警新体系
大数据·网络·人工智能
2601_9568657712 小时前
怎么用AI生成带货视频?电商内容创作工具推荐与选择思路
人工智能·aigc·音视频
正在走向自律12 小时前
怎样区分人工智能、离身智能、具身智能、智能机器人与人形机器人
人工智能·机器人·具身智能·人形机器人·智能机器人·离身智能
MEIXIFU112 小时前
深夜里的温暖灯塔与便捷生活
大数据·人工智能·生活·迭代加深
坚持学习前端日记12 小时前
国产化适配全流程适配英伟达本地开发
人工智能·python
执笔论英雄12 小时前
【;Agent】SWEET-RL:在协同推理任务上训练多轮大语言模型智能体
人工智能·语言模型·自然语言处理
一个王同学12 小时前
从零到一 | CV转多模态大模型 | week17 | LLM 推理优化 & vLLM 详解
人工智能·深度学习·算法·机器学习·计算机视觉·vllm
llgdwuhan12 小时前
光芯片耦合测试设备对比:谁在定义国产替代的下一站?
大数据·人工智能
njsgcs12 小时前
ai创建带尺寸零件 ,为后续用模型尺寸标注做准备
人工智能·智能制造