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边缘检测是图像处理中常用的边缘检测方法之一。

相关推荐
西柚小萌新几秒前
【计算机视觉CV:目标检测】--5.目标检测数据集
目标检测·计算机视觉·目标跟踪
梦梦代码精1 分钟前
智能体编排 + MCP + 知识库,开源可商用!
人工智能·神经网络·gitee·开源·github·代码规范
HIT_Weston1 分钟前
33、【Agent】【OpenCode】本地代理(智能适配层)
人工智能·agent·opencode
bryant_meng2 分钟前
【VLA】Vision Language Action
人工智能·深度学习·rl·vla·世界模型·vlm
ZPC82109 分钟前
ROS 2 手眼标定完整方案
人工智能·算法·性能优化·机器人
起个名字总是说已存在14 分钟前
github开源AI技能:UI UX Pro Max智能设计系统生成器
人工智能·ui·开源·github
Oflycomm17 分钟前
高通公司与Neura达成合作,重注人工智能机器人领域
人工智能·机器人·高通·wifi7·wifi模组
撬动未来的支点17 分钟前
【神经网络核心】张量、正向传播(空间映射)、反向传播(调整映射参数)
人工智能·深度学习·神经网络
互联网志19 分钟前
具身智能:从炫技到实干,开启产业化新征程
人工智能
小垣19 分钟前
java调用yolo26n.onnx模型输出图像推理检测
java·人工智能·深度学习·onnx