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

opencv python 圖像輪廓/檢測(cè)輪廓/繪制輪廓的方法

 更新時(shí)間:2019年07月03日 10:09:58   作者:sakurala  
這篇文章主要介紹了opencv python 圖像輪廓/檢測(cè)輪廓/繪制輪廓的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

圖像的輪廓檢測(cè),如計(jì)算多邊形外界、形狀畢竟、計(jì)算感興趣區(qū)域等。

Contours : Getting Started

輪廓

簡(jiǎn)單地解釋為連接所有連續(xù)點(diǎn)(沿著邊界)的曲線(xiàn),具有相同的顏色或強(qiáng)度.
輪廓是形狀分析和物體檢測(cè)和識(shí)別的有用工具

NOTE

  • 為獲得更好的準(zhǔn)確性,請(qǐng)使用二值圖,在找到輪廓之前,應(yīng)用閾值法或canny邊緣檢測(cè)
  • 從OpenCV 3.2開(kāi)始,findContours()不再修改源圖像,而是將修改后的圖像作為三個(gè)返回參數(shù)中的第一個(gè)返回
  • 在OpenCV中,查找輪廓是從黑色背景中查找白色對(duì)象

findContours(image, mode, method[, contours[, hierarchy[, offset]]])

  • image:原圖像
  • mode:輪廓檢索模式
  • method:輪廓近似方法

輸出為: 修改后的圖像,輪廓,層次結(jié)構(gòu)

輪廓是所有輪廓的列表.每個(gè)單獨(dú)的輪廓是對(duì)象邊界點(diǎn)的坐標(biāo).

輪廓檢索模式 含義
cv2.RETR_EXTERNAL 只檢測(cè)外輪廓
cv2.RETR_LIST 提取所有輪廓并將其放入列表,不建立等級(jí)關(guān)系
cv2.RETR_CCOMP 建立兩個(gè)等級(jí)的輪廓,上面的一層為外邊界,里面的一層為內(nèi)孔的邊界信息。如果內(nèi)孔內(nèi)還有一個(gè)連通物體,這個(gè)物體的邊界也在頂層
cv2.RETR_TREE 建立一個(gè)等級(jí)樹(shù)結(jié)構(gòu)的輪廓

輪廓逼近方法 含義
cv2.CHAIN_APPROX_NONE 存儲(chǔ)所有的輪廓點(diǎn),相鄰的兩個(gè)點(diǎn)的像素位置差不超過(guò)1,即max(abs(x1-x2),abs(y2-y1))==1
cv2.CHAIN_APPROX_SIMPLE 壓縮水平方向,垂直方向,對(duì)角線(xiàn)方向的元素,只保留該方向的終點(diǎn)坐標(biāo),例如一個(gè)矩形輪廓只需4個(gè)點(diǎn)來(lái)保存輪廓信息
cv2.CHAIN_APPROX_TC89_L1 或 cv2.CHAIN_APPROX_TC89_KCOS 應(yīng)用Teh-Chin鏈近似算法

代碼:

import cv2
import numpy as np

img = cv2.imread('img.jpg')
imgray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(imgray, 127, 255, 0)
im2, contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

繪制輪廓

cv2.drawContours(image, contours, contourIdx, color[, thickness[, lineType[, hierarchy[, maxLevel[, offset]]]]])

  • image:原圖像
  • contours:作為Python列表傳遞的輪廓
  • contourIdx:輪廓索引(在繪制單個(gè)輪廓時(shí)很有用。繪制所有輪廓,傳遞-1)

要繪制圖像中的所有輪廓:
cv.drawContours(img,contours,-1,(0,255,0),3)

要繪制單個(gè)輪廓,比如第4個(gè)輪廓:
cv.drawContours(img,contours,3,(0,255,0),3)

但大多數(shù)情況下,繪制第4個(gè)輪廓,以下方法將非常有用:
cnt = contours[4]
cv.drawContours(img,[cnt],0,(0,255,0),3)

代碼:

import cv2
import numpy as np

img = cv2.imread('img7.png')
imgray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(imgray, 127, 255, 0)
im2, contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
cnt = contours[0]
cv2.drawContours(img,[cnt],0,(0,255,0),3)

cv2.imshow('src',img)

cv2.waitKey()


以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python中數(shù)字是否為可變類(lèi)型

    python中數(shù)字是否為可變類(lèi)型

    在本篇文章里小編給大家整理了關(guān)于python中數(shù)字是否為可變類(lèi)型的相關(guān)文章內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2020-07-07
  • 使用Python代碼識(shí)別股票價(jià)格圖表模式實(shí)現(xiàn)

    使用Python代碼識(shí)別股票價(jià)格圖表模式實(shí)現(xiàn)

    這篇文章主要為大家介紹了使用Python代碼識(shí)別股票價(jià)格圖表模式的實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • python 兩個(gè)一樣的字符串用==結(jié)果為false問(wèn)題的解決

    python 兩個(gè)一樣的字符串用==結(jié)果為false問(wèn)題的解決

    這篇文章主要介紹了python 兩個(gè)一樣的字符串用==結(jié)果為false問(wèn)題的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • 詳解Pytorch中的tensor數(shù)據(jù)結(jié)構(gòu)

    詳解Pytorch中的tensor數(shù)據(jù)結(jié)構(gòu)

    torch.Tensor 是一種包含單一數(shù)據(jù)類(lèi)型元素的多維矩陣,類(lèi)似于 numpy 的 array,這篇文章主要介紹了Pytorch中的tensor數(shù)據(jù)結(jié)構(gòu),需要的朋友可以參考下
    2022-09-09
  • python3的輸入方式及多組輸入方法

    python3的輸入方式及多組輸入方法

    今天小編就為大家分享一篇python3的輸入方式及多組輸入方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • python實(shí)現(xiàn)順序表的簡(jiǎn)單代碼

    python實(shí)現(xiàn)順序表的簡(jiǎn)單代碼

    這篇文章主要為大家詳細(xì)介紹了順序表定義及python實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • 使用Python構(gòu)建Markdown轉(zhuǎn)Word文檔轉(zhuǎn)換器

    使用Python構(gòu)建Markdown轉(zhuǎn)Word文檔轉(zhuǎn)換器

    在當(dāng)今的文檔處理中,Markdown因其簡(jiǎn)潔的語(yǔ)法和易讀性而廣受歡迎,而Microsoft Word(DOCX格式)則因其廣泛的兼容性和專(zhuān)業(yè)的排版效果成為商業(yè)文檔的標(biāo)準(zhǔn),本文將介紹如何使用Python構(gòu)建一個(gè)帶有圖形界面的Markdown轉(zhuǎn)Word文檔轉(zhuǎn)換器,需要的朋友可以參考下
    2025-02-02
  • Flask 入門(mén)Web 微框架Hello Flask

    Flask 入門(mén)Web 微框架Hello Flask

    這篇文章主要介紹了 Flask 入門(mén)Web 微框架Hello Flask,F(xiàn)lask 是一個(gè) Python 實(shí)現(xiàn)的 Web 微框架,之所以稱(chēng)之為微框架,是因?yàn)?nbsp;Flask 核心簡(jiǎn)單且易于擴(kuò)展,有兩個(gè)主要依賴(lài),WSGI工具集:Werkzeug和模板引擎:Jinja2,Flask 只保留了 Web 開(kāi)發(fā)的核心功能,需要的朋友可以參考一下
    2021-11-11
  • Python實(shí)現(xiàn)仿射密碼的思路詳解

    Python實(shí)現(xiàn)仿射密碼的思路詳解

    這篇文章主要介紹了Python實(shí)現(xiàn)仿射密碼的思路詳解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • 解決python 執(zhí)行shell命令無(wú)法獲取返回值的問(wèn)題

    解決python 執(zhí)行shell命令無(wú)法獲取返回值的問(wèn)題

    這篇文章主要介紹了解決python 執(zhí)行shell命令無(wú)法獲取返回值的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12

最新評(píng)論

耿马| 丹凤县| 五大连池市| 桦甸市| 三门峡市| 应城市| 阿鲁科尔沁旗| 天台县| 德昌县| 邹平县| 丁青县| 奈曼旗| 霞浦县| 北碚区| 嘉义县| 抚顺市| 明溪县| 佛冈县| 六盘水市| 宿州市| 黔西县| 榆林市| 祁门县| 潍坊市| 邓州市| 商水县| 汝州市| 乐山市| 洪雅县| 毕节市| 十堰市| 秭归县| 信丰县| 霞浦县| 龙泉市| 曲阳县| 巴里| 天祝| 嘉义市| 兴义市| 福安市|