opencv 掩膜提高对比度
时间: 2023-09-17 11:15:05 浏览: 111
使用掩膜可以通过过滤掉一些像素来提高图像的对比度。具体的步骤如下:
1. 读取图像并将其转换为灰度图像。
```python
import cv2
img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
```
2. 创建一个掩膜,可以使用 `cv2.threshold()` 函数来实现二值化,也可以手动创建一个掩膜。
```python
# 使用自适应阈值二值化
mask = cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 11, 2)
# 手动创建掩膜
mask = np.zeros_like(gray)
mask[gray > 100] = 255
```
3. 将掩膜应用于原始图像并进行运算。
```python
dst = cv2.bitwise_and(img, img, mask=mask)
dst = cv2.convertScaleAbs(dst, alpha=2, beta=0)
```
4. 显示结果。
```python
cv2.imshow('Result', dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个例子中,`cv2.convertScaleAbs()` 函数用于线性转换。通过调整 alpha 和 beta 参数,可以改变图像的对比度和亮度。
阅读全文