canny邊緣檢測
有個canny函數用起來非常友善簡單
import cv2
import numpy as np
img = cv2.imread('screenshot.png', 0)
cv2.imwrite('canny.jpg', cv2.Canny(img, 200, 300))
cv2.imshow('canny', cv2.imread('canny.jpg'))
cv2.waitKey()
cv2.destroyAllWindows()
cv2.Canny()原型為
edge = cv2.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient ]]])
第一個參數為原圖,第二個參數為門檻值一,第三個參數為門檻值二
調整不同的門檻值會得到不同的結果
參考:https://blog.csdn.net/sunny2038/article/details/9202641
書上說效果不錯,實作複雜。但總感覺這樣直接簡單地調用函數不加參數,效果一般。
原圖:
得到的邊緣圖
看看經典的lenna圖
邊緣:
看看百科裡的圖檔,這就牛逼多了。