- 色空間変換
一般的な変換方法:BGR < - > RGB、BGR < - > グレー とBGR < - > HSV
関数:cv2.cvtColor(input_image 、フラグ)前記フラグは変換タイプです。
コード:
1つの インポートCV2 2 インポートAS NP numpyの 。3 。4 IMG = cv2.imread(' ../image/min.jpg ' ) 。5 。6 #BGRは、RGBマトリックスに変換 7 IMG = cv2.cvtColor(IMG、cv2.COLOR_BGR2RGB) 。8 。9 #BGR GRAYは、マトリックスに変換 10 IMG = cv2.cvtColor(IMG、cv2.COLOR_BGR2GRAY) 。11 12である #BGRは、HSV行列に変換 13は、 IMG = cv2.cvtColor(IMG、cv2.COLOR_BGR2HSV)
注:でOpenCVのHSVの形式、H (色/ 色度)の範囲にある[0 、 179] 、 Sの範囲(飽和)、[0 、 255] 、 V (明度)の範囲[0 、 255] 。 しかし、このソフトウェアは、異なる値が異なる場合があります使用しています。一般的な範囲:360°、S 0〜100%のH 0は、Vは0〜255です。
- 単純なオブジェクトの追跡
HSVモードで画像を使用して、特定の色のオブジェクトの抽出(HSV色空間は、BGRの色空間よりも容易に特定の色を表します。)
1つの インポートNP AS numpyの
2 インポートCV2
3。
4。 #キャプチャカメラ
5。 CAP = cv2.VideoCapture(0)
6。
7。 一方、(1。 )
。8
。9 #は、各フレームを取得
10 RET、フレーム= cap.readを()
。11
12は、 #1 変換HSV空間に
13である HSV = cv2.cvtColor(フレーム、cv2.COLOR_BGR2HSV)
14
15 #組しきい値ブルー
16 lower_blue np.array =([110、50、50 ])
。17 upper_blue np.array =([130、 255、255 ])
18
19 #閾値による建設マスク(255個のピクセルに設定された閾値以内、それ以外の場合は0)
20は、 マスク= cv2.inRange(HSV、lower_blue、upper_blue)
21である
22れる RES = cv2.bitwise_and(フレーム、フレーム、マスク= マスク)
23であります
24 cv2.imshow(' フレーム' 、フレーム)
25 cv2.imshow(' マスク' 、マスク)
26が cv2.imshow(' RES ' 、RES)
27 K = cv2.waitKey(5)&0xFFで
28 IFのK == 27 :
29 BREAK
30
31 cv2.destroyAllWindows()