Python 使用opencv查找图像中的所有轮廓

Python 使用opencv查找图像中的所有轮廓,python,opencv,object-detection,Python,Opencv,Object Detection,有人能帮我找出代码中的问题吗?我正试图找到图像中的所有轮廓,然后用灰烬边框覆盖它,但它似乎只覆盖了部分轮廓。 ''' ''” 我尝试打印len(近似)的值,很少有值等于4,检测到的轮廓可能有轻微的不准确,因为可能会出现意外的结果 我试着换衣服 到 您还可以尝试完全删除该条件,或根据需要对其进行编辑 您要查找哪个国家?全部还是特定格式?是否收到错误消息?如果你的代码不能按你想要的那样工作,那怎么办?@dpetrini我想找到立方体框,那就是3个大的红色和白色/灰色框 image_find_g

有人能帮我找出代码中的问题吗?我正试图找到图像中的所有轮廓,然后用灰烬边框覆盖它,但它似乎只覆盖了部分轮廓。 '''

''”

  • 我尝试打印len(近似)的值,很少有值等于4,检测到的轮廓可能有轻微的不准确,因为可能会出现意外的结果
  • 我试着换衣服

  • 您还可以尝试完全删除该条件,或根据需要对其进行编辑

您要查找哪个国家?全部还是特定格式?是否收到错误消息?如果你的代码不能按你想要的那样工作,那怎么办?@dpetrini我想找到立方体框,那就是3个大的红色和白色/灰色框
image_find_goal = "/absolutePathWays.img"
kernel = np.ones((5,5),np.uint8)
#findGoal(image_find_goal)
img1 = cv.imread(image_find_goal,cv.IMREAD_GRAYSCALE)
ret,mask = cv.threshold(img1, 125, 255, cv.THRESH_BINARY_INV)
contours, hierarchy = cv.findContours(mask,cv.RETR_TREE,cv.CHAIN_APPROX_NONE)
for cnt in contours:
    approx = cv.approxPolyDP(cnt,0.01*cv.arcLength(cnt,True),True)
    if len(approx) == 4:
        cv.drawContours(mask,cnt,-1,(119,256,51),5)
mask3 = cv.resize(mask,(640,640))
cv.imshow('IMAGE', mask3)
cv.waitKey(0)
cv.destroyWindow(mask3)
if len(approx) == 4:
if len(approx) >= 4: