私は自分のウェブカメラから撮影されたビデオから赤い色を検出しようとしています。以下に示す次のコード例は、コードは以下のとおりである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のRANGEを教えてください。赤のために同じコードを実行
参照[この質問](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