Requisitos previos: Python NumPy , Python OpenCV
Cada imagen está representada por 3 colores que son rojo, verde y azul. Veamos cómo encontrar el color más dominante capturado por la cámara web usando Python.
Acercarse:
- Importar los módulos cv2 y NumPy
- Capture el video de la cámara web con el método cv2.VideoCapture(0) .
- Muestre el cuadro actual utilizando el método cv2.imshow() .
- Ejecute un ciclo while y tome el cuadro actual usando el método read() .
- Tome los elementos rojo, azul y verde y guárdelos en una lista.
- Calcule el promedio de cada lista.
- Cualquiera que sea el promedio que tenga el mayor valor, muestra ese color.
Python3
# importing required libraries import cv2 import numpy as np # taking the input from webcam vid = cv2.VideoCapture(0) # running while loop just to make sure that # our program keep running until we stop it while True: # capturing the current frame _, frame = vid.read() # displaying the current frame cv2.imshow("frame", frame) # setting values for base colors b = frame[:, :, :1] g = frame[:, :, 1:2] r = frame[:, :, 2:] # computing the mean b_mean = np.mean(b) g_mean = np.mean(g) r_mean = np.mean(r) # displaying the most prominent color if (b_mean > g_mean and b_mean > r_mean): print("Blue") if (g_mean > r_mean and g_mean > b_mean): print("Green") else: print("Red")
Producción:
Publicación traducida automáticamente
Artículo escrito por romilvishol y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA