Python-OpenCV中的图像处理-边缘检测

Python-OpenCV中的图像处理-边缘检测

边缘检测Canny算子

  • Canny 边缘检测是一种非常流行的边缘检测算法,是 John F.Canny 在

    1986 年提出的。它是一个有很多步构成的算法:噪声去除、计算图像梯度、非极大值抑制、滞后阀值等。

  • Canny(image: Mat, threshold1, threshold2, edges=..., apertureSize=..., L2gradient=...)

  • 在 OpenCV 中只需要一个函数: cv2.Canny(),就可以实现边缘检测。第一个参数是输入图像。第二和第三个分别是 minVal 和 maxVal。第三个参数设置用来计算图像梯度的 Sobel卷积核的大小,默认值为 3。最后一个参数是 L2gradient,它可以用来设定求梯度大小的方程。如果设为 True,就会使用我们上面提到过的方程,否则使用方程: Edge−Gradient (G) = jG2 xj + jG2 yj 代替,默认值为 False。

python 复制代码
import numpy as np
import cv2
from matplotlib import pyplot as plt

img = cv2.imread('./resource/opencv/image/messi5.jpg', cv2.IMREAD_GRAYSCALE)

edges = cv2.Canny(img, 100, 200) # 边缘检测

plt.subplot(121), plt.imshow(img, 'gray'), plt.title('origin'), plt.xticks([]), plt.yticks([])
plt.subplot(122), plt.imshow(edges, 'gray'), plt.title('edges'), plt.xticks([]), plt.yticks([])
plt.show()
相关推荐
尹人入圣36 分钟前
目前热门的IP驱动产业新场景新工具
网络·python·网络协议·tcp/ip
Nuanyt1 小时前
Agent 学习笔记(下篇三):上线工程、进阶选择与操作界面(Stage 7 / 7.5 / 8 + 延伸路线)
笔记·python·学习·memory·aiagent·harness
吴卫斌1 小时前
定投ETF实战指南(四):行业/主题ETF——定投的“进攻端“
开发语言·python·股票·量化
2601_967987372 小时前
Python——入门级(定义功能def函数)
python·函数·可变参数·默认参数·关键字参数
专注仿真4 小时前
梯度提升类(XFBoost)算法详解与代码实例
开发语言·人工智能·python·算法·大模型训练·控制算法
小豆庄4 小时前
视频遮罩追踪退场后ID撞号的排查—多目标场景下的失效
opencv·算法·bug·视频·python3.11
外收内放4 小时前
Python基础语法练习题(75)
开发语言·python·学习
黑十5 小时前
PyTorch 报 “no CUDA GPUs are available“ 怎么办?3 步排查
服务器·网络·人工智能·pytorch·python
threelab6 小时前
开源图片去水印代码
python
taller_20007 小时前
【012】数据类型入门: Excel 数据到 Python 值的转换
python·excel·pie·py