Итак, я пытаюсь найти каждый квадрат на изображении, но получаю слишком много обнаружений. Я хочу обнаруживать только большие кубы, а не весь шум вокруг. Моя проблема также в том, что кубики могут быть разных цветов, но они всегда будут одного размера.
Я написал код, но он не работает.
import numpy as np
import cv2
img = cv2.imread('gulRec.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
imagem = (255-gray)
ret,thresh = cv2.threshold(imagem,120,200,1)
contours,h = cv2.findContours(thresh,1,2)
for cnt in contours:
approx = cv2.approxPolyDP(cnt,0.01*cv2.arcLength(cnt,True),True)
print (len(approx))
if len(approx)==4:
cv2.drawContours(img,[cnt],0,(0,0,255),-1)
cv2.imshow('thresh',thresh)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()