news 2026/5/21 12:46:31

基于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/5/19 20:07:16

运算放大器:电压/电流转换

转载:https://zhuanlan.zhihu.com/p/647432977 电压/电流转换即V/I转换,是将输入的电压信号转换成满足一定关系的电流信号,转换后的电流相当一个输出可调的恒流源,其输出电流应能够保持稳定而不会随负载的变化而变化。一般来说&am…

作者头像 李华
网站建设 2026/5/19 20:07:02

2025年第十二期正式出版

Volume 3 Issue 12 封面解读 George Fu Gao / Zepeng Xu The ACE2-using coronaviruses (CoVs) have led to two outbreaks that profoundly affected the world, and continue to emerge as investigations deepen. A summarization of known ACE2-using CoVs indicates tha…

作者头像 李华
网站建设 2026/5/19 17:53:04

学长亲荐!万众偏爱的AI论文工具 —— 千笔

你是否曾为论文选题发愁,反复修改却仍不满意?是否在查重、格式、文献整理上耗费大量时间却收效甚微?研究生阶段的论文写作,本就充满挑战,而千笔AI正是为解决这些痛点而生。它不仅能够高效生成结构清晰的论文内容&#…

作者头像 李华
网站建设 2026/5/19 20:07:16

三个线程如何按顺序打印ABC?

这篇文章分享一道非常不错的题目:三个线程按序打印ABC。很多读者朋友应该都觉得这道题目不难,这次给大家带来十二种做法,一定有你没有见过的新姿势。1. synchronizedwaitnotify说到同步,我们很容易就想到synchronized。线程间通信…

作者头像 李华
网站建设 2026/5/19 17:58:57

骨折分类数据集-医学影像分析-6717张X光片-适用于大学生毕业设计-支持目标检测与分类模型训练-完整标注信息-骨折检测与分类-医学影像分析研究者和开发者-推动骨折检测算法的研发与优化

骨折分类数据集:医学影像分析的完整资源 引言与背景 在现代医学影像分析领域,骨折检测与分类是骨科诊断的重要环节。随着深度学习技术的快速发展,基于X光片的骨折自动识别系统逐渐成为辅助临床诊断的关键工具。本数据集为医学影像分析研究者…

作者头像 李华
网站建设 2026/5/20 10:00:03

php 随机红包数生成

无论哪种实现方式,随机红包都要遵守几个核心约束(这是和单纯随机数最大的区别):总金额固定(比如 100 元分 10 个红包);每个红包金额非空(至少 0.01 元,避免分到 0&#x…

作者头像 李华