【发布时间】:2017-05-19 14:53:17
【问题描述】:
我是 CV2 的新手,我正在寻找有关应用程序的一些高级指导。我正在开发一个程序,可以检测相机框架中的红色和蓝色豆袋。我使用了 openCV 提供的示例代码来检测蓝色并稍微修改它以检测红色。
import cv2
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
cap = cv2.VideoCapture(0)
while(1):
# Take each frame
_, frame = cap.read()
# Convert BGR to HSV
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
# define range of blue color in HSV
lower_blue = np.array([110,50,50])
upper_blue = np.array([130,255,255])
lower_red = np.array([-20, 100, 100])
upper_red = np.array([13, 255, 255])
# Threshold the HSV image to get only blue colors
mask = cv2.inRange(hsv, lower_red, upper_red)
# Bitwise-AND mask and original image
res = cv2.bitwise_and(frame,frame, mask= mask)
cv2.imshow('frame',frame)
cv2.imshow('mask',mask)
cv2.imshow('res',res)
k = cv2.waitKey(5) & 0xFF
if k == 27:
break
cv2.destroyAllWindows()
这是(稍作修改)从 OpenCV 站点复制和粘贴的代码。我正在寻找正确的方法来分析维度<460, 640, 3> 的res numpy 数组,以便检测到
- 我的屏幕上有红色/蓝色对象
- 使用此信息执行某些操作,例如
print(1 red and 2 blue squares detected)
【问题讨论】:
-
请更新您的帖子,使用示例图片和您目前的结果。
-
我刚刚这样做了,如果有帮助请告诉我。
-
你能把输入的图片也贴出来吗?
-
完成(屏幕空间不足哈哈)。
标签: python opencv image-processing colors detection