opencv学习笔记(13)canny边缘提取

canny算法介绍(老师ppt里的):
1.高斯模糊(GaussianBlur)
2.灰度转换(cvtColor)
3.计算梯度(Sobel/Scharr)
4.非最大信号抑制
5.高低阈值输出二值图像

# coding=UTF-8
import cv2 as cv
import numpy as np

def edge_demo(image):
    blurred = cv.GaussianBlur(image,(3,3),0)
    gray = cv.cvtColor(blurred,cv.COLOR_BGR2GRAY)
    grad_x = cv.Sobel(gray,cv.CV_16SC1,1,0)
    grad_y = cv.Sobel(gray,cv.CV_16SC1,0,1)
    #edge_output = cv.Canny(image,50,150)
    # canny的高低阈值比例一般为1213
    edge_output = cv.Canny(grad_x,grad_y,50,150)
    cv.imshow("canny edge",edge_output)
    dst = cv.bitwise_and(image,image,mask = edge_output)
    cv.imshow("color edge",dst)



scr = cv.imread("D:/academic/picture/opencv_data/lena.jpg")
cv.imshow("input image",scr)
edge_demo(scr)
cv.waitKey(0)
cv.destroyAllWindows()

用梯度和原图像都行!
用梯度的效果:
在这里插入图片描述
用原图的效果:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值