news 2026/4/30 13:40:55

基于Retinex模型和多尺度融合的低光照图像增强技术探索

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于Retinex模型和多尺度融合的低光照图像增强技术探索

基于Retinex模型和多尺度融合的低光照图像增强技术 提出了一种亮度调整、锐化和多尺度融合相结合的算法。 首先对原图像分解出光照图,基于Retinex模型进行估计,并进行伽马矫正,得到亮度均衡的图像;为补偿伽马矫正导致过曝区域的细节丢失,对原图像进行锐化处理,以提升图像细节部分;最后在多尺度融合金字塔模型下,根据计算两个输入图像的权重进行多尺度融合,得到最终的增强图像。 此外,还计算了五个非参考图像质量评价指标(BRISQUE,CEIQ,ENIQA,NIQE,PIQE)。

在图像处理领域,低光照图像增强一直是个热门且具有挑战性的话题。今天咱们来聊聊一种将亮度调整、锐化和多尺度融合相结合的算法,它基于Retinex模型与多尺度融合技术,能有效提升低光照图像的质量。

1. 基于Retinex模型估计光照图并伽马矫正

Retinex模型的核心思想是将图像的亮度信息分解为反射分量和光照分量。咱们先从原图像中分解出光照图。假设原图像为img,在Python中,利用OpenCV库读取图像:

import cv2 img = cv2.imread('low_light_image.jpg')

接下来估计光照图。这里可以使用高斯滤波来平滑图像,近似得到光照分量。

import numpy as np # 将图像转换到灰度图 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 使用高斯滤波估计光照图 blurred = cv2.GaussianBlur(gray, (21, 21), 0)

得到光照图blurred后,基于Retinex模型的简单做法是通过原图像与光照图的运算,分离出反射分量。但这里我们还要进行伽马矫正。伽马矫正主要用于调整图像的亮度分布,公式为:$I{corrected}=I{original}^{\frac{1}{\gamma}}$ ,其中$\gamma$是伽马值。

gamma = 0.5 corrected = np.power(gray / 255.0, gamma) * 255.0 corrected = np.uint8(corrected)

这样我们就得到了亮度均衡的图像corrected

2. 锐化处理补偿细节丢失

伽马矫正虽然能均衡亮度,但可能会导致过曝区域细节丢失。为了补偿这部分细节,需要对原图像进行锐化处理。锐化通常可以通过卷积操作实现,比如使用拉普拉斯算子。

laplacian = cv2.Laplacian(gray, cv2.CV_64F) laplacian = np.uint8(np.absolute(laplacian)) sharpened = float(1.5) * gray - float(0.5) * laplacian sharpened = np.maximum(sharpened, 0) sharpened = np.minimum(sharpened, 255) sharpened = np.uint8(sharpened)

上述代码中,先通过拉普拉斯算子计算出图像的高频信息,然后通过权重运算增强高频部分,从而锐化图像,提升细节。

3. 多尺度融合得到最终增强图像

多尺度融合金字塔模型是关键。我们要根据计算两个输入图像(亮度均衡后的图像和锐化后的图像)的权重来进行多尺度融合。首先构建高斯金字塔和拉普拉斯金字塔。

# 构建高斯金字塔 gaussian_pyramid_1 = [corrected] gaussian_pyramid_2 = [sharpened] for i in range(6): corrected = cv2.pyrDown(corrected) sharpened = cv2.pyrDown(sharpened) gaussian_pyramid_1.append(corrected) gaussian_pyramid_2.append(sharpened) # 构建拉普拉斯金字塔 laplacian_pyramid_1 = [gaussian_pyramid_1[5]] laplacian_pyramid_2 = [gaussian_pyramid_2[5]] for i in range(5, 0, -1): size = (gaussian_pyramid_1[i - 1].shape[1], gaussian_pyramid_1[i - 1].shape[0]) laplacian_1 = cv2.subtract(gaussian_pyramid_1[i - 1], cv2.pyrUp(gaussian_pyramid_1[i], dstsize = size)) laplacian_2 = cv2.subtract(gaussian_pyramid_2[i - 1], cv2.pyrUp(gaussian_pyramid_2[i], dstsize = size)) laplacian_pyramid_1.append(laplacian_1) laplacian_pyramid_2.append(laplacian_2)

然后根据权重计算融合后的金字塔。

# 计算权重并融合 weighted_laplacian_pyramid = [] for i in range(6): weight = np.mean(laplacian_pyramid_1[i]) / (np.mean(laplacian_pyramid_1[i]) + np.mean(laplacian_pyramid_2[i])) weighted_lap = weight * laplacian_pyramid_1[i] + (1 - weight) * laplacian_pyramid_2[i] weighted_laplacian_pyramid.append(weighted_lap)

最后通过重建金字塔得到最终增强图像。

# 重建图像 reconstructed = weighted_laplacian_pyramid[0] for i in range(1, 6): size = (weighted_laplacian_pyramid[i].shape[1], weighted_laplacian_pyramid[i].shape[0]) reconstructed = cv2.pyrUp(reconstructed, dstsize = size) reconstructed = cv2.add(reconstructed, weighted_laplacian_pyramid[i])

reconstructed就是我们最终得到的增强图像。

4. 非参考图像质量评价指标

此外,为了衡量增强效果,计算了五个非参考图像质量评价指标:BRISQUE,CEIQ,ENIQA,NIQE,PIQE。在Python中,可以使用scikit - image库来计算部分指标。例如NIQE指标:

from skimage.measure import niqe niqe_score = niqe(reconstructed) print(f"NIQE score: {niqe_score}")

这些指标能从不同角度评估图像质量,帮助我们了解增强算法的有效性。

基于Retinex模型和多尺度融合的低光照图像增强技术 提出了一种亮度调整、锐化和多尺度融合相结合的算法。 首先对原图像分解出光照图,基于Retinex模型进行估计,并进行伽马矫正,得到亮度均衡的图像;为补偿伽马矫正导致过曝区域的细节丢失,对原图像进行锐化处理,以提升图像细节部分;最后在多尺度融合金字塔模型下,根据计算两个输入图像的权重进行多尺度融合,得到最终的增强图像。 此外,还计算了五个非参考图像质量评价指标(BRISQUE,CEIQ,ENIQA,NIQE,PIQE)。

基于Retinex模型和多尺度融合的这种算法,通过亮度调整、锐化和多尺度融合的有机结合,为低光照图像增强提供了一种有效的解决方案,并且通过非参考图像质量评价指标能更好地优化和评估算法效果。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 18:01:30

桂花网蓝牙网关在体育运动监测方案中的应用及案例介绍

在体育产业数字化转型浪潮中,体育运动监测正从“经验判断”向“数据驱动”升级,核心需求聚焦于运动数据的实时采集、精准传输、高效分析及安全预警,覆盖少儿体育、校园体育、专业训练、电竞赛事等全场景。桂花网蓝牙网关凭借远距离传输、高并…

作者头像 李华
网站建设 2026/4/11 12:49:11

springboot口腔医院信息管理系统vue

目录系统架构概述核心功能模块技术实现细节系统优势部署与维护项目技术支持可定制开发之功能亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作系统架构概述 基于SpringBoot和Vue的口腔医院信息管理系统采用前后端分离架构,后…

作者头像 李华
网站建设 2026/4/30 19:42:01

uTools:一个能让你卸载几十个软件的效率“外挂”

01 引言 你是否厌倦了在无数软件间来回切换?是否希望有一个“万能入口”,能瞬间响应所有临时需求?试试 uTools,它不只是一种工具,更是一种全新的效率哲学。通过一个简单的搜索框和智能面板,它将海量插件融入…

作者头像 李华
网站建设 2026/4/24 10:44:12

算法学习日记 | 前缀和

🧠 算法学习日记 | 今天我用「前缀和」解了两道题,原来“预处理”能这么强! 大家好,我是你们的算法学习搭子 👋 今天继续我的算法入门之旅,重点练习了**前缀和(Prefix Sum)**这一高效…

作者头像 李华
网站建设 2026/4/23 18:43:09

如何使用1688官方API进行订单同步?

一、前置准备(必须完成) 1. 开放平台基础配置 注册 / 登录:1688 开放平台,完成企业实名认证(个人账号无订单接口权限)。创建应用:在「应用管理」创建应用,获取app_key(…

作者头像 李华