利用python中opencv,按照颜色区域划分灰度图像,将图像中蓝色的部位全部显示为黑色,将红色区域全部显示为白色,中间颜色用灰度来表示
时间: 2024-05-12 16:19:01 浏览: 71
以下是示例代码:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('image.jpg')
# 将图像转换为HSV颜色空间
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# 定义蓝色和红色的颜色范围
lower_blue = np.array([100, 50, 50])
upper_blue = np.array([130, 255, 255])
lower_red = np.array([0, 50, 50])
upper_red = np.array([10, 255, 255])
# 根据颜色范围获取掩膜
mask_blue = cv2.inRange(hsv, lower_blue, upper_blue)
mask_red = cv2.inRange(hsv, lower_red, upper_red)
# 将蓝色区域设为黑色,红色区域设为白色,中间区域设为灰度
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
gray[mask_blue > 0] = 0
gray[mask_red > 0] = 255
# 显示图像
cv2.imshow('image', img)
cv2.imshow('gray', gray)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个示例中,我们首先将图像转换为HSV颜色空间,然后定义了蓝色和红色的颜色范围,使用`cv2.inRange()`函数获取相应颜色的掩膜。接着,我们将蓝色区域设为黑色,红色区域设为白色,中间区域设为灰度,最后显示图像。
阅读全文
相关推荐









