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

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python Opencv輪廓常用操作代碼實(shí)例解析

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

1.顏色空間轉(zhuǎn)換

使用cv2.cvtColor(input_image ,flag),flag為轉(zhuǎn)換類(lèi)型

常用的轉(zhuǎn)換類(lèi)型有:

BGR和灰度圖的轉(zhuǎn)換使用 cv2.COLOR_BGR2GRAY BGR和HSV的轉(zhuǎn)換使用 cv2.COLOR_BGR2HSV

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

2.二值化

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

返回值

ret:指定的thresh

dst: 目標(biāo)圖像

Python Opencv輪廓常用操作代碼實(shí)例解析

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

3.查找并繪制輪廓

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

概述:

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

參數(shù):

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

返回值:

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

補(bǔ)充: 若想得到輪廓點(diǎn)的集合的列表,可使用

cnt = np.squeeze(contours[0])

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

參數(shù):

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

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.點(diǎn)與輪廓位置關(guān)系

此功能可查找圖像中的點(diǎn)與輪廓之間的最短距離。當(dāng)點(diǎn)在輪廓外時(shí)返回負(fù)值,當(dāng)點(diǎn)在內(nèi)部時(shí)返回正值,如果點(diǎn)在輪廓上則返回零

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

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

在函數(shù)中,第二個(gè)參數(shù)需要tuple類(lèi)型;第三個(gè)參數(shù)是measureDist。 如果為T(mén)rue,則查找距離. 如果為False,則查找該點(diǎn)是在內(nèi)部還是外部或在輪廓上(它分別返回+1,-1,0)

如果不需要到距離,請(qǐng)確保第三個(gè)參數(shù)為False,因?yàn)檫@是一個(gè)耗時(shí)的過(guò)程。因此,將其設(shè)為False可提供2-3倍的加速

5.直線擬合fitline函數(shù)

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

參數(shù):

InputArray Points: 待擬合的直線的集合,必須是矩陣形式(如numpy.array) distType: 距離類(lèi)型。fitline為距離最小化函數(shù),擬合直線時(shí),要使輸入點(diǎn)到擬合直線的距離和最小化。這里的距離的類(lèi)型有以下幾種: cv2.DIST_USER : User defined distance cv2.DIST_L1: distance = |x1-x2| + |y1-y2| cv2.DIST_L2: 歐式距離,此時(shí)與最小二乘法相同 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: 距離參數(shù),跟所選的距離類(lèi)型有關(guān),值可以設(shè)置為0 reps,aeps: 第5/6個(gè)參數(shù)用于表示擬合直線所需要的徑向和角度精度,通常情況下兩個(gè)值均被設(shè)定為1e-2

