2016-04-23 61 views
1

私はpythonでopenCVを使用して黄色を識別するために取り組んでいます。私はHSVの黄色の下側と上側の範囲を定義する必要があるこのステップに来ました。青の範囲を定義するためのopenCVを使用してHSVの色の範囲を確認

例:HSVは通常の割合で定義されている

lower_blue = np.array([110,50,50]) 
upper_blue = np.array([130,255,255]) 

、私は例のように黄色の範囲を定義する方法を知りたいです。

This is the colorspaces tutorial I've been following.

編集: は、上記のブログでいくつかの提案があり、それは私に所望の出力を与えるものではありません。

+0

http://i.stack.imgur.com/gCNJp.jpgをご覧ください。色相値は度で与えられる。 OpenCvは0..360ではなく0..180の範囲を使用しているため、度数を2で除算する必要があります。目標値の周りの任意の範囲を選択します。例えば黄色は色相値が60度である。したがって、あなたの色相範囲は60/2〜10/60/2 + 10/60/2〜5/60/2 + 5になります。 – Micka

答えて

2

this pageをご覧ください。希望の色のHSV値が見つかります。

HSVの場合、色相範囲は[0,179]、彩度範囲は[0,255]、値域は[0,255]です。異なるソフトウェアは異なるスケールを使用します。したがって、OpenCV値をそれらと比較する場合は、これらの範囲を正規化する必要があります。私はあなたが黄色

lower_blue = np.array([25,50,50]) 
upper_blue = np.array([32,255,255]) 
+0

はい、黄色の値を探しています。 – Harish

0

については、以下のような値を検索していると思います

「追跡するHSV値を見つけるために、どのように?」という見出しの下で同じページで回答されています。おそらくアップデート。

http://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_imgproc/py_colorspaces/py_colorspaces.html

green = np.uint8([[[0,255,0 ]]]) 
hsv_green = cv2.cvtColor(green,cv2.COLOR_BGR2HSV) 
print hsv_green 

[[[60 255 255]]]

今、あなたは取る[H-10、100100]と[H + 10、255、255]下界と上のようにそれぞれ結合した。

0

カメラから写真を撮ると、照明の状態によって異なります。目的をいくつかのオブジェクトをトラッキングする場合は、常にHSV値を更新する必要があります。私の助言はあなたの照明の状態でできるだけ狭い境界を保つことです。

関連する問題