\

PythonとOpenCVを使って、画像の色空間をHSVに変換し、色の検出を行う方法について説明します。

HSV色空間とは

HSV色空間は、「色相 (Hue)」「彩度 (Saturation)」「明度 (Value)」の3つの組み合わせで色を表現する手法です。この色空間は人間が色を知覚する方法と類似しており、RGB色空間よりも人がイメージした通りの色を作りやすいという特徴があります。

PythonとOpenCVでのHSV色空間の利用

PythonとOpenCVを使って、画像をHSV色空間に変換し、赤・緑・青色の領域を色検出する方法を紹介します。

まず、OpenCVのcvtColor関数を使って、画像をBGRからHSVに変換します。

import cv2
import numpy as np

img = cv2.imread('input.png')
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

次に、特定の色(例えば赤色)を検出するためには、その色のHSV値の範囲を指定します。

hsv_min = np.array([0,64,0])
hsv_max = np.array([30,255,255])
mask = cv2.inRange(hsv, hsv_min, hsv_max)

このinRange関数は、指定した範囲内の値を持つピクセルを255(白)、それ以外のピクセルを0(黒)にするマスクを作成します。

最後に、このマスクを元の画像に適用することで、指定した色の領域だけを抽出することができます。

masked_img = cv2.bitwise_and(img, img, mask=mask)

以上が、PythonとOpenCVを使ったHSV色空間の基本的な利用方法です。この知識を活用して、さまざまな画像処理を行うことができます。

参考

OpenCV 画像の色味をHSVで変更してみる。 #Python – Qiita
【Python/OpenCV】赤・緑・青色の検出(HSV色空間) | 西住工房
【Python/OpenCV】RGBからHSVに変換(cv2.cvtColor) | 西住工房
OpenCV: Changing Colorspaces.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です