昏暗场景增强-低照度增强-弱光增强(附代码)

在这里插入图片描述

引言

  • 随着现代科技的发展,图像采集设备已经渗透到生活的方方面面,然而在昏暗场景、低照度或弱光条件下,图像的质量往往受到严重影响,表现为亮度不足、对比度低下、色彩失真以及细节丢失等问题。
  • 这类图像对于人眼识别和计算机视觉算法的准确性和稳定性都构成了巨大挑战。因此,低照度图像增强技术的研究与应用日益受到关注,旨在提高图像的视觉质量和有效信息含量。

传统图像增强方法

  • 早期的低照度图像增强方法主要包括直方图均衡化、伽马校正、对比度拉伸等

  • 其中,直方图均衡化通过对像素灰度值分布进行重新分配,提高了图像的整体亮度和动态范围

  • 伽马校正则利用非线性变换调整图像的亮度曲线;而对比度拉伸则是通过改变图像的灰度级分布,增强图像的明暗对比。

Retinex理论及其应用

Retinex理论作为一种模拟人类视觉系统的图像增强方法,通过分离图像的反射分量和光照分量,有效地消除了光照变化对图像色彩和纹理的影响。其衍生出的单尺度Retinex、多尺度Retinex等算法在低照度图像增强方面取得了一定成效,但也存在噪声放大、边缘模糊等问题。

深度学习在低照度图像增强中的突破

近年来,深度学习在低照度图像增强领域的应用取得了显著成果。基于卷积神经网络(CNN)的端到端学习框架,可以从大量训练样本中学习低照度图像与正常光照条件下的映射关系。如Deep Retinex Network (DRN)、Low-Light Image Enhancement using Deep Learning (LLNet)、Zero-DCE等深度学习模型,不仅能够提升图像的整体亮度,还能较好地保留和恢复图像的细节信息以及色彩真实感。

未来趋势与挑战

虽然深度学习在低照度图像增强方面的表现已取得长足进步,但仍面临一些挑战,如过度增强导致的噪声放大、如何更好地结合先验知识以及实时性需求等。此外,考虑到低照度图像增强在无人驾驶、安防监控、医疗影像等诸多领域的广泛应用前景,未来的研究应继续探索更为高效、鲁棒且适用于嵌入式系统的轻量化模型。

图像增强流程

以下是一个简化的Retinex算法流程概述:

图像处理

对输入图像进行多尺度的高斯模糊处理。

光照估计

计算每个尺度下模糊图像与原图像的比率或者对数差分,以估算各个尺度下的光照强度。

反射分量恢复

通过去除光照分量的影响,得出图像的反射分量,该分量能更好地反映物体本身的固有色和纹理。

图像增强

对得到的反射分量进行适当的调整和量化,以增强图像的对比度和颜色饱和度,同时保持图像整体的平衡和自然。

输出增强图像

将处理后的反射分量图像作为最终增强后的输出

代码

ata_path = 'data'
img_list = os.listdir(data_path)
if len(img_list) == 0:print('Data directory is empty.')exit()with open('config.json', 'r') as f:config = json.load(f)for img_name in img_list:if img_name == '.gitkeep':continueimg = cv2.imread(os.path.join(data_path, img_name))img_msrcr = retinex.MSRCR(img,config['sigma_list'],config['G'],config['b'],config['alpha'],config['beta'],config['low_clip'],config['high_clip'])img_amsrcr = retinex.automatedMSRCR(img,config['sigma_list'])img_msrcp = retinex.MSRCP(img,config['sigma_list'],config['low_clip'],config['high_clip']        )    shape = img.shapecv2.imshow('Image', img)cv2.imshow('retinex', img_msrcr)cv2.imshow('Automated retinex', img_amsrcr)cv2.imshow('MSRCP', img_msrcp)cv2.waitKey()

总结

总结而言,昏暗场景、低照度及弱光环境下的图像增强是一个持续发展的研究领域,它融合了传统图像处理技术与深度学习方法,致力于在各种光照条件下提供高质量的图像,以满足日益增长的实际应用需求。随着算法和技术的不断演进,我们期待未来的低照度图像增强技术能够带来更加卓越的图像质量提升效果。

