📜  使用Python检测网络摄像头的 RGB 颜色 – OpenCV

📅  最后修改于: 2022-05-13 01:55:24.801000             🧑  作者: Mango

使用Python检测网络摄像头的 RGB 颜色 – OpenCV

先决条件: Python NumPy、 Python OpenCV

每个图像由红色、绿色和蓝色 3 种颜色表示。让我们看看如何使用Python找到网络摄像头捕获的最主要颜色。

方法:

  1. 导入 cv2 和 NumPy 模块
  2. 使用cv2.VideoCapture(0)方法捕获网络摄像头视频。
  3. 使用cv2.imshow()方法显示当前帧。
  4. 运行一个 while 循环并使用read()方法获取当前帧。
  5. 取红色、蓝色和绿色元素并将它们存储在一个列表中。
  6. 计算每个列表的平均值。
  7. 无论哪个平均值具有最大值,都显示该颜色。
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 untill 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")


输出: