2017-09-30 11 views
0

私はhsvカラー範囲を使用して私のモバイルを検出しようとしていますが、問題はどのように私のモバイルを検出する色の範囲を選択する必要があります。opencvのpythonでオブジェクトを色で検出する

モバイルカラーはメタリックゴールデンです。

私はBGRの値を知っている場合、hsvの色の範囲を見つけるための簡単な方法はありますか?ここで

が私のコードである

detectMobile.py

import cv2 
import numpy as np 

cap = cv2.VideoCapture(0) 

while True: 
    _, frame = cap.read() 
    hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) 

    lowerColor = np.array([0, 0, 0]) 
    upperColor = np.array([74, 74, 83]) 

    mask = cv2.inRange(hsv, lowerColor, upperColor) 
    res = cv2.bitwise_and(frame, frame, mask=mask) 

    cv2.imshow('frame', frame) 
    cv2.imshow('mask', mask) 
    #cv2.imshow('res', res) 

    if cv2.waitKey(1) & 0xff == ord('q'): 
     break 

cv2.destroyAllWindows() 
cap.release() 
+0

同じ質問を再投稿しないでください。あなたの投稿を編集すると、それは新しいキューの先頭に表示されます。 –

答えて

0

はい、簡単な方法があります:で提案されているように、あなたはちょうどこの

lowerColor = np.uint8([[[0, 0, 0]]]) 
upperColor = np.uint8([[[74, 74, 83]]]) 
hsv_lower = cv2.cvtColor(lowerColor, cv2.COLOR_BGR2HSV) 
hsv_upper = cv2.cvtColor(upperColor, cv2.COLOR_BGR2HSV) 

に似何かを書くことができますopencv pythonチュートリアル(1)!

+0

私はopencv pythonチュートリアルに従いました。そして、私はhsv_color値を得ました。[[[37 189 212]]]メタリックゴールデンカラー[55,212,175]のBGR値のために、どうすれば範囲を調整するべきですか? –

+0

RGB色空間で範囲を決定し、投稿したコードと同じようにhsvに変換します。 – openTankist

関連する問題