轮廓特征

2023-09-11  本文已影响0人  大龙10

图像轮廓是指由位于边缘、连续的、具有相同颜色和强度的点构成的曲线,它可以用于形状分析以及对象检测和识别。


一、轮廓的矩

img1 = np.zeros(o.shape, np.uint8) + 255
img1 = cv2.drawContours(img1, contours, -1,(0,255,0),2)
cv2.imshow('Contours',img1)

m0 = cv2.moments(contours[0])
print('轮廓0的矩:', m0)
print('轮廓0的面积:', m0['m00'])

二、轮廓的面积

三、轮廓的长度

四、轮廓的近似多边形

arcl = cv2.arcLength(contours[0], True)
img2 = o.copy()
app = cv2.approxPolyDP(contours[0], arcl*0.05, True)
img2 = cv2.drawContours(img2, [app], -1, (255,0,0), 2)
cv2.imshow('contours',img2)

五、轮廓的凸包

hull = cv2.convexHull(contours[0])
print('returnPoints = Treu 时返回的凸包;\n',hull)

hull2 = cv2.convexHull(contours[0], returnPoints=False)
print('returnPoints = False时返回的凸包;\n',hull2)

cv2.polylines(o, [hull], True, (0,0,255),2)
cv2.imshow('ConvecHull',o)

六、资料

「机器视觉小学徒」的博客:
https://blog.csdn.net/weixin_43843069/article/details/122039788
上一篇下一篇

猜你喜欢

热点阅读