婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > OpenCV-Python實現凸包的獲取

OpenCV-Python實現凸包的獲取

熱門標簽:商家地圖標注海報 騰訊地圖標注沒法顯示 ai電銷機器人的優勢 地圖標注自己和別人標注區別 海外網吧地圖標注注冊 南陽打電話機器人 打電話機器人營銷 聊城語音外呼系統 孝感營銷電話機器人效果怎么樣

前言

逼近多邊形是某個圖像輪廓的高度近似,而凸包的提出是為了簡化逼近多邊形的。其實,凸包跟逼近多邊形很像,只不過它是物體最外層的“凸”多邊形。

簡單的概括,凸包是指完全包含原有輪廓,并且僅由輪廓上的點所構成的多邊形。凸包的特點是每一處都是凸的,即在凸包內連接任意兩點的直線都在凸包的內部,并且任意連續3個點的內角小于180度。

在OpenCV中,它給我們提供cv2.convexHull()來獲取輪廓的凸包。其完整定義如下:

def convexHull(points, hull=None, clockwise=None, returnPoints=None): 

points:輪廓

hull:返回值,為凸包角點。可以理解為多邊形的點坐標,或索引。

clockwise:布爾類型,為True時,凸包角點將按順時針方向排列;為False時,為逆時針。

returnPoints:布爾類型,默認值True,函數返回凸包角點的x/y坐標;為False時,函數返回輪廓中凸包角點的索引。

獲取凸包角點

既然,我們已經了解了凸包的作用,并且理解了OpenCV提供的函數。下面,我們隨便選取一張圖,獲取凸包角點。具體代碼如下所示:

import cv2

img = cv2.imread("24.jpg")

cv2.imshow("img", img)
# 轉換為灰度圖像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

ret, binary = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
contours, hierarchy = cv2.findContours(binary, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)

hull=cv2.convexHull(contours[0])

print(hull)

這里,我們隨便獲取了一張圖像,并獲取其凸包的角點。運行之后,角點坐標如下:

如果修改參數returnPoints為False,會返回對應的6個索引值。

這里我們再添加一行代碼就可以繪制凸包多邊形了,具體添加的代碼如下:

#獲取hull之后
cv2.polylines(img, [hull], True, (0, 255, 0), 2)
cv2.imshow("img1", img)

運行之后,效果如下所示:

凸缺陷

凸包與輪廓之間的部分我們稱之為凸缺陷。在OpenCV中使用函數cv2.convexityDefects()獲取凸缺陷,其完整定義如下:

def convexityDefects(contour, convexhull, convexityDefects=None): 

contour:輪廓

convexhull:凸包

convexityDefects:返回值,為凸缺陷點集。它是一個數組,返回的指包括[起點,終點,輪廓上的距離凸包最遠點,最遠點到凸包的近似距離]

特別注意,用該函數計算凸缺陷之前,我們需要使用函數cv2.convexHull()獲取凸包,但其參數returnPoints必須為False。

下面,我們來使用該函數計算上圖的凸缺陷。代碼如下:

import cv2

img = cv2.imread("24.jpg")
cv2.imshow("img", img)

# 轉換為灰度圖像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

ret, binary = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
contours, hierarchy = cv2.findContours(binary, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)

hull = cv2.convexHull(contours[0], returnPoints=False)

defects = cv2.convexityDefects(contours[0], hull)
print(defects)

for i in range(defects.shape[0]):
    s, e, f, d = defects[i, 0]
    start = tuple(contours[0][s][0])
    end = tuple(contours[0][e][0])
    far = tuple(contours[0][f][0])
    cv2.line(img, start, end, [0, 255, 0], 2)
    cv2.circle(img, far, 5, [0, 0, 255], -1)

cv2.imshow("img1", img)

cv2.waitKey()
cv2.destroyAllWindows()

運行之后,效果如下:


如上圖所示,我們用點標記出來的凸缺陷,可以看到五角星的每個凹肩都是凸缺陷。

最后可以擴展以下,其中OpenCV提供函數cv2.isContourConvex()來判斷輪廓是否是凸形的。同時,也提供了cv2.pointPolygonTest()函數來計算點到多邊形(輪廓)的最短距離,也就是垂線距離,這個計算由稱為點和多邊形的關系測試。感興趣的讀者可以自己實驗這兩個方函數。

簡單例子 手勢圖片

接下來,我們將介紹一張稍微難一點的圖片——手勢圖片(finger.jpg),如下所示:

我們將會來尋找這個手勢的凸包。基本的處理思路還是和之前的一致,只是要在二值化以及凸包點集集合的大小上做一些處理,取二值化的閾值為235,凸包點集中的點個數大于5,完整的Python代碼如下:

import cv2

# 讀取圖片并轉至灰度模式
imagepath = 'F://finger.jpg'
img = cv2.imread(imagepath, 1)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# 二值化,取閾值為235
ret, thresh = cv2.threshold(gray, 235, 255, cv2.THRESH_BINARY)

# 尋找圖像中的輪廓
image, contours, hierarchy = cv2.findContours(thresh, 2, 1)

# 尋找物體的凸包并繪制凸包的輪廓
for cnt in contours:
    hull = cv2.convexHull(cnt)
    length = len(hull)
    # 如果凸包點集中的點個數大于5
    if length > 5:
        # 繪制圖像凸包的輪廓
        for i in range(length):
            cv2.line(img, tuple(hull[i][0]), tuple(hull[(i+1)%length][0]), (0,0,255), 2)

cv2.imshow('finger', img)
cv2.waitKey()

檢測到的凸包如下圖所示:

可以發現,一共檢測到2個凸包,一個是整個手勢外圍的凸包,正好包圍整個手,另一個是兩個手指形成的內部的圖形,類似于O的凸包,這符合我們的預期。

到此這篇關于OpenCV-Python實現凸包的獲取的文章就介紹到這了,更多相關OpenCV-Python 凸包內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:迪慶 楊凌 六盤水 聊城 撫州 牡丹江 揚州 南寧

巨人網絡通訊聲明:本文標題《OpenCV-Python實現凸包的獲取》,本文關鍵詞  OpenCV-Python,實現,凸包,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《OpenCV-Python實現凸包的獲取》相關的同類信息!
  • 本頁收集關于OpenCV-Python實現凸包的獲取的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲福利一二三区| 久久久美女艺术照精彩视频福利播放| 另类小说图片综合网| 午夜精品123| 奇米影视一区二区三区| 欧美aaaaa成人免费观看视频| 午夜日韩在线电影| 日本亚洲电影天堂| 国产乱子伦一区二区三区国色天香| 韩国av一区二区| 福利一区二区在线观看| jlzzjlzz亚洲女人18| 欧美在线高清视频| 日韩三级中文字幕| 国产精品久久久久久久久免费相片 | 色综合久久久久久久久| 色哟哟欧美精品| 在线综合亚洲欧美在线视频| 精品免费国产一区二区三区四区| 国产亚洲va综合人人澡精品| 亚洲另类春色国产| 精品在线亚洲视频| av一区二区三区黑人| 欧美老肥妇做.爰bbww视频| 精品国产髙清在线看国产毛片| 欧美国产1区2区| 亚洲6080在线| 岛国av在线一区| 欧美无砖砖区免费| 国产三级欧美三级日产三级99| 一区二区三区美女视频| 国产中文字幕精品| 精品视频一区二区三区免费| 国产亚洲人成网站| 午夜久久久久久| 99视频国产精品| 日韩女优电影在线观看| 一区二区三区四区在线免费观看| 麻豆精品蜜桃视频网站| 91久久精品一区二区二区| xfplay精品久久| 亚洲成人免费看| 成人免费av在线| 精品成人在线观看| 日韩主播视频在线| 91日韩在线专区| 久久久久久亚洲综合影院红桃| 婷婷国产v国产偷v亚洲高清| 99久久99久久久精品齐齐| 久久五月婷婷丁香社区| 日韩精品亚洲一区二区三区免费| 色综合天天狠狠| 国产日韩欧美精品综合| 美日韩黄色大片| 欧美女孩性生活视频| 亚洲日本丝袜连裤袜办公室| 国产成人午夜精品影院观看视频 | 美女免费视频一区| 欧美色区777第一页| 亚洲欧美色一区| 99在线精品视频| 中文字幕欧美区| 成人高清av在线| 国产精品久久久久四虎| 成人一道本在线| 中文字幕第一区第二区| 成人国产精品免费观看动漫 | 色综合久久久网| 国产欧美一区视频| 国产成人免费在线观看不卡| 久久天堂av综合合色蜜桃网| 国产精品资源网| 国产情人综合久久777777| 国内外成人在线| 久久久久88色偷偷免费| 国产成人夜色高潮福利影视| 国产精品久久久久久久久晋中| 成人美女视频在线观看18| 国产精品亲子伦对白| www.欧美色图| 亚洲国产中文字幕在线视频综合 | 久久亚洲精品国产精品紫薇| 国产一区二区成人久久免费影院 | 色综合天天综合网天天狠天天 | 久久这里只有精品首页| 国产成人免费在线| 中文字幕永久在线不卡| 欧美色图12p| 裸体歌舞表演一区二区| 久久在线免费观看| 成人av手机在线观看| 亚洲在线视频一区| 日韩午夜电影av| 成人一区在线观看| 午夜精品久久一牛影视| 久久综合狠狠综合久久激情| 94-欧美-setu| 久久99精品国产麻豆不卡| 日本一区二区免费在线| 欧美中文字幕一区二区三区亚洲| 午夜不卡在线视频| 国产精品女同一区二区三区| 欧美艳星brazzers| 国产福利91精品| 亚州成人在线电影| 国产精品国产自产拍高清av | 婷婷综合久久一区二区三区| 欧美一区二区久久| 91视频你懂的| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲综合偷拍欧美一区色| 精品国产制服丝袜高跟| 欧美在线色视频| 大胆欧美人体老妇| 九色porny丨国产精品| 亚洲另类在线一区| 中文字幕不卡在线| 久久亚区不卡日本| 91麻豆精品国产91久久久久| 91浏览器打开| 国产成人啪免费观看软件| 日韩激情一区二区| 专区另类欧美日韩| 国产精品私人自拍| 久久久精品天堂| 欧美电影免费观看高清完整版在线观看| 99视频有精品| 成人av在线网| 国产成人a级片| 国产一区二区精品在线观看| 日本不卡视频在线观看| 亚洲第一在线综合网站| 一区二区免费在线| 亚洲欧美日韩一区二区三区在线观看| 精品国产亚洲在线| 日韩免费观看2025年上映的电影| 欧美日韩高清在线播放| 欧美在线不卡视频| 欧美亚洲免费在线一区| 日本韩国精品在线| 一本大道av伊人久久综合| 99在线精品免费| 色综合天天综合网天天看片| 91首页免费视频| 91九色02白丝porn| 欧美日韩精品一区二区天天拍小说| 在线观看一区二区视频| 欧美在线播放高清精品| 欧美日韩亚洲另类| 在线播放视频一区| 666欧美在线视频| 精品粉嫩超白一线天av| 久久日韩精品一区二区五区| 精品国产一区二区亚洲人成毛片| 精品免费日韩av| 欧美激情在线观看视频免费| 国产精品沙发午睡系列990531| 中文字幕一区在线观看| 一区二区激情小说| 视频一区二区不卡| 美女国产一区二区三区| 国产成人综合精品三级| 9久草视频在线视频精品| 在线观看91视频| 6080午夜不卡| 国产偷国产偷亚洲高清人白洁 | 高清久久久久久| 在线一区二区三区四区五区| 欧美日韩一级大片网址| 久久久精品中文字幕麻豆发布| 国产精品少妇自拍| 婷婷丁香久久五月婷婷| 精品一区二区三区日韩| 色综合色狠狠综合色| 欧美一区二区福利视频| 中文字幕欧美日韩一区| 亚洲v精品v日韩v欧美v专区| 激情成人午夜视频| 在线观看亚洲专区| www激情久久| 亚洲国产精品久久人人爱| 麻豆91精品视频| 色诱视频网站一区| 2014亚洲片线观看视频免费| 一区二区三区欧美久久| 国产毛片精品国产一区二区三区| 色天使久久综合网天天| 26uuu亚洲综合色| 亚洲一卡二卡三卡四卡五卡| 国产大陆精品国产| 欧美精品aⅴ在线视频| 国产精品视频在线看| 免费不卡在线观看| 色狠狠色狠狠综合| 久久久久国产免费免费| 六月丁香婷婷色狠狠久久| 一本大道综合伊人精品热热 | 欧美视频一区二区三区| 国产精品色哟哟| 国产精品中文有码|