ホームページ  >  記事  >  バックエンド開発  >  OpenCV のしきい値を使用して画像内の緑色のオブジェクトを検出する方法

OpenCV のしきい値を使用して画像内の緑色のオブジェクトを検出する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-11-04 08:17:02903ブラウズ

How to Detect Green Objects in an Image Using OpenCV Threshold Values?

OpenCV のしきい値を使用して緑色のオブジェクトを検出する

特定の色のオブジェクトの検出は、画像処理における一般的なタスクです。この質問では、OpenCV を使用して画像内の緑色のオブジェクトを分離するためのしきい値を定義する方法を示します。

しきい値の定義

緑色のオブジェクトを検出するには、色相 (H)、彩度 (S)、および値 (V) 色空間のしきい値の範囲。 H 値は色の色相を決定し、S と V はそれぞれ彩度と明るさを示します。

方法 1: HSV カラー スペース

1 つのアプローチは、 HSV 色空間。RGB よりも正確な色表現を提供します。緑の場合、

  • H: 36-86
  • S: 25-255
  • V: 25-255
  • のような範囲を指定できます。

方法 2: cv2.inRange

もう 1 つの方法は、下限しきい値と上限しきい値の 2 つの引数を取る cv2.inRange() 関数を使用することです。しきい値。たとえば、緑を検出するには:

  • 下限: (36, 25, 25)
  • 上限: (70, 255, 255)

実装例

次の 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。