我附上了一个由物体组成的图像。问题是找到图像中存在的对象的计数。我试过opencv找到轮廓功能和模板匹配,但它不能很好地工作。图像中存在的对象不必相同。
有没有更好的方法来解决这类问题。
im2, contours, hierarchy = cv2.findContours(bilateral_filtered_image,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
new_cnts=[]
for c in contours:
area = cv2.contourArea(c)
k = cv2.isContourConvex(c)
if (20<area<200):
new_cnts.append(c)
答案 0 :(得分:0)
1:blob查找阈值(blob大小和形状的一些细化更具体)。
或2:Canny边缘过滤到圆圈查找。它们看起来都很圆,并且或多或少都有干净的边缘。
话虽这么说,我只是基于你给定的图像,成像的第一步总是在可以的时候用照明和摄像机角度堆叠甲板。您可以通过多种方式为此设置添加一些亮点,以便无论您选择哪种模式,都可以使视觉设置更加强大。