使用Python检测网络摄像头的 RGB 颜色 – OpenCV
先决条件: Python NumPy、 Python OpenCV
每个图像由红色、绿色和蓝色 3 种颜色表示。让我们看看如何使用Python找到网络摄像头捕获的最主要颜色。
方法:
- 导入 cv2 和 NumPy 模块
- 使用cv2.VideoCapture(0)方法捕获网络摄像头视频。
- 使用cv2.imshow()方法显示当前帧。
- 运行一个 while 循环并使用read()方法获取当前帧。
- 取红色、蓝色和绿色元素并将它们存储在一个列表中。
- 计算每个列表的平均值。
- 无论哪个平均值具有最大值,都显示该颜色。
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")
输出: