我正試圖從正在從攝像頭拍攝的視頻中檢測紅色。下面給出的下面的代碼的例子是從OpenCV Documentation. 採取下面的代碼中給出:如何檢測OpenCV Python中的紅色?
import cv2
import numpy as np
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])
# Threshold the HSV image to get only blue colors
mask = cv2.inRange(hsv, lower_blue, upper_blue)
# 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()
線lower_blue = np.array([110,50,50])
具有較低的範圍藍HSV值與所述線upper_blue = np.array([130,255,255])
具有較高的範圍藍HSV值。我在網上查找了紅色的上限值和下限值,但是我找不到它。如果有人能夠說出OpenCV的Red的HSV值(OpenCV H值範圍從0到179),這將非常有幫助。 非常感謝您的幫助(提前)。
我也嘗試運行以下找到紅色的範圍,但我無法挑選適當的值也許。我試過的是這個(對於紅色):
>>> green = np.uint8([[[0,255,0 ]]])
>>> hsv_green = cv2.cvtColor(green,cv2.COLOR_BGR2HSV)
>>> print hsv_green
[[[ 60 255 255]]]
這也取自OpenCV文檔。 請告訴我或幫我找到OpenCV的RED COLOR範圍。
參見[這個問題](http://stackoverflow.com/questions/21737613/image-of-hsv- color-wheel-for-opencv) - 您可以在那裏使用色輪並將值(在0-360範圍內)分開以找出色調值(如接受的答案中所述)。你也可以看看[這個例子](https://solarianprogrammer.com/2015/05/08/detect-red-circles-image-using-opencv/)。簡單地回答你的問題,紅色是圍繞0和180值(因爲顏色「環繞」) –
可能重複[OpenCV更好的檢測紅色?](http://stackoverflow.com/questions/32522989/opencv-更好的紅色檢測) – Miki
我不太瞭解如何獲得S和V值。你能解釋一下嗎?非常感謝(提前)! @Miki – Omee