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()
相关推荐
小小鸭程序员28 分钟前
在Spring Boot中实现图片上传和修改
java·数据库·python·mysql·spring
怪味&先森2 小时前
利用pytorch对加噪堆叠自编码器在MNIST数据集进行训练和验证
人工智能·pytorch·python
Uncertainty!!2 小时前
在huggingface上制作小demo
开发语言·python·机器学习·huggingface
gqkmiss3 小时前
Browser-use:基于 Python 的智能浏览器自动化 AI 工具调研与实战
人工智能·python·ai·自动化·浏览器
jndingxin3 小时前
OpenCV 图形API(17)计算输入矩阵 src 中每个元素的平方根函数sqrt()
人工智能·opencv
Bruce_Liuxiaowei3 小时前
基于Python Flask快速构建网络安全工具资源库的Web应用实践
python·web安全·flask
qq_273900233 小时前
Pytorch torch.nn.utils.rnn.pad_sequence 介绍
人工智能·pytorch·python·rnn·深度学习
蹦蹦跳跳真可爱5894 小时前
Python----PaddlePaddle(深度学习框架PaddlePaddle,概述,安装,衍生工具)
开发语言·人工智能·python·paddlepaddle
cccccc语言我来了4 小时前
飞浆PaddlePaddle 猫狗数据大战
人工智能·python·paddlepaddle
QQ_7781329744 小时前
深入解析:Python爬取Bilibili视频的技术创新与高阶实践
python