zoukankan      html  css  js  c++  java
  • [学习笔记] cv2.Canny 边缘检测

    Canny边缘检测

     
     
    函数原型
     
    1 edge = cv2.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient ]]])
     
    参数解释
    • image:源图像
    • threshold1:阈值1
    • threshold2:阈值2
    • apertureSize:可选参数,Sobel算子的大小
    其中,较大的阈值2用于检测图像中明显的边缘,但一般情况下检测的效果不会那么完美,边缘检测出来是断断续续的。所以这时候用较小的第一个阈值用于将这些间断的边缘连接起来。
    函数返回的是二值图,包含检测出的边缘
     
    使用
     1 import numpy as np
     2 import cv2 as cv
     3 cv.namedWindow("images")
     4 def nothing():
     5     pass
     6 cv.createTrackbar("s1","images",0,255,nothing)
     7 cv.createTrackbar("s2","images",0,255,nothing)
     8 img = cv.imread("test/scene2.png",0)
     9 while(1):
    10     s1 = cv.getTrackbarPos("s1","images")
    11     s2 = cv.getTrackbarPos("s2","images")
    12     out_img = cv.Canny(img,s1,s2)
    13     cv.imshow("img",out_img)
    14     k = cv.waitKey(1)
    15     if k==ord("q"):
    16         break
    17 cv.destroyAllWindows()
  • 相关阅读:
    数列分块入门九题(一):LOJ6277~6279
    Luogu P4211 [LNOI2014]LCA
    Luogu P2279 [HNOI2003]消防局的设立
    Luogu P3177 [HAOI2015]树上染色
    51Nod 1677 treecnt
    CYJian的水题大赛
    51Nod 1299 监狱逃离
    51Nod 1705 七星剑
    51Nod 1443 路径和树
    51Nod 1815 调查任务
  • 原文地址:https://www.cnblogs.com/aoru45/p/9763988.html
Copyright © 2011-2022 走看看