opencv怎么将图片中的白色部分变成黑色
时间: 2024-11-30 14:16:54 浏览: 52
在OpenCV中,你可以通过色彩空间转换和阈值处理来将图像中的白色部分变成黑色。以下是基本步骤:
1. **读取图片**:
使用`cv2.imread()`函数加载图片。
```python
import cv2
img = cv2.imread('input_image.jpg')
```
2. **选择色彩空间**:
OpenCV默认处理的是BGR颜色空间,如果你想操作灰度图则无需转换。如果需要处理彩色图,可以先转成灰度图或HSV(色调、饱和度、亮度)等其他色彩空间,因为它们更容易分离白色和黑色。
对于灰度图:
```python
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
```
或者对于HSV图,仅保留黑色(即低亮度和全饱和度):
```python
hsv_img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
lower_white = np.array([0, 0, 0])
upper_white = np.array([255, 255, 255])
mask = cv2.inRange(hsv_img, lower_white, upper_white)
```
3. **应用阈值**:
创建一个二进制掩码(mask),将白色区域设置为0(黑),非白色区域设置为255(白)。
```python
black_img = np.where(mask == 255, 0, img)
```
4. **保存结果**:
```python
cv2.imwrite('output_image.jpg', black_img)
```
阅读全文