图片曝光修正方法(直方图均衡和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)
相关推荐
网易云信1 分钟前
OpenClaw最佳实践:部署在圈组的AI团队
人工智能·agent
爱读源码的大都督3 分钟前
Claude Code源码解析(一):为什么Claude Code系统提示词中需要有tools?
人工智能
没落英雄9 分钟前
2. 让 Agent 能读写文件、执行命令 —— LocalShellBackend 实战
前端·人工智能·架构
Daybreak11 分钟前
一次阿里云百炼异常扣费的排查和修复总结
人工智能
十九画生12 分钟前
LLM 是怎么预测下一个词的?从 Token 到 Transformer 的内部流程
人工智能
程序员cxuan14 分钟前
Anthropic 大面积封号,连大 V 都忍不了开喷了。
人工智能·后端·程序员
用户8524950718414 分钟前
大模型是怎么学会"接话"的?从 Token 到自注意力一次讲清楚
人工智能
小林ixn15 分钟前
LLM如何预测下一个词?从Token到概率,一文看懂大模型推理内幕
人工智能·llm
智域16 分钟前
从 Prompt Injection 到 Tool Runtime:企业 AI 安全防护的工程链路
人工智能