返回值:

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

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]報(bào)錯(cuò)?

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

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
婷婷精品在线| 丝袜诱惑一区二区| 欧美日韩激情| 99久久夜色精品国产亚洲1000部| 日韩不卡免费高清视频| 国产在线看片免费视频在线观看| 久久久久久色| 国产精品mm| 精品国产一区二区三区av片| zzzwww在线看片免费| 日韩国产专区| 国产女优一区| 日本午夜精品久久久| 久久99久久人婷婷精品综合| 欧美www视频在线观看| 欧美综合另类| 亚洲精品极品| 国产在线观看91一区二区三区| 日韩久久电影| 日韩午夜电影| 日韩精品电影一区亚洲| 国产精品久久久久毛片大屁完整版| 欧美激情99| 一区二区视频欧美| 国产亚洲精品精品国产亚洲综合| 日韩欧美自拍| 亚洲久草在线| 日韩福利一区| 丝袜国产日韩另类美女| 国产精品主播在线观看| 99久久婷婷| 国产欧美日韩综合一区在线播放| 免费污视频在线一区| 日韩欧美激情电影| 97se综合| 日欧美一区二区| 精品久久中文| 手机精品视频在线观看| 国产成人精品福利| 美女尤物久久精品| 国产一区二区三区亚洲综合| 久久国产精品99国产| 精品久久国产一区| 视频一区中文字幕国产| 久久毛片亚洲| 91成人在线精品视频| 久久麻豆精品| 美女视频网站久久| 亚洲精一区二区三区| 91看片一区| 欧美亚洲一级| 午夜精品婷婷| 国产精品麻豆久久| 日本国产亚洲| 亚洲欧美日本国产专区一区| 中文字幕在线高清| 7m精品国产导航在线| 影音先锋久久| 中国字幕a在线看韩国电影| 视频一区中文字幕精品 | 日韩一区三区| 欧美一区成人| 午夜在线观看免费一区| 国产精品xx| 久久精品97| 蜜桃视频免费观看一区| 激情综合网址| sm久久捆绑调教精品一区| 青青国产91久久久久久| 亚洲精品进入| 亚洲乱码视频| 一区二区91| 99在线精品视频在线观看| 电影亚洲精品噜噜在线观看| 久久精品国内一区二区三区| 日韩精品免费视频人成| 亚洲图片久久| 亚洲精选91| 快she精品国产999| 激情婷婷综合| 欧美高清不卡| 亚洲福利一区| 激情久久婷婷| 婷婷综合在线| 激情欧美一区| 1024精品一区二区三区| 欧洲在线一区| 久久精品国产www456c0m| 国产精品蜜芽在线观看| 国产一区二区三区91| 欧美国产日本| 精品三级av| 高清不卡亚洲| 日韩久久电影| 国产99精品| 99视频+国产日韩欧美| 亚洲国产一区二区在线观看 | 国产一区调教| 日本久久黄色| 999国产精品视频| 99久久九九| 日韩一级不卡| 中文字幕日韩亚洲| 久久精品99久久久| 国产精品入口久久| 精品精品国产三级a∨在线| 久久精品国产免费| 色综合五月天| 午夜视频精品| 免费成人av在线播放| 日韩av在线免费观看不卡| 欧美视频二区| 精品久久不卡| 亚洲天堂久久| 亚洲欧美日本国产| 国产精品欧美在线观看| 色综合狠狠操| 亚洲一区不卡| 国产精品网在线观看| 91亚洲一区| 午夜久久美女| 日本亚洲欧洲无免费码在线| 免费在线观看一区| 色婷婷精品视频| 久久国产精品久久w女人spa| 日本不卡中文字幕| 久久香蕉网站| 欧美日韩免费观看一区=区三区| 日韩影院在线观看| 欧美极品一区二区三区| 久久精品91| 日韩三级视频| 特黄毛片在线观看| 综合色就爱涩涩涩综合婷婷| 国产高清精品二区| 亚洲手机视频| 欧美另类中文字幕| 伊伊综合在线| 日韩有码av| 久久夜夜操妹子| 色综合视频一区二区三区日韩 | 日韩电影二区| 一区二区三区网站| 中文字幕色婷婷在线视频| 9色精品在线| 麻豆成人av在线| 尤物网精品视频| 美女视频网站久久| 亚洲在线电影| 国产中文字幕一区二区三区| 欧美中文日韩| 国产美女高潮在线观看| 日韩精品五月天| 久久精品观看| 国产精品一区二区99| 在线综合亚洲| 国产videos久久| 中文字幕日韩亚洲| 久久精品高清| 美女久久久久久 | 国产精品17p| 久久大逼视频| 色老板在线视频一区二区| 国产精品欧美大片| 中文字幕日本一区二区| 1000部精品久久久久久久久| 国产毛片精品| 亚洲欧美日韩国产| 久久美女性网| 麻豆视频久久| 日本午夜精品久久久久| 国产精品毛片| 亚洲电影在线| 麻豆91精品视频| 日韩精品久久久久久久软件91| 国产一区亚洲| 理论片午夜视频在线观看| 国产区精品区| 亚洲综合色婷婷在线观看| 欧美精品一区二区久久| 91一区二区| 国产精品magnet| 日本一区福利在线| 性色一区二区| 日韩视频久久| 99久久久久久中文字幕一区| 久久久久亚洲精品中文字幕| 日本在线一区二区三区| 亚洲黄页一区| 蜜桃tv一区二区三区| 国产一区2区在线观看| 国产精品igao视频网网址不卡日韩| 最新国产精品久久久| 亚洲中字黄色| 欧美日韩四区| 欧美+日本+国产+在线a∨观看| 精品亚洲美女网站| 韩国三级一区| 久久视频一区| 亚洲韩日在线|