[學習筆記] 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()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM