OpenCV のしきい値を使用して緑色のオブジェクトを検出する
特定の色のオブジェクトの検出は、画像処理における一般的なタスクです。この質問では、OpenCV を使用して画像内の緑色のオブジェクトを分離するためのしきい値を定義する方法を示します。
しきい値の定義
緑色のオブジェクトを検出するには、色相 (H)、彩度 (S)、および値 (V) 色空間のしきい値の範囲。 H 値は色の色相を決定し、S と V はそれぞれ彩度と明るさを示します。
方法 1: HSV カラー スペース
1 つのアプローチは、 HSV 色空間。RGB よりも正確な色表現を提供します。緑の場合、
方法 2: cv2.inRange
もう 1 つの方法は、下限しきい値と上限しきい値の 2 つの引数を取る cv2.inRange() 関数を使用することです。しきい値。たとえば、緑を検出するには:
実装例
次の Python コードは、OpenCV を使用してこれを示しています。
<code class="python">import cv2 import numpy as np # Read image img = cv2.imread("image.jpg") # Convert to HSV hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) # Define threshold values lower_bound = (36, 25, 25) upper_bound = (70, 255, 255) # Create mask mask = cv2.inRange(hsv, lower_bound, upper_bound) # Extract green objects green = np.zeros_like(img, np.uint8) imask = mask > 0 green[imask] = img[imask] # Display cv2.imshow("Green Objects", green) cv2.waitKey(0)</code>
このコードは、入力画像から緑色のオブジェクトを分離するためのしきい値を定義する方法を示しています。特定された緑色の領域のみを含む結果の画像を表示します。
以上がOpenCV のしきい値を使用して画像内の緑色のオブジェクトを検出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。