最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python 基于opencv 繪制圖像輪廓

 更新時(shí)間:2020年12月11日 16:49:00   作者:我堅(jiān)信陽光燦爛  
這篇文章主要介紹了python 基于opencv 繪制圖像輪廓的示例,幫助大家更好的利用python的opencv庫處理圖像,感興趣的朋友可以了解下

圖像輪廓概念

輪廓是一系列相連的點(diǎn)組成的曲線,代表了物體的基本外形。
談起輪廓不免想到邊緣,它們確實(shí)很像。簡單的說,輪廓是連續(xù)的,邊緣并不全都連續(xù)(下圖)。其實(shí)邊緣主要是作為圖像的特征使用,比如可以用邊緣特征可以區(qū)分臉和手;而輪廓主要用來分析物體的形態(tài),比如物體的周長和面積等,可以說邊緣包括輪廓。

尋找輪廓的操作一般用于二值圖像,所以通常會(huì)使用閾值分割或Canny邊緣檢測先得到二值圖。

注意:尋找輪廓是針對白色物體的,一定要保證物體是白色,而背景是黑色,不然很多人在尋找輪廓時(shí)會(huì)找到圖片最外面的一個(gè)框。

opencv找出圖像輪廓

使用cv.findContours()尋找輪廓:

import cv2 as cv
import numpy as np

img = cv.imread('j.png')
img_gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
ret, thresh = cv.threshold(img_gray, 0, 255, cv.THRESH_BINARY_INV + cv.THRESH_OTSU)

# 尋找二值圖像的輪廓
contours, hierarchy = cv.findContours(
  thresh, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)

print(len(contours))
  • 參數(shù)2:輪廓的查找方式,一般使用cv.RETR_TREE,表示提取所有的輪廓并建立輪廓間的層級。
  • 參數(shù)3:輪廓的近似方法。比如對于一條直線,我們可以存儲(chǔ)該直線的所有像素點(diǎn),也可以只存儲(chǔ)起點(diǎn)和終點(diǎn)。使用cv.CHAIN_APPROX_SIMPLE就表示用盡可能少的像素點(diǎn)表示輪廓。
  • 簡便起見,這兩個(gè)參數(shù)也可以直接用真值3和2表示。
  • 函數(shù)有2個(gè)返回值,hierarchy是輪廓間的層級關(guān)系,這個(gè)不用理會(huì)。我們主要看contours,它就是找到的輪廓了,以鏈表形式存儲(chǔ),記錄了每條輪廓的所有像素點(diǎn)的坐標(biāo)(x,y)。

opencv繪制圖像輪廓

輪廓找出來后,可以像圖中那樣用紅色畫出來:cv.drawContours()

cv.drawContours(img, contours, -1, (0, 0, 255), 2)
其中參數(shù)2就是得到的contours,參數(shù)3表示要繪制哪一條輪廓,-1表示繪制所有輪廓,參數(shù)4是顏色(B/G/R通道,所以(0,0,255)表示紅色),參數(shù)5是線寬。

經(jīng)驗(yàn)之談:很多人畫圖時(shí)明明用了彩色,但沒有效果,請檢查你是在哪個(gè)圖上畫,畫在灰度圖和二值圖上顯然是沒有彩色的。

一般情況下,我們會(huì)首先獲得要操作的輪廓,再進(jìn)行輪廓繪制及分析:
cnt = contours[1]
cv.drawContours(img, [cnt], 0, (0, 0, 255), 2)

實(shí)驗(yàn):找出并繪制圖像輪廓

import cv2 as cv
import numpy as np

img = cv.imread('jiao.jpg')
img_gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
ret, thresh = cv.threshold(img_gray, 0, 255, cv.THRESH_BINARY_INV + cv.THRESH_OTSU)

# 尋找二值圖像的輪廓
contours, hierarchy = cv.findContours(
  thresh, cv.RETR_TREE, cv.CHAIN_APPROX_SIMPLE)
cnt = contours[1:6]

cv.drawContours(img, cnt, -1, (0, 0, 255), 2)

cv.imshow('result',img)
cv.waitKey(0)
cv.destroyAllWindows()

實(shí)驗(yàn)結(jié)果

以上就是python 基于opencv 繪制圖像輪廓的詳細(xì)內(nèi)容,更多關(guān)于python 繪制圖像輪廓的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Django ManyToManyField 跨越中間表查詢的方法

    Django ManyToManyField 跨越中間表查詢的方法

    今天小編就為大家分享一篇Django ManyToManyField 跨越中間表查詢的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python小項(xiàng)目之五子棋游戲

    python小項(xiàng)目之五子棋游戲

    這篇文章主要為大家詳細(xì)介紹了python小項(xiàng)目之五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • Python的dict字典結(jié)構(gòu)操作方法學(xué)習(xí)筆記

    Python的dict字典結(jié)構(gòu)操作方法學(xué)習(xí)筆記

    這篇文章主要介紹了Python的dict字典結(jié)構(gòu)操作方法學(xué)習(xí)筆記本,字典的操作是Python入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2016-05-05
  • python basemap 畫出經(jīng)緯度并標(biāo)定的實(shí)例

    python basemap 畫出經(jīng)緯度并標(biāo)定的實(shí)例

    今天小編就為大家分享一篇python basemap 畫出經(jīng)緯度并標(biāo)定的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python實(shí)現(xiàn)自動(dòng)化報(bào)表功能(Oracle/plsql/Excel/多線程)

    python實(shí)現(xiàn)自動(dòng)化報(bào)表功能(Oracle/plsql/Excel/多線程)

    這篇文章主要介紹了python實(shí)現(xiàn)自動(dòng)化報(bào)表(Oracle/plsql/Excel/多線程)的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • python pandas 時(shí)間日期的處理實(shí)現(xiàn)

    python pandas 時(shí)間日期的處理實(shí)現(xiàn)

    這篇文章主要介紹了python pandas 時(shí)間日期的處理實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python最長回文串算法

    python最長回文串算法

    這篇文章主要為大家詳細(xì)介紹了python最長回文串算法的實(shí)踐,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Python調(diào)用系統(tǒng)命令os.system()和os.popen()的實(shí)現(xiàn)

    Python調(diào)用系統(tǒng)命令os.system()和os.popen()的實(shí)現(xiàn)

    這篇文章主要介紹了Python調(diào)用系統(tǒng)命令os.system()和os.popen()的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 詳解PyCharm+QTDesigner+PyUIC使用教程

    詳解PyCharm+QTDesigner+PyUIC使用教程

    這篇文章主要介紹了詳解PyCharm+QTDesigner+PyUIC使用教程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Python獲取request response body的方法

    Python獲取request response body的方法

    本文介紹了使用Python的requests庫發(fā)送HTTP GET請求并獲取響應(yīng)體的方法,同時(shí),還簡要介紹了如何使用Flask框架在Python中創(chuàng)建一個(gè)簡單的網(wǎng)站,感興趣的朋友跟隨小編一起看看吧
    2024-11-11

最新評論

福泉市| 宣城市| 简阳市| 江华| 巴马| 同德县| 柳林县| 伊通| 本溪| 渝中区| 自贡市| 淄博市| 牡丹江市| 建湖县| 沙河市| 沙雅县| 中江县| 明水县| 专栏| 揭西县| 那曲县| 丹凤县| 葫芦岛市| 甘德县| 上犹县| 青河县| 偃师市| 周宁县| 香港| 普定县| 汾阳市| 东莞市| 图木舒克市| 泰宁县| 资中县| 河西区| 遂昌县| 佛山市| 普兰店市| 登封市| 太原市|