有了轮廓,我可以这样做:
if cv2.contourArea(cntr) <= 3:
cv2.drawContours(img, [cntr], -1, (0, 0, 0), 1)
如何使用ConnectedComponentsStats?
答案 0 :(得分:2)
如果您想对connectedComponentsWithStats
执行相同操作,请执行以下步骤:
// This here is for making a custom image
img = np.zeros((500,500,3),dtype=np.uint8)
for i in xrange(1,5):
img = cv2.circle(img, (i*80,i*80), 5, (255,255,255), -1)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
// CCA from here
labelnum, labelimg, contours, GoCs = cv2.connectedComponentsWithStats(gray)
for label in xrange(1,labelnum):
x,y = GoCs[label]
img = cv2.circle(img, (int(x),int(y)), 1, (0,0,255), -1)
x,y,w,h,size = contours[label]
if size <= 100:
img = cv2.rectangle(img, (x,y), (x+w,y+h), (255,255,0), 1)
这给出了以下图像:
希望它有所帮助!