国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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ó)家法律
侯马市| 德安县| 遂平县| 启东市| 沛县| 崇明县| 石楼县| 固镇县| 吴堡县| 柘荣县| 郸城县| 常山县| 洮南市| 灵山县| 平遥县| 斗六市| 五家渠市| 邳州市| 星座| 吉林省| 乌什县| 卢龙县| 甘孜县| 历史| 缙云县| 成武县| 油尖旺区| 濮阳市| 咸丰县| 罗甸县| 万全县| 宁明县| 大竹县| 宣城市| 郴州市| 民乐县| 台北市| 西安市| 策勒县| 桂阳县| 隆子县|