opencv-Canny 边缘检测

Canny边缘检测是一种经典的图像边缘检测算法,它在图像中找到强度梯度的变化,从而识别出图像中的边缘Canny边缘检测的优点包括高灵敏度和低误检率。

在OpenCV中,cv2.Canny() 函数用于执行Canny边缘检测。

基本语法如下:

python 复制代码
edges = cv2.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient]]])

参数说明:

  • image: 输入图像,通常为灰度图像。
  • threshold1threshold2: 阈值,用于确定边缘的强度梯度。通常 threshold1 是较小的阈值,threshold2 是较大的阈值。
  • edges(可选): 输出的边缘图像。
  • apertureSize(可选): Sobel算子的大小,通常为3。
  • L2gradient(可选): 如果为True,则使用更精确的L2范数进行梯度计算,否则使用L1范数。通常设置为False。

示例代码:

python 复制代码
import cv2
import numpy as np
# 读取灰度图像
img = cv2.imread(r"C:\Users\mzd\Desktop\opencv\images.jpg", cv2.IMREAD_GRAYSCALE)
# 使用Canny边缘检测
edges = cv2.Canny(img, 50, 150)

# 显示原始图像和Canny边缘图像
cv2.imshow('Original Image', img)
cv2.imshow('Canny Edges', edges)

# 等待用户按下任意键
cv2.waitKey(0)
cv2.destroyAllWindows()

在这个例子中,cv2.Canny() 用于执行Canny边缘检测。threshold1threshold2 是梯度强度的阈值,通过调整这两个阈值,可以影响检测到的边缘的数量和质量。Canny边缘检测是图像处理中常用的边缘检测方法之一。

相关推荐
ksueh11 小时前
千问Qwen3.8 MAX + Qwen3.7接入蛙趣拼文:2.4万亿参数模型来了,AI写小说体验全面升级
人工智能
大模型码小白11 小时前
企业级检索增强后端集成:Java 服务如何管理知识库版本
java·服务器·开发语言·人工智能·python·microsoft
数智化管理手记11 小时前
预算控制手工核对效率低?预算控制数字化落地实操如何做?
大数据·网络·数据库·人工智能·数据挖掘
审小匠OpenCPAi11 小时前
审计风险识别的工程落地:规则引擎、评分卡、机器学习与图神经网络对比
人工智能·神经网络·机器学习
AI多Agent协作实战派11 小时前
AI多Agent协作系统实战(二十二):从6列到12列——任务监控报告的进化之路
java·人工智能·uni-app·bug
FriendshipT11 小时前
Ultralytics:解读Proto模块
人工智能·pytorch·python·深度学习·目标检测
AI小白Lin11 小时前
Agent Harness 越堆越烂?600 次实验推翻"自进化",个人场景下更适合"自驯化"
人工智能·架构
ViperL111 小时前
[智能算法]NASSFG-显著特征指导的医学目标检测NAS
人工智能·目标检测·计算机视觉
ShallWeL11 小时前
Orin 上 USB / CSI 相机采集踩坑
人工智能·嵌入式硬件·智能硬件·agi
武子康11 小时前
Pi vs Claude Code vs Codex 正确读法:6 组同模型匹配 + 2.08×/1.46×/1.20×/1.54×/1.22×/1.44× 成
人工智能·ai编程·claude