五月天青色头像情侣网名,国产亚洲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ó)家法律
亳州市| 安康市| 大丰市| 荔浦县| 扶绥县| 湖北省| 团风县| 邳州市| 富顺县| 陆川县| 苍梧县| 无极县| 鸡西市| 红桥区| 石泉县| 高碑店市| 海兴县| 灌阳县| 广南县| 苍南县| 龙江县| 额尔古纳市| 拜城县| 巴东县| 石台县| 东乡县| 廊坊市| 新民市| 富蕴县| 屯昌县| 新丰县| 博乐市| 鄢陵县| 闽清县| 个旧市| 旺苍县| 长武县| 普兰店市| 广东省| 和平区| 宿迁市|