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

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

【第17節(jié)】OpenCV輪廓初識(shí)

2022-11-22 12:39 作者:海鷗之道  | 我要投稿

目標(biāo)

  • 理解什么是輪廓

  • 學(xué)習(xí)找輪廓,繪制輪廓等

  • 函數(shù):CV2.findContours(),CV2.drawContours()

1、什么是輪廓

????????輪廓可以簡(jiǎn)單認(rèn)為成將連續(xù)的點(diǎn)(連著邊界)連在- -起的曲線,具有相同的顏色或者灰度。輪廓在形狀分析和物體的檢測(cè)和識(shí)別中很有用。

  • 為了更加準(zhǔn)確,要使用二值化圖像。在尋找輪廓之前,要進(jìn)行閾值化處理或者Canny邊界檢測(cè)。

  • 查找輪廓的函數(shù)會(huì)修改原始圖像。如果你在找到輪廓之后還想使用原始圖像的話,你應(yīng)該將原始圖像存儲(chǔ)到其他變量中。

  • 在OpenCV中,查找輪廓就像在黑色背景中超白色物體。你應(yīng)該記住,要找的物體應(yīng)該是白色而背景應(yīng)該是黑色。

????????讓我們看看如何在一個(gè)二值圖像中查找輪廓:

????????函數(shù)CV2.findContours() 有三個(gè)參數(shù),第一個(gè)是輸入圖像,第二個(gè)是輪廓檢索模式,第三個(gè)是輪廓近似方法。返回值有三個(gè),第一個(gè)是圖像,第二個(gè)是輪廓,第三個(gè)是(輪廓的)層析結(jié)構(gòu)。輪廓(第二個(gè)返回值)是一個(gè)Python列表,其中存儲(chǔ)這圖像中的所有輪廓。每一個(gè)輪廓都是一個(gè)Numpy數(shù)組,包含對(duì)象邊界點(diǎn)(x, y )的坐標(biāo)。

2、怎樣繪制輪廓

????????函數(shù)CV2.drawContours(可以被用來(lái)繪制輪廓。它可以根據(jù)你提供的邊界點(diǎn)繪制任何形狀。它的第一個(gè)參數(shù)輪廓,一個(gè)Python列表;第二個(gè)參數(shù)是輪廓的索引(在繪制獨(dú)立輪廓是很有用,當(dāng)設(shè)置為-1時(shí)繪制所有輪廓)。接下來(lái)的參數(shù)是輪廓的顏色和厚度等。

????????在一幅圖像.上繪制所有的輪廓:

結(jié)果:

3、輪廓的近似方法

????????這是函數(shù)CV2.findCountours()的第三個(gè)參數(shù)。它到底代表什么意思呢?

????????上邊我們已經(jīng)提到輪廓是一個(gè)形狀具有相同灰度值的邊界。它會(huì)存貯形狀邊界上所有的(x,y)坐標(biāo)。但是需要將所有的這些邊界點(diǎn)都存儲(chǔ)嗎?這就是這個(gè)參數(shù)要告訴函數(shù)CV2.findContours的。這個(gè)參數(shù)如果被設(shè)置為CV2.CHAIN APPROX NONE,所有的邊界點(diǎn)都會(huì)被存儲(chǔ)。但是我們真的需要這么多點(diǎn)嗎?例如,當(dāng)我們找的邊界是一條直線時(shí)。你用需要直線上所有的點(diǎn)來(lái)表示直線嗎?不是的,我們只需要這條直線.的兩個(gè)端點(diǎn)而已。這就是CV2.CHAIN APPROX_ SIMPLE要做的。它會(huì)將輪廓_上的冗余點(diǎn)都去掉,壓縮輪廓,從而節(jié)省內(nèi)存支。

?

【第17節(jié)】OpenCV輪廓初識(shí)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
贵州省| 教育| 同江市| 永春县| 民县| 邵阳市| 康保县| 钟祥市| 新宁县| 山丹县| 辽源市| 新民市| 广平县| 马龙县| 青岛市| 临安市| 长春市| 延安市| 新安县| 柏乡县| 正安县| 灵宝市| 宣化县| 桦川县| 芮城县| 清镇市| 阜平县| 荆门市| 东兴市| 故城县| 桐梓县| 普安县| 太谷县| 大姚县| 辽阳市| 龙州县| 湖口县| 镇雄县| 铁力市| 河间市| 七台河市|