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

相关推荐
思通数据1 小时前
AI视频监控:重构安防行业智能化新生态
人工智能·安全·目标检测·机器学习·计算机视觉·重构·数据挖掘
萤丰信息1 小时前
智慧工地从工具叠加到全要素重构的核心引擎
java·大数据·人工智能·重构·智慧城市·智慧工地
riveting1 小时前
明远智睿SSD2351:以技术突破重构嵌入式市场格局
大数据·人工智能·重构·边缘计算·嵌入式开发·智能交通
计算机sci论文精选2 小时前
CVPR2025敲门砖丨机器人结合多模态+时空Transformer直冲高分,让你的论文不再灌水
人工智能·科技·深度学习·机器人·transformer·cvpr
XIAO·宝2 小时前
机器学习----绪论
人工智能·机器学习
41号学员2 小时前
机器学习绪论
人工智能·机器学习
华清远见成都中心3 小时前
基于深度学习的异常检测算法在时间序列数据中的应用
人工智能·深度学习·算法
蜀中廖化3 小时前
机器学习:基于OpenCV和Python的智能图像处理 实战
python·opencv·机器学习
一车小面包4 小时前
机器学习中数据集的划分难点及实现
人工智能·深度学习·机器学习
R-G-B5 小时前
【P27 4-8】OpenCV Python——Mat类、深拷贝(clone、copyTo、copy)、浅拷贝,原理讲解与示例代码
人工智能·python·opencv·浅拷贝·深拷贝·opencv python·mat类