cv::inRange (OpenCV) を使用したオブジェクト検出の色の境界の選択
色の検出に cv::inRange 関数を利用する場合、適切な HSV の上限と下限を選択することが重要です。この記事では、関心のある特定の色に基づいてこれらの境界を効果的に決定する方法について説明します。
背景
HSV (色相、彩度、値) は色の 1 つです。画像処理でよく使われる空間。 HSV モデルは、色を 3 つの要素として表します。
境界の選択
適切な HSV 境界の決定は、検出される特定の色に基づいて行われます。以下はステップバイステップのガイドです:
色相の決定:
色相範囲の調整:
彩度と値の範囲を設定します:
形式を検討します:
例
画像内のオレンジ色の蓋を検出する例を考えてみましょう。
HSV値:
調整済み境界:
Python コード:
import cv2 import numpy as np ORANGE_MIN = np.array([11, 50, 50], np.uint8) ORANGE_MAX = np.array([33, 255, 255], np.uint8) # Read and convert image img = cv2.imread('image.png') hsv_img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) # Detect orange using inRange mask = cv2.inRange(hsv_img, ORANGE_MIN, ORANGE_MAX) # Display mask cv2.imshow('Mask', mask) cv2.waitKey(0)
以上がcv::inRange を使用してオブジェクト検出のための HSV カラー境界を効果的に決定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。