它是物件的邊界矩形的寬度與高度的比。
a sp
ectr
atio
=wid
thhe
ight
aspect\ ratio= \frac
aspect
rati
o=he
ight
widt
h
x,y,w,h = cv.boundingrect(cnt)
aspect_ratio =
float
(w)/h
它是輪廓區域與邊界矩形區域的比。
e xt
ent=
obje
ctar
eabo
undi
ngre
ctan
glea
reaextent= \frac
extent
=bou
ndin
grec
tang
lear
eaob
ject
area
area = cv.contourarea(cnt)
x,y,w,h = cv.boundingrect(cnt)
rect_area = w*h
extent =
float
(area)
/rect_area
solidity是輪廓區域與其凸包區域的比率。
s ol
idit
y=co
ntou
rare
acon
vexh
ulla
reasolidity= \frac
solidi
ty=c
onve
xhul
lare
acon
tour
area
area = cv.contourarea(cnt)
hull = cv.convexhull(cnt)
hull_area = cv.contourarea(hull)
solidity =
float
(area)
/hull_area
等效直徑是圓的直徑,其面積與輪廓面積相同。
e qu
ival
entd
iame
ter=
4×co
ntou
rare
aπequivalent\ diameter=\sqrt}
equiva
lent
diam
eter
=π4×
cont
oura
rea
area = cv.contourarea(cnt)
equi_diameter = np.sqrt(
4*area/np.pi)
方向是物件定向的角度。以下方法還給出了主軸和短軸長度。
(x,y)
,(ma,ma)
,angle = cv.fitellipse(cnt)
在某些情況下,我們可能需要包含該物件的所有點。它可以如下完成:
mask = np.zeros(imgray.shape,np.uint8)
cv.drawcontours(mask,
[cnt],0
,255,-
1)pixelpoints = np.transpose(np.nonzero(mask)
)#pixelpoints = cv.findnonzero(mask)
這裡,兩個方法,乙個使用numpy函式,另乙個使用opencv函式(最後乙個注釋行)給出相同的方法。 結果也相同,但略有不同。 numpy以**(行,列)格式給出座標,而opencv以(x,y)**格式給出座標。所以答案基本上會互換。請注意,row=x和column=y。
我們可以使用掩模影象找到這些引數。
min_val, max_val, min_loc, max_loc = cv.minmaxloc(imgray,mask = mask)
在這裡,我們可以找到物件的平均顏色。或者它可以是灰度模式下物體的平均強度。我們再次使用相同的面具來做到這一點。
mean_val = cv.mean(im,mask = mask)
極值點表示物件的最頂部,最底部,最右側和最左側的點。
leftmost =
tuple
(cnt[cnt[:,
:,0]
.argmin()]
[0])
rightmost =
tuple
(cnt[cnt[:,
:,0]
.argmax()]
[0])
topmost =
tuple
(cnt[cnt[:,
:,1]
.argmin()]
[0])
bottommost =
tuple
(cnt[cnt[:,
:,1]
.argmax()]
[0])
例如,如果我將它應用於印度地圖,我會得到以下結果:
opencv python 輪廓的層次結構
contours hierarchy 通常我們使用cv.findcontours 函式來檢測影象中的物件,有時物件位於不同的位置.但在某些情況下,某些形狀在其他形狀內.就像巢狀的數字一樣.在這種情況下,我們將外部乙個稱為父項,將內部項稱為子項.這種關係的表示稱為層次結構.在這張中,從0 5編號,2和...
OpenCV Python 輪廓屬性 二十三
在這裡,我們將學習提取一些常用的物體屬性,如堅實度,等效直徑,掩模影象,平均強度等。更多的功能可以在matlab regionprops文件中找到。注 質心 面積 周長等也屬於這一類,但我們在上一章已經見過 它是物件邊界矩形的寬度與高度的比值。aspect ratio frac x,y,w,h cv...
opencv尋找輪廓 繪製輪廓 輪廓層級原理
void findcontours inputoutputarray image,outputarrayofarrays contours,outputarray hierarchy,int mode,int method,point offset point 引數image inputarray型...