解释:
1. 定义红色的低饱和和高饱和区域:
low01 = np.uint8([0, 70, 40])
up01 = np.uint8([6, 255, 255])
low02 = np.uint8([160, 70, 40])
up02 = np.uint8([180, 255, 255])
2. 计算红色区域的掩码:
mask01 = cv2.inRange(hsv, low01, up01)
mask02 = cv2.inRange(hsv, low02, up02)
#合并两个掩码:
mask = cv2.bitwise_or(mask01, mask02)
3. 抠出红色区域:
frame = cv2.bitwise_and(img, img, mask=mask01)
注意:
- 颜色空间转换: 使用
cv2.cvtColor
进行颜色空间转换非常重要,尤其是在进行颜色分割时。 - 掩码生成:
cv2.inRange
是处理颜色分割的关键函数,通过定义范围来创建二值掩码。 - 位运算:
cv2.bitwise_or
和cv2.bitwise_and
是合并和提取图像的重要工具。 - 显示图像: 使用
cv2.imshow
显示图像,并通过cv2.waitKey
等待键盘输入来结束显示。