使用cv::inRange (OpenCV) 選擇物件偵測的顏色邊界
使用cv::inRange 程式進行顏色偵測時,選擇函數進行顏色偵測適當的HSV 上限和下限至關重要。本文解決瞭如何根據感興趣的特定顏色有效地確定這些邊界的問題。
背景
HSV(色相、飽和度、值)是一種顏色影像處理中常用的空間。 HSV 模型將顏色表示為三個組成部分:
選擇邊界
根據偵測到的特定顏色確定正確的HSV 邊界。以下是逐步指南:
確定色調:
調整色調範圍:
設定飽和度和值範圍:
考慮格式:
範例
讓我們考慮一下偵測影像中橙色蓋子的範例。
單純皰疹病毒值:
調整後邊界:
Python 代碼:
import cv2 import numpy as np ORANGE_MIN = np.array([11, 50, 50], np.uint8) ORANGE_MAX = np.array([33, 255, 255], np.uint8) # Read and convert image img = cv2.imread('image.png') hsv_img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) # Detect orange using inRange mask = cv2.inRange(hsv_img, ORANGE_MIN, ORANGE_MAX) # Display mask cv2.imshow('Mask', mask) cv2.waitKey(0)
以上是如何使用 cv::inRange 有效地確定物體偵測的 HSV 顏色邊界?的詳細內容。更多資訊請關注PHP中文網其他相關文章!