日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Python Opencv輪廓常用操作代碼實例解析

瀏覽:135日期:2022-07-12 16:51:58

1.顏色空間轉換

使用cv2.cvtColor(input_image ,flag),flag為轉換類型

常用的轉換類型有:

BGR和灰度圖的轉換使用 cv2.COLOR_BGR2GRAY BGR和HSV的轉換使用 cv2.COLOR_BGR2HSV

img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

2.二值化

ret, dst = cv2.threshold(src, thresh, maxval, type) src:表示的是圖片源(灰度圖) thresh:表示的是閾值(起始值) maxval:表示的是最大值 type:表示的是這里劃分的時候使用的是什么類型的算法,常用值為0(cv2.THRESH_BINARY)

返回值

ret:指定的thresh

dst: 目標圖像

Python Opencv輪廓常用操作代碼實例解析

ret, dst = cv2.threshold(img_gray, 200, 255, cv2.THRESH_BINARY)

3.查找并繪制輪廓

3.1 cv2.findContours(image, mode, method[, offset])

概述:

尋找一個二值圖像的輪廓。注意黑色表示背景,白色表示物體,即在黑色背景里尋找白色物體的輪廓

參數:

image: 8位單通道圖像。非零像素值視為1,所以圖像視作二值圖像 mode: 輪廓檢索的方式 cv2.RETR_EXTERNAL: 只檢索外部輪廓 cv2.RETR_LIST: 檢測所有輪廓且不建立層次結構 cv2.RETR_CCOMP: 檢測所有輪廓,建立兩級層次結構。上面的一層為外邊界,里面的一層為內孔的邊界信息。如果內孔內還有一個連通物體,這個物體的邊界也在頂層。 cv2.RETR_TREE: 檢測所有輪廓,建立完整的層次結構 method: 輪廓近似的方法 cv2.CHAIN_APPROX_NONE: 存儲所有的輪廓點 cv2.CHAIN_APPROX_SIMPLE: 壓縮水平,垂直和對角線段,只留下端點。 例如矩形輪廓可以用4個點編碼 cv2.CHAIN_APPROX_TC89_L1,cv2.CHAIN_APPROX_TC89_KCOS:使用Teh-Chini chain近似算法 offset:(可選參數)輪廓點的偏移量,格式為tuple,如(-10,10)表示輪廓點沿X負方向偏移10個像素點,沿Y正方向偏移10個像素點

返回值:

contours: 輪廓點。列表格式,每一個元素為一個3維數組(其形狀為(n,1,2),其中n表示輪廓點個數,2表示像素點坐標),表示一個輪廓 hierarchy: 輪廓間的層次關系,為三維數組,形狀為(1,n,4),其中n表示輪廓總個數,4指的是用4個數表示各輪廓間的相互關系。第一個數表示同級輪廓的下一個輪廓編號,第二個數表示同級輪廓的上一個輪廓的編號,第三個數表示該輪廓下一級輪廓的編號,第四個數表示該輪廓的上一級輪廓的編號

補充: 若想得到輪廓點的集合的列表,可使用

cnt = np.squeeze(contours[0])

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

參數:

image: 需要繪制輪廓的目標圖像,注意會改變原圖 contours: 輪廓點,上述函數cv2.findContours()的第一個返回值 contourIdx: 輪廓的索引,表示繪制第幾個輪廓,-1表示繪制所有的輪廓 color: 繪制輪廓的顏色 thickness:(可選參數)輪廓線的寬度,-1表示填充 lineType:(可選參數)輪廓線型,包括cv2.LINE_4,cv2.LINE_8(默認),cv2.LINE_AA,分別表示4鄰域線,8領域線,抗鋸齒線(可以更好地顯示曲線) hierarchy:(可選參數)層級結構,上述函數cv2.findContours()的第二個返回值,配合maxLevel參數使用 maxLevel:(可選參數)等于0表示只繪制指定的輪廓,等于1表示繪制指定輪廓及其下一級子輪廓,等于2表示繪制指定輪廓及其所有子輪廓 offset:(可選參數)輪廓點的偏移量

import cv2img = cv2.imread(’D:/2.jpg’,1)

