Canny邊緣檢測(cè)是一種經(jīng)典的圖像邊緣檢測(cè)算法,它在圖像中找到強(qiáng)度梯度的變化,從而識(shí)別出圖像中的邊緣。Canny邊緣檢測(cè)的優(yōu)點(diǎn)包括高靈敏度和低誤檢率。
在OpenCV中,cv2.Canny()
函數(shù)用于執(zhí)行Canny邊緣檢測(cè)。
基本語(yǔ)法如下:
edges = cv2.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient]]])
參數(shù)說(shuō)明:
-
image
: 輸入圖像,通常為灰度圖像。 -
threshold1
和threshold2
: 閾值,用于確定邊緣的強(qiáng)度梯度。通常threshold1
是較小的閾值,threshold2
是較大的閾值。 -
edges
(可選): 輸出的邊緣圖像。 -
apertureSize
(可選): Sobel算子的大小,通常為3。 -
L2gradient
(可選): 如果為T(mén)rue,則使用更精確的L2范數(shù)進(jìn)行梯度計(jì)算,否則使用L1范數(shù)。通常設(shè)置為False。
示例代碼:
import cv2
import numpy as np
# 讀取灰度圖像
img = cv2.imread(r"C:\Users\mzd\Desktop\opencv\images.jpg", cv2.IMREAD_GRAYSCALE)
# 使用Canny邊緣檢測(cè)
edges = cv2.Canny(img, 50, 150)
# 顯示原始圖像和Canny邊緣圖像
cv2.imshow('Original Image', img)
cv2.imshow('Canny Edges', edges)
# 等待用戶按下任意鍵
cv2.waitKey(0)
cv2.destroyAllWindows()
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-836505.html
在這個(gè)例子中,cv2.Canny()
用于執(zhí)行Canny邊緣檢測(cè)。threshold1
和 threshold2
是梯度強(qiáng)度的閾值,通過(guò)調(diào)整這兩個(gè)閾值,可以影響檢測(cè)到的邊緣的數(shù)量和質(zhì)量。Canny邊緣檢測(cè)是圖像處理中常用的邊緣檢測(cè)方法之一。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-836505.html
到了這里,關(guān)于opencv-Canny 邊緣檢測(cè)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!