[学习笔记] 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()
复制代码

 

posted @   aoru45  阅读(23683)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示