在这里插入图片描述
最后,见主页左下方推广,👇👇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/525714.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于机器学习的网络入侵检测与特征选择及随机森林分类器性能评估(NSL-KDD数据集)

简介 本文将详细介绍如何利用Python和相关机器学习库对NSL-KDD数据集进行预处理,特征选择,并通过随机森林算法构建网络入侵检测模型。同时,还将展示如何计算并可视化模型的ROC曲线以评估其性能。 首先,我们导入了必要的库&#…

Java服务器-Disruptor使用注意

最近看了一下部署后台的服务器状况,发现我的一个Java程序其占用的CPU时长超过100%,排查后发现竟是Disruptor引起的,让我们来看看究竟为什么Disruptor会有这样的表现。 发现占用CPU时间超过100%的进程 首先是在服务器上用top命令查看服务器状…

300分钟吃透分布式缓存-23讲:Redis是如何淘汰key的?

淘汰原理 首先我们来学习 Redis 的淘汰原理。 系统线上运行中,内存总是昂贵且有限的,在数据总量远大于 Redis 可用的内存总量时,为了最大限度的提升访问性能,Redis 中只能存放最新最热的有效数据。 当 key 过期后,或…

专题一 - 双指针 - leetcode 202. 快乐数 | 简单难度

leetcode 202. 快乐数 leetcode 202. 快乐数 | 简单难度1. 题目详情1. 原题链接2. 基础框架 2. 解题思路1. 题目分析2. 算法原理3. 时间复杂度 3. 代码实现4. 知识与收获 leetcode 202. 快乐数 | 简单难度 1. 题目详情 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」…

geoserver+mapbox-gl 离线部署矢量切片地图服务学习笔记

geoserver安装 geoserver的安装包可以在官网下载Download - GeoServer,想要选择版本点击Archived找到指定版本进行下载http://geoserver.org/download/ (如果网络不稳定,也可以直接使用下面的下载地址) geoserver-2.15.0.rar资…

多线程-线程池原子性并发工具类

1.线程池 1.线程状态 虚拟机中线程的六种状态 新建状态(NEW) --创建线程 就绪状态(RUNNABLE) --start方法 阻塞状态(BLOCKED) --无法获得锁对象 等待状态(WAITING) …

观其大略之HybridCLR学习笔记

问题背景 1 现有热更方案的开发效率、性能没有到达极限,还有提升的空间 2 ios多平台政策导致热更新受限问题,ios禁止jit。根据我查找的资料,ios的代码段启动的时候就确定了,不能增加新的代码段。IOS封了内存(或者堆&…

2024软件测试工具测评,总有一款适合你!

在软件开发周期中,测试是确保产品质量的关键环节。随着企业对于软件质量的要求日益提升,测试人员面临着前所未有的挑战,“工欲善其事必先利其器”,选择一款高效、实用的软件测试工具,不仅能够提升测试效率,…

【比较mybatis、lazy、sqltoy、mybatis-flex、easy-query、mybatis-mp操作数据】操作批量新增、分页查询(四)

orm框架使用性能比较 比较mybatis、lazy、sqltoy、mybatis-flex、easy-query、mybatis-mp操作数据 环境: idea jdk17 spring boot 3.0.7 mysql 8.0测试条件常规对象 orm 框架是否支持xml是否支持 Lambda对比版本编码方式mybatis☑️☑️3.5.4lambda xml 优化sq…

嘉绩咨询:搭建品牌招商桥梁,提供卓越讲师与会议服务

当下,品牌成功的关键在于强大的渠道支撑和高效的招商能力,在这一背景下,嘉绩咨询,这一专注于渠道招商全案系统孵化的知名平台型企业,今日宣布,将进一步加强其在品牌招商桥梁搭建上的服务功能,通…

[java] 23种设计模式之桥接模式

一、什么是桥接模式 桥接(Bridge)模式属于结构型设计模式。通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展。 二、适用场景 当一…

不知道吧,腾讯云轻量应用服务器使用有一些限制!

腾讯云轻量应用服务器相对于云服务器CVM是有一些限制的,比如轻量服务器不支持更换内网IP地址,不支持自定义私有网络VPC,内网连通性方面也有限制,轻量不支持CPU内存、带宽或系统盘单独升级,只能整个套餐整体升级&#x…