我在检测圆形区域时遇到问题。
我使用来自opencv的HoughCircles函数进行了尝试。但是,即使图像非常相似,该功能的参数也必须不同才能检测到卷。
我尝试的另一种方法是遍历每个像素,并检查当前像素是否为白色。
如果是这种情况,请检查该区域中是否有斑点对象(到斑点中心的距离小于阈值)。如果存在,则将像素附加到斑点,如果没有,则创建一个新的斑点。
这也不能正常工作。
有谁知道我该如何进行这项工作(90%的检测)?
我附加了一个示例图像和另一个标记了cirles的图像。
谢谢!
更新:
谢谢您到目前为止的帮助!
这是我获取轮廓并按面积过滤它们的代码:
im = cv2.imread('extract_blue.jpg')
imgray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
im_gauss = cv2.GaussianBlur(imgray, (5, 5), 0)
ret, thresh = cv2.threshold(im_gauss, 127, 255, 0)
# get contours
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)