使用 Python OpenCV 定义检测图像中绿色物体的阈值
要检测图像中的绿色物体,阈值必须为定义为区分绿色和非绿色像素。以下是使用 OpenCV 在 Python 中完成此任务的方法:
HSV 颜色空间和阈值
一种方法是将图像转换为 HSV 颜色空间。在HSV中,色调分量代表颜色,绿色落在36-70度的范围内。
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
mask = cv2.inRange(hsv, (36, 25, 25), (70, 255, 255))
此代码创建一个掩码,其中指定 HSV 范围(绿色)内的像素被标记为 true。
BGR 色彩空间和阈值
另一种方法是直接在 BGR 色彩空间中工作。在这里,您可以定义绿色值的范围:
mask = cv2.inRange(img, (0, 100, 0), (100, 255, 100))
此蒙版将真实值分配给绿色通道 (G) 介于 100 到 255 之间且其他通道(B 和 R)低于 100 的像素。
绿色对象的提取和显示
使用mask,可以只提取图像中的绿色物体:
green = cv2.bitwise_and(img, img, mask=mask)
该操作将所有非绿色像素设置为黑色,同时保留绿色像素的原始颜色。
通过定义合适的阈值,您可以有效地检测和隔离图像中的绿色物体,方便进一步的分析和处理任务.
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3