ホームページ > バックエンド開発 > Python チュートリアル > Python OpenCV を使用して自然画像内の緑色の物体検出のしきい値を定義する方法

Python OpenCV を使用して自然画像内の緑色の物体検出のしきい値を定義する方法

Barbara Streisand
リリース: 2024-11-02 21:04:30
オリジナル
722 人が閲覧しました

How to Define Threshold Values for Green Object Detection in Natural Images with Python OpenCV?

Python OpenCV を使用して自然画像内の緑色の物体検出のしきい値を定義する

コンピューター ビジョン アプリケーションでは、画像から特定の色を分離することができます。物体の検出と分析に不可欠です。自然環境では、緑色の物体を正確に検出するしきい値を定義することが課題となります。

緑色検出のしきい値を定義するには、一般的なアプローチとして、画像を色相、彩度、値 (HSV) に変換します。カラー スペース。これは、カラー範囲を指定するためのより直感的な方法を提供します。

方法 1: HSV カラー レンジを使用する

1 つの戦略は、次の色範囲に対応する HSV 範囲を特定することです。希望の緑色。たとえば、HSV で (40, 40, 40) ~ (70, 255, 255) のような範囲を選択して緑色のオブジェクトを定義できます。

方法 2: cv2.inRange() を使用する

もう 1 つの方法では、OpenCV の cv2.inRange() 関数を使用します。この関数は 2 つの引数を受け取ります:

  • 下限: ピクセルが緑色でないとみなされる HSV 値。
  • 上限: ピクセルが緑色とみなされる HSV 値。 .

例: 緑のヒマワリの検出

次の例では、画像内の緑のヒマワリの花びらを検出します。

<code class="python">import cv2
import numpy as np

# Read image
img = cv2.imread("sunflower.jpg")

# Convert to HSV
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

# Define HSV range for green (36, 25, 25) ~ (70, 255, 255)
mask = cv2.inRange(hsv, (36, 25, 25), (70, 255, 255))

# Slice the green
imask = mask > 0
green = np.zeros_like(img, np.uint8)
green[imask] = img[imask]

# Save
cv2.imwrite("green.png", green)</code>
ログイン後にコピー

画像を HSV に変換し、しきい値を適用することで、画像内の緑の領域を効果的に分離し、緑以外の領域を別の色 (黒など) に変換できます。

以上がPython OpenCV を使用して自然画像内の緑色の物体検出のしきい値を定義する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート