Open_Cv Canny边缘算子


import cv2 as cv
import numpy as np
#canny是边缘检测算法,是一个很好的边缘检测器
# 1.高斯模糊去掉噪声(canny对噪声敏感,需要进行降噪)
# 2.灰度转化,多通道转换为单通道
# 3.计算梯度
# 4.非最大信号抑制
# 5.高低阈值连接输出二值图像,两个阈值t1<t2,凡是高于t2的都保留,凡是小于T1的都舍弃,
#    从高于T2的像素出发,凡是大于T1而且相互连接的都保留,最终输出一个二值图像
#    推荐T2:T1=3:1-2:1
def dege_demo(image):
    blurred = cv.GaussianBlur(image,(3,3),0)
    gray = cv.cvtColor(blurred,cv.COLOR_BGR2GRAY)
    xgrad=cv.Sobel(gray,cv.CV_16SC1,1,0)
    ygrad=cv.Sobel(gray,cv.CV_16SC1,0,1)
    dege_output=cv.Canny(xgrad,ygrad,60,150)#3:1~2:1
    #dege_output=cv.Canny(gray,60,150)#也可以直接使用gray
    cv.imshow("dege_demo",dege_output)
    dst=cv.bitwise_and(image,image,mask=dege_output)#变换为彩色
    cv.imshow("dege_demo_color",dst)




src=cv.imread("D:\Py_Test\Open_Cv\Image\ms.jpg")
cv.namedWindow("Test",cv.WINDOW_AUTOSIZE)
cv.imshow("Test",src)#在上面创建的“Test”窗口中显示图像sr
dege_demo(src)
cv.waitKey(0)#(0)参数表示无限等待 等又任意按键按下关闭图片窗口
cv.destroyAllWindows()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值