调用opencv自带的函数进行分块的均衡化
好处:不会损失图像细节
核心代码:
创建 CLAHE 对象
cv2.createCLAHE(clipLimit,tileGridSize)
- clipLimit:颜色对比度的阈值,可选项,默认值 8
- titleGridSize:局部直方图均衡化的模板(邻域)大小,可选项,默认值 (8,8)
调用我们自定义的CLAHE对象
clahe.apply(src)
src:处理的图像
整体代码:
import cv2
import numpy as np
img = cv2.imread('test.jpg', 0)
# 自适应均衡化
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))
res_clahe= clahe.apply(img)
res = np.hstack([img, res_clahe])
cv2.imshow("res",res)
cv2.waitKey()
cv2.destroyAllWindows()
运行结果
均衡化后的图片更亮,并且没有损失细节