Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erkennt man grüne Objekte in einem Bild mithilfe von OpenCV-Schwellenwerten?

Wie erkennt man grüne Objekte in einem Bild mithilfe von OpenCV-Schwellenwerten?

Barbara Streisand
Barbara StreisandOriginal
2024-11-04 08:17:02947Durchsuche

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

Grüne Objekte mit Schwellenwerten in OpenCV erkennen

Die Erkennung spezifischer Farbobjekte ist eine häufige Aufgabe in der Bildverarbeitung. Diese Frage zeigt, wie man Schwellenwerte definiert, um grüne Farbobjekte in einem Bild mit OpenCV zu isolieren.

Schwellenwert definieren

Um grüne Objekte zu erkennen, können Sie a definieren Schwellenwertbereich im Farbraum Farbton (H), Sättigung (S) und Wert (V). Der H-Wert bestimmt den Farbton, während S und V die Sättigung bzw. Helligkeit angeben.

Methode 1: HSV-Farbraum

Ein Ansatz besteht darin, den zu verwenden HSV-Farbraum, der eine genauere Farbdarstellung als RGB bietet. Für Grün können Sie einen Bereich angeben wie:

  • H: 36-86
  • S: 25-255
  • V: 25-255

Methode 2: cv2.inRange

Eine andere Methode ist die Verwendung der Funktion cv2.inRange(), die zwei Argumente benötigt: einen unteren Begrenzungsschwellenwert und einen oberen Begrenzungsschwellenwert Schwelle. Um beispielsweise Grün zu erkennen:

  • Untere Grenze: (36, 25, 25)
  • Obere Grenze: (70, 255, 255)

Beispielimplementierung

Der folgende Python-Code demonstriert dies mit 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>

Dieser Code zeigt, wie Schwellenwerte definiert werden, um grüne Objekte aus einem Eingabebild zu isolieren. Präsentieren des resultierenden Bildes nur mit den identifizierten grünen Bereichen.

Das obige ist der detaillierte Inhalt vonWie erkennt man grüne Objekte in einem Bild mithilfe von OpenCV-Schwellenwerten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn