OpenCV:边缘检测(Sobel算子、Canny)

OpenCV:边缘检测(Sobel算子、Canny)

import cv2
import numpy as np

img = cv2.imread('可莉.png', 0)
img = cv2.resize(img, (354, 683))
cv2.imshow('原图', img)

img_S_X = cv2.Sobel(img, -1, 1, 0, ksize=3)
img_S_Y = cv2.Sobel(img, -1, 0, 1, ksize=3)
'''cv2.Sobel(src, ddepth, dx, dy, ksize)
src:输入图像
ddepth:图像深度,-1表示与输入图像深度相同,深度只能大于等于输入图像
dx, dy:x,y方向求导次数
ksize:Sobel算子大小,只能为奇数
'''
# cv2.imshow('Sobel算子X', img_S_X)
# cv2.imshow('Sobel算子Y', img_S_Y)
img_S = np.hstack((img_S_X, img_S_Y))       #将两张图片在一个窗口显示
cv2.imshow('Sobel算子', img_S)

img_G = cv2.Canny(img, 80, 130, apertureSize=3, L2gradient=False)
'''cv2.Canny(image, threshold1, threshold2, apertureSize, L2gradient)
image:要进行边缘检测的输入图像(单通道)。
threshold1:第一个阈值,用于边缘检测中的滞后阈值。
threshold2:第二个阈值,用于边缘检测中的滞后阈值。
edges:用于存储边缘检测的结果。
apertureSize:Sobel算子的大小。只能为奇数
L2gradient:True:使用L2范数运算,False:使用L1范数运算。
'''
cv2.imshow('Canny', img_G)

cv2.waitKey(0)
cv2.destroyAllWindows()

在这里插入图片描述

https://www.bilibili.com/video/BV1m34y1n7wY/?spm_id_from=333.788

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值