Cómo detectar el tablero de color amarillo y contarlo en OpenCV Python

Esto debería detectar regiones amarillas y dibujar un rectángulo verde alrededor de la región amarilla más grande en su marco.

Si necesita ajustarlo a un tono específico de amarillo, modifique las líneas 7 y 8 para especificar los valores RGB.

importar numpy como np
importar argparse
tiempo de importación
importar cv2

# valores de color en BGR
colorLower = np.array ([255, 255, 0], dtype = “uint8”)
colorUpper = np.array ([255, 255, 150], dtype = “uint8”)
camera = cv2.VideoCapture (0)

mientras cierto:
(agarrado, marco) = camera.read ()
si no es agarrado:
descanso
color = cv2.inRange (frame, colorLower, colorUpper)
color = cv2.GaussianBlur (color, (3, 3), 0)
(cnts, _) = cv2.findContours (color.copy (), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# Ver si tenemos regiones del color especificado
si len (cnts)> 0:
# Detecta la región más grande
cnt = ordenado (cnts, clave = cv2.contourArea, reverse = True) [0]
rect = np.int32 (cv2.cv.BoxPoints (cv2.minAreaRect (cnt)))
# Dibuja un marco rectangular alrededor del objeto detectado
cv2.drawContours (marco, [rect], -1, (0, 255, 0), 2)
cv2.imshow (“Color Tracker”, marco)
tiempo de sueño (0.025)
if cv2.waitKey (1) & 0xFF == ord (“q”):
descanso
camera.release ()
cv2.destroyAllWindows ()

Puede detectar el color amarillo con un rango de matriz numpy. Debe encontrar una matriz de límite superior y una matriz de límite inferior y filtrar los colores no deseados con la función inRange ()