Python版OpenCVでカラートラッキング(色追跡)を実装し、移動物体を検出する方法をソースコード付きで解説します。
カラートラッキング(色追跡)で移動物体検知
カラートラッキング(色追跡)は、その名の通り、特定の色のみを検出して追跡します。 カラートラッキングには、通常RGB色空間ではなく、同系統の色の範囲を数値で指定しやすいHSV色空間を用います。 HSV色空間とは、「色相(Hue)」「彩度(Saturation)」「明度(Value)」の3つの組み合わせで色を表現する手法です。
| – | 説明 |
|---|---|
| 色相(H) | 色合い。(赤っぽい、青っぽいといった色のおおまかな違いのことで、赤なら0度、黄色なら 60度といったように角度で色合いが決まります) |
| 彩度(S) | 色の鮮やかさ。(色相が同じ場合でも、彩度が高ければ鮮やかに見え、低ければグレーに見える。彩度がゼロの場合は無彩色[黒、グレー、白]) |
| 明度(V) | 色の明るさ。(高いほど明るい色になる) |
今回は、PythonとOpenCVで以下の赤色物体を検知するプログラムを作成します。
【HSV色空間の赤色】
| – | 赤色の範囲 | 赤色の範囲(OpenCVの場合) |
|---|---|---|
| H | 0~60, 300~360[度] | 0~30, 150~179 |
| S | 50~100[%] | 128~255 |
| V | 00~100[%] | 0~255 |


コメント