五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【第15節(jié)】OpenCV中Canny邊緣檢測(cè)

2022-11-21 10:55 作者:海鷗之道  | 我要投稿

目標(biāo)

  • 了解Canny邊緣檢測(cè)的概念

  • 學(xué)習(xí)函數(shù)CV2.Canny()

1、原理

????????Canny邊緣檢測(cè)是一種非 常流行的邊緣檢測(cè)算法,是John F.Canny在1986年提出的。它是一個(gè)有很多步構(gòu)成的算法,我們接下來會(huì)逐步介紹。

1.1 噪聲去除

????????由于邊緣檢測(cè)很容易受到噪聲影響,所以是使用高斯濾波器去除噪聲,這個(gè)前面我們已經(jīng)學(xué)過了。

1.2 計(jì)算圖像梯度

????????對(duì)平滑后的圖像使用Sobel 算子計(jì)算水平方向和豎直方向的一-階導(dǎo)數(shù)(圖像梯度)(Gx和Gy)。根據(jù)得到的這兩幅梯度圖(Gx和Gy)找到邊界的梯度和方向,公式如下:

????????梯度的方向一般總是與邊界垂直。梯度方向被歸為四類:垂直、水平和兩個(gè)對(duì)角線。

1.3 非極大值抑制

????????在獲得梯度的方向和大小之后,應(yīng)該對(duì)整幅圖像做一個(gè)掃描,去除那些非邊界上的點(diǎn)。對(duì)每一個(gè)像素進(jìn)行檢查,看這個(gè)點(diǎn)的梯度是不是周圍具有相同梯度方向的點(diǎn)中最大的。如下圖所示:

????????現(xiàn)在你得到的是一個(gè)包含“窄邊界”的二值圖像。

1.4 滯后閾值

????????現(xiàn)在要確定哪些邊界才是真正的邊界。這時(shí)我們需要設(shè)置兩個(gè)閾值:minVal和maxVal。當(dāng)圖像的灰度梯度高于maxVal時(shí)被認(rèn)為是真的邊界,那些低于minVal的邊界會(huì)被拋棄。如果介于兩者之間的話,就要看這個(gè)點(diǎn)是否與某個(gè)被確定為真正的邊界點(diǎn)相連,如果是就認(rèn)為它也是邊界點(diǎn),如果不是就拋棄。如下圖:

????????A高于閾值maxVal所以是真正的邊界點(diǎn),C雖然低于maxVal但高于minVal并且與A相連,所以也被認(rèn)為是真正的邊界點(diǎn)。而B就會(huì)被拋棄,因?yàn)樗粌H低于maxVal而且不與真正的邊界點(diǎn)相連。所以選擇合適的maxVal和minVal對(duì)于能否得到好的結(jié)果非常重要。在這一步一些小的噪聲點(diǎn)也會(huì)被除去,因?yàn)槲覀兗僭O(shè)邊界都是一些長(zhǎng)的線段。

2、OpenCV中的Canny邊界檢測(cè)

????????在OpenCV中只需要一個(gè)函數(shù): CV2.Canny(), 就可以完成以上幾步。讓我們看如何使用這個(gè)函數(shù)。這個(gè)函數(shù)的第一個(gè)參數(shù)是輸入圖像。第二和第三個(gè)分別是minVal和maxVal。第三個(gè)參數(shù)設(shè)置用來計(jì)算圖像梯度的Sobel卷積核的大小,默認(rèn)值為3。最后一個(gè)參數(shù)是L2gradient,它可以用來設(shè)定求梯度大小的方程。如果設(shè)為True,就會(huì)使用我們上面提到過的方程,否則使用方程: Edge- Gradient (G)= |G2|+ |G引|代替,默認(rèn)值為False。

結(jié)果:











【第15節(jié)】OpenCV中Canny邊緣檢測(cè)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
丰顺县| 新安县| 绵竹市| 密云县| 进贤县| 慈利县| 信丰县| 海宁市| 舒兰市| 周口市| 云阳县| 兰州市| 正定县| 赤壁市| 扬中市| 曲水县| 江油市| 弥勒县| 临夏市| 房产| 怀来县| 抚松县| 黑龙江省| 江口县| 新邵县| 临桂县| 桐城市| 义马市| 桃源县| 丰顺县| 合山市| 永登县| 石泉县| 会东县| 瓮安县| 日土县| 陆良县| 麟游县| 资源县| 长海县| 清徐县|