img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)ret, dst = cv2.threshold(img_gray, 200, 255, cv2.THRESH_BINARY)

contours,hierarchy = cv2.findContours(dst, cv2.RETR_LIST, cv2.CHAIN_APPROX_NONE)cv2.drawContours(img, contours, -1, (0, 255, 0), 3)

cv2.imshow(’img’,img)cv2.waitKey(0)

4.點與輪廓位置關系

此功能可查找圖像中的點與輪廓之間的最短距離。當點在輪廓外時返回負值,當點在內部時返回正值,如果點在輪廓上則返回零

dist = cv2.pointPolygonTest(cnt, (100, 100), True)

檢查(100,100)與輪廓(cnt)的距離

在函數中,第二個參數需要tuple類型;第三個參數是measureDist。 如果為True,則查找距離. 如果為False,則查找該點是在內部還是外部或在輪廓上(它分別返回+1,-1,0)

如果不需要到距離,請確保第三個參數為False,因為這是一個耗時的過程。因此,將其設為False可提供2-3倍的加速

5.直線擬合fitline函數

output = cv2.fitLine(InputArray points, distType, param, reps, aeps)

參數:

InputArray Points: 待擬合的直線的集合,必須是矩陣形式(如numpy.array) distType: 距離類型。fitline為距離最小化函數,擬合直線時,要使輸入點到擬合直線的距離和最小化。這里的距離的類型有以下幾種: cv2.DIST_USER : User defined distance cv2.DIST_L1: distance = |x1-x2| + |y1-y2| cv2.DIST_L2: 歐式距離,此時與最小二乘法相同 cv2.DIST_C: distance = max(|x1-x2|,|y1-y2|) cv2.DIST_L12: L1-L2 metric: distance = 2(sqrt(1+x*x/2) - 1)) cv2.DIST_FAIR cv2.DIST_WELSCH cv2.DIST_HUBER param: 距離參數,跟所選的距離類型有關,值可以設置為0 reps,aeps: 第5/6個參數用于表示擬合直線所需要的徑向和角度精度,通常情況下兩個值均被設定為1e-2

返回值:

output:對于二維直線,輸出output為4維,前兩維代表擬合出的直線的方向,后兩位代表直線上的一點。(即通常說的點斜式直線)

loc = np.array(loc)output = cv2.fitLine(loc, cv2.DIST_L2, 0, 0.01, 0.01)k = output[1] / output[0]b = output[3] - k * output[2]#k[key]報錯?

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
老鸭窝亚洲一区二区三区| 亚洲精品九九| 99精品综合| 国产精品成人**免费视频| 国产中文一区| 精品久久久中文字幕| 另类激情亚洲| 久久精品免费一区二区三区 | 亚洲精品韩国| 久久久久国产精品一区三寸| 91精品国产经典在线观看| 91九色精品| 久久伦理在线| 午夜影院一区| 高清一区二区| 一区在线视频观看| 激情黄产视频在线免费观看| 欧美在线91| 日韩二区在线观看| 中文字幕成人| 亚洲毛片视频| 天堂va在线高清一区| 日韩专区在线视频| 久久激情中文| 欧美日韩在线观看视频小说| 亚洲精品成人图区| 久久精品国产免费| 久久99高清| 欧美aa在线观看| 999精品在线| 欧美1级日本1级| 国产精品毛片在线看| 欧美日韩精品免费观看视频完整| 亚洲视频二区| 国产成人精选| 婷婷色综合网| 亚洲精品三级| 毛片不卡一区二区| 开心激情综合| 中文字幕在线视频久| 亚洲91精品| 在线看片日韩| 精品视频高潮| 欧美午夜不卡| 亚洲一区二区小说| 国产精品成久久久久| 午夜国产一区二区| 久久精品99国产精品| 精品久久精品| 久久高清国产| 日韩a一区二区| 无码日韩精品一区二区免费| 精品三区视频| 亚洲欧洲日本mm| 国产精品久久亚洲不卡| 欧美日韩一二| 久久中文字幕导航| 丝袜国产日韩另类美女| 麻豆91精品视频| 日韩专区一卡二卡| 中文字幕在线视频网站| 日韩在线观看中文字幕| 亚洲天堂1区| 久久精品网址| 91精品尤物| 免费观看日韩电影| 日韩一区欧美| 动漫av一区| 日本精品一区二区三区在线观看视频| 国产96在线亚洲| 久久国产欧美日韩精品| 久久国产精品亚洲77777| 色婷婷亚洲mv天堂mv在影片| 日韩亚洲精品在线观看| 蜜臀av国产精品久久久久| 久久精品主播| 日韩一区亚洲二区| 日韩欧美综合| 日韩不卡在线| 日韩欧美一区二区三区免费观看| 国产精品羞羞答答在线观看| 亚洲欧洲日韩精品在线| 一区二区不卡| 亚洲欧美视频| 亚洲成人免费| 亚洲综合日本| 亚洲综合中文| 欧美一级二区| 国产一区二区三区四区二区 | 国产一区二区色噜噜| 国产h片在线观看| 国产精品字幕| 日韩中文字幕一区二区三区| 97成人在线| 日韩av有码| 一区二区亚洲精品| 日韩国产欧美三级| 国产日韩欧美一区二区三区在线观看| 日本成人手机在线| 麻豆精品视频在线观看视频| 亚洲最新无码中文字幕久久 | 久久一区视频| 午夜欧美精品| 久久久亚洲欧洲日产| 亚洲福利一区| 18国产精品| 欧美日韩水蜜桃| 国产精品一区二区99| 亚洲a在线视频| 免费在线播放第一区高清av| 国产精品日本一区二区不卡视频| 中文字幕高清在线播放| 亚洲美女91| 裤袜国产欧美精品一区| 深夜日韩欧美| 亚洲午夜黄色| 精品亚洲成人| 日韩国产在线观看| 亚洲激情黄色| 欧美三区四区| 狂野欧美性猛交xxxx| 中文无码日韩欧| 久久在线免费| 成人美女视频| 色欧美自拍视频| 91九色综合| 日韩午夜视频在线| 精品欧美久久| 99久精品视频在线观看视频| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 国产91久久精品一区二区| 国产精品调教视频| 日本不卡一二三区黄网| 丝袜诱惑制服诱惑色一区在线观看| 日韩精品电影| 日韩欧美1区| 日韩欧美看国产| 97精品国产| 亚洲成人精品| 午夜久久一区| 蜜桃一区二区三区在线| 日韩在线卡一卡二| 免费看欧美美女黄的网站| 免费人成在线不卡| 青草国产精品| 国产精品片aa在线观看| 国产精品一区二区三区美女| 国产伊人久久| 亚洲精品在线影院| 美女福利一区二区三区| 久久国产直播| 亚洲色图网站| 久久精品三级| 黄色亚洲精品| 美女性感视频久久| 欧美日韩在线观看视频小说| 亚洲一区二区三区高清不卡| 日韩欧美久久| 日韩三区在线| 欧美日韩亚洲一区| 日韩欧美一区二区三区免费看| 国产精品色网| 中文字幕成人| 蜜桃一区二区三区在线| 国产日韩欧美中文在线| 午夜精品成人av| 在线精品亚洲| 成人看片网站| 国产精品探花在线观看| 99pao成人国产永久免费视频| 亚洲精品伊人| 国产一区清纯| 精品亚洲二区| 亚洲综合激情在线| 日韩三区免费| 日本成人手机在线| 红桃视频国产一区| 日韩成人精品一区二区| 日韩中文字幕区一区有砖一区 | 欧美成人国产| 91欧美日韩| 精品在线网站观看| 日本不卡视频在线| 男人操女人的视频在线观看欧美 | 在线观看视频免费一区二区三区| 国产精品精品国产一区二区| 911精品国产| 91九色综合| 亚洲精品美女91| 在线日韩成人| 亚洲精品日韩久久| 亚洲香蕉久久| 日韩国产欧美视频| 青草综合视频| 国产伦理一区| 国产专区精品| 中文字幕系列一区| 亚洲精品午夜av福利久久蜜桃| 日韩欧美三级| 国产精品日本|