?????個(gè)人簡(jiǎn)介: 深度學(xué)習(xí)圖像領(lǐng)域工作者
??總結(jié)鏈接:
???????????? 鏈接中主要是個(gè)人工作的總結(jié),每個(gè)鏈接都是一些常用demo,代碼直接復(fù)制運(yùn)行即可。包括:
??????????????????????1.工作中常用深度學(xué)習(xí)腳本
??????????????????????2.torch、numpy等常用函數(shù)詳解
??????????????????????3.opencv 圖片、視頻等操作
??????????????????????4.個(gè)人工作中的項(xiàng)目總結(jié)(純干活)
??????????????鏈接: https://blog.csdn.net/qq_28949847/article/details/128552785
??視頻講解: 以上記錄,通過(guò)B站等平臺(tái)進(jìn)行了視頻講解使用,可搜索 ‘Python圖像識(shí)別’ 進(jìn)行觀看
??????????????B站:Python圖像識(shí)別
??????????????抖音:Python圖像識(shí)別
??????????????西瓜視頻:Python圖像識(shí)別
cv2.Canny()
函數(shù)是OpenCV中用于邊緣檢測(cè)的函數(shù),其主要功能是檢測(cè)圖像中的邊緣并標(biāo)記出來(lái)。
函數(shù)的調(diào)用格式如下:
edges = cv2.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient]]])
其中,參數(shù)含義如下:
-
image
:要進(jìn)行邊緣檢測(cè)的輸入圖像,可以是灰度圖像或彩色圖像。 -
threshold1
:第一個(gè)閾值,用于邊緣檢測(cè)中的滯后閾值,建議取值為100。 -
threshold2
:第二個(gè)閾值,用于邊緣檢測(cè)中的滯后閾值,建議取值為200。 -
edges
:可選參數(shù),用于存儲(chǔ)邊緣檢測(cè)的結(jié)果。如果指定了該參數(shù),則該參數(shù)會(huì)被用來(lái)存儲(chǔ)檢測(cè)到的邊緣圖像。如果沒(méi)有指定該參數(shù),則函數(shù)會(huì)自動(dòng)創(chuàng)建一個(gè)與輸入圖像相同大小的數(shù)組來(lái)存儲(chǔ)檢測(cè)到的邊緣圖像。 -
apertureSize
:可選參數(shù),用于指定Sobel算子的大小,建議取值為3。 -
L2gradient
:可選參數(shù),用于指定是否使用 L 2 L_2 L2?梯度計(jì)算方式。默認(rèn)值為False,表示使用 L 1 L_1 L1?梯度計(jì)算方式。
cv2.Canny()函數(shù)的工作原理如下:
- 對(duì)輸入圖像進(jìn)行灰度化處理。
- 對(duì)灰度圖像進(jìn)行高斯濾波,以平滑圖像并去除噪聲。
- 對(duì)濾波后的圖像使用Sobel算子計(jì)算梯度幅值和方向。
- 對(duì)梯度幅值進(jìn)行非極大值抑制,以壓縮邊緣帶寬。
- 對(duì)壓縮后的邊緣帶寬使用滯后閾值進(jìn)行二值化,得到二值化圖像。
- 對(duì)二值化圖像進(jìn)行連接操作,將斷開的邊緣進(jìn)行連接,得到最終的邊緣圖像。
下面是一個(gè)簡(jiǎn)單的示例代碼,演示了如何使用cv2.Canny()函數(shù)進(jìn)行邊緣檢測(cè):文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-437257.html
import cv2
import numpy as np
# 讀取一張圖片
img = cv2.imread('test.jpg', 0)
# 使用Canny函數(shù)進(jìn)行邊緣檢測(cè)
edges = cv2.Canny(img, 100, 200)
# 顯示結(jié)果
cv2.imshow('Original', img)
cv2.imshow('Canny Edges', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()
需要注意的是,在使用cv2.Canny()
函數(shù)進(jìn)行邊緣檢測(cè)時(shí),閾值的選擇對(duì)最終的結(jié)果有很大的影響。一般來(lái)說(shuō),較低的閾值可以檢測(cè)到較弱的邊緣,而較高的閾值可以去除較弱的邊緣。建議在使用該函數(shù)時(shí),先使用默認(rèn)的閾值進(jìn)行測(cè)試,然后根據(jù)實(shí)際情況進(jìn)行調(diào)整。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-437257.html
到了這里,關(guān)于opencv 邊緣檢測(cè) cv2.Canny()詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!