python cv 使图片中通道值接近黑色的变为白色
时间: 2023-07-31 21:07:35 浏览: 242
解决python cv2.imread 读取中文路径的图片返回为None的问题
5星 · 资源好评率100%
可以使用OpenCV库来实现将图片中通道值接近黑色的变为白色的操作。具体实现方法如下:
1. 读取图片并将其转换为灰度图像。
```python
import cv2
img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
```
2. 将灰度图像进行二值化处理,将接近黑色的像素值设为0,其余的设为255。
```python
ret, thresh = cv2.threshold(gray, 10, 255, cv2.THRESH_BINARY)
```
其中,10是阈值,可以根据实际情况进行调整。
3. 将二值化后的图像与一个全白的图像进行按位或运算,即将原始图像中通道值接近黑色的像素变为白色。
```python
white_img = np.zeros_like(img)
white_img.fill(255)
result = cv2.bitwise_or(white_img, img, mask=thresh)
```
完整代码如下:
```python
import cv2
import numpy as np
img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(gray, 10, 255, cv2.THRESH_BINARY)
white_img = np.zeros_like(img)
white_img.fill(255)
result = cv2.bitwise_or(white_img, img, mask=thresh)
cv2.imshow('result', result)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文