1.首先读取原始图片; 2.转化原始图片为 HSV 通道; 3.然后使用inRange() 函数获取对应颜色块的掩码; 4.最后使用bitwise_and() 函数将原图和获取的掩码进行运算得到杨色块。
时间: 2024-10-06 21:05:20 浏览: 26
浅谈Python3识别判断图片主要颜色并和颜色库进行对比的方法
5星 · 资源好评率100%
这是一个针对图像处理的基本步骤,用于识别特定颜色在图片中的应用,比如在Python的OpenCV库中:
1. **读取原始图片**:首先,你需要使用OpenCV的`cv2.imread()`函数从文件或者摄像头等源加载图片,将其转换为OpenCV可以处理的NumPy数组。
```python
import cv2
img = cv2.imread('image.jpg')
```
2. **转化为HSV通道**:HSV(色调-饱和度-值)是一种颜色空间,对色彩的描述更为直观。使用`cv2.cvtColor()`函数将BGR(通常表示的颜色模式)图像转成HSV模式,便于颜色提取。
```python
hsv_img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
```
3. **使用inRange()获取颜色块掩码**:这个函数根据提供的Hue(色调)、Saturation(饱和度)和Value(亮度)范围,返回一张黑白掩码,其中指定颜色区域为白色,其他为黑色。
```python
lower_color = (0, 50, 50) # 示例,定义需要检测的颜色范围
upper_color = (10, 255, 255)
mask = cv2.inRange(hsv_img, lower_color, upper_color)
```
4. **使用bitwise_and()操作**:通过位运算符`&`(按位与),将原图与掩码进行逻辑与操作,只保留掩码覆盖的部分,即目标颜色区域。
```python
result = cv2.bitwise_and(img, img, mask=mask)
```
完成以上步骤后,`result`就是只包含指定颜色区域的图片。
阅读全文