在 OpenCV 中使用阈值检测绿色对象
检测特定颜色对象是图像处理中的常见任务。本问题演示了如何使用 OpenCV 定义阈值来隔离图像中的绿色对象。
定义阈值
要检测绿色对象,您可以定义一个色相 (H)、饱和度 (S) 和明度 (V) 颜色空间中的阈值范围。 H 值决定色调,而 S 和 V 分别表示饱和度和亮度。
方法 1:HSV 颜色空间
一种方法是使用HSV 颜色空间,提供比 RGB 更准确的颜色表示。对于绿色,您可以指定一个范围,例如:
方法 2: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中文网其他相关文章!