在 OpenCV 中使用閾值來偵測綠色物件
偵測特定顏色物件是影像處理中的常見任務。本問題示範如何使用 OpenCV 定義閾值來隔離影像中的綠色物件。
定義閾值
要偵測綠色對象,您可以定義一個色相(H)、飽和度(S) 和明度(V) 色彩空間中的閾值範圍。 H 值決定色調,而 S 和 V 分別表示飽和度和亮度。
方法 1:HSV 色彩空間
一種方法是使用HSV 色彩空間,提供比 RGB 更準確的顏色表示。對於綠色,您可以指定一個範圍,例如:
方法二: cv2.inRange
另一種方法是使用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中文網其他相關文章!