opencv人脸调整亮度
时间: 2023-12-06 07:03:09 浏览: 132
以下是使用OpenCV进行人脸调整亮度的步骤:
1.导入必要的库和模块,包括cv2和numpy。
2.读取图像并将其转换为灰度图像。
3.使用cv2.CascadeClassifier()函数加载人脸检测器。
4.使用detectMultiScale()函数检测图像中的人脸,并将其存储在faces变量中。
5.遍历每个检测到的人脸,并将其存储在x,y,w和h变量中。
6.使用cv2.addWeighted()函数调整人脸的亮度。
7.显示调整后的图像。
```python
import cv2
import numpy as np
# 读取图像并将其转换为灰度图像
img = cv2.imread('face.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 加载人脸检测器
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# 检测图像中的人脸
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
# 遍历每个检测到的人脸
for (x, y, w, h) in faces:
# 调整人脸的亮度
alpha = 1.5 # 亮度调整系数
beta = 0 # 亮度调整常数
roi = img[y:y+h, x:x+w]
roi = cv2.addWeighted(roi, alpha, np.zeros(roi.shape, roi.dtype), 0, beta)
# 将调整后的人脸放回原图像中
img[y:y+h, x:x+w] = roi
# 显示调整后的图像
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文