图片曝光修正方法(直方图均衡和CNN)

图像过曝或曝光不足时需要曝光处理,

这里以曝光不足举例。

直方图均衡法:

通过RGB通道的直方图均衡达到处理曝光不足的效果。

代码:

python 复制代码
underexpose = cv2.imread("exposure_test.jpg")
#underexpose = cv2.cvtColor(underexpose, cv2.COLOR_BGR2RGB)
equalizeUnder = np.zeros(underexpose.shape, underexpose.dtype)
equalizeUnder[:, :, 0] = cv2.equalizeHist(underexpose[:, :, 0])
equalizeUnder[:, :, 1] = cv2.equalizeHist(underexpose[:, :, 1])
equalizeUnder[:, :, 2] = cv2.equalizeHist(underexpose[:, :, 2])
cv2.imshow(equalizeUnder)

CNN方法

Learning Multi-Scale Photo Exposure Correction(CVPR2021)
paper
python版github地址

按github配置环境,下载weight.

python 复制代码
with torch.no_grad():
	MSPEC_net = MSPEC_Net().cuda()
	MSPEC_net =torch.nn.DataParallel(MSPEC_net)
	MSPEC_net.load_state_dict(torch.load('./snapshots/MSPECnet_woadv.pth'))
	MSPEC_net.eval()
	
    data_input = cv2.imread('test.jpg')
	output_image = down_correction(MSPEC_net,data_input) #在mspect_test.py中
	
	if output_image.dtype == 'uint8':
		cv2.imwrite( "output.jpg",output_image)
	else:
		cv2.imwrite( "output.jpg",output_image*255)
相关推荐
瓦力wow2 小时前
opencv 图像的平移和旋转
人工智能·opencv·计算机视觉
闭月之泪舞2 小时前
OpenCv高阶(十六)——Fisherface人脸识别
人工智能·opencv·计算机视觉
Echo``2 小时前
5:OpenCV—直方图均衡化
人工智能·opencv·计算机视觉·视觉检测
虾球xz3 小时前
游戏引擎学习第298天:改进排序键 - 第1部分
人工智能·学习·游戏引擎
PixelMind4 小时前
【LUT技术专题】极小尺寸LUT算法:TinyLUT
人工智能·深度学习·算法·lut·图像超分辨率
聚客AI4 小时前
PyTorch高阶技巧:构建非线性分类器与梯度优化全解析
人工智能·pytorch·深度学习·神经网络·语言模型·自然语言处理·transformer
40+老码农的修行之旅5 小时前
跟踪AI峰会,给自己提出的两个问题。
人工智能
摆烂仙君6 小时前
LoRA(Low-Rank Adaptation)
人工智能·计算机视觉
杰瑞学AI7 小时前
深度学习中的分布偏移问题及其解决方法
人工智能·深度学习·机器学习·ai
学算法的程霖7 小时前
分享|16个含源码和数据集的计算机视觉实战项目
人工智能·pytorch·深度学习·机器学习·计算机视觉·目标跟踪·研究生