局部直方图均衡化去雾算法

目录

[1. 引言](#1. 引言)

[2. 算法流程](#2. 算法流程)

[3. 代码](#3. 代码)

[4. 去雾效果](#4. 去雾效果)


1. 引言

局部直方图算法是一种基于块的图像去雾方法,它将图像分割为若干个块,并在每个块内计算块的局部直方图。通过对各个块的直方图进行分析和处理,该算法能够更好地适应图像中不同区域的光度差异和雾霾密度变化,从而提高去雾效果。然而,局部直方图算法在处理边缘区域和细节丰富的区域时存在一定的挑战,容易导致边缘锐化和细节损失。

局部直方图算法是在全局直方图算法的基础上进行改进而成的。该算法通过将图像划分为多个局部区域,并对每个局部区域进行直方图分析,从而实现对图像的局部去雾处理。与全局直方图算法相比,局部直方图算法更能够保留图像的细节信息,并在复杂场景下取得更好的去雾效果。但该算法的计算复杂度相对较高,对计算资源的要求也较大。

2. 算法流程

1.首先,将原始图像划分为多个重春的滑动窗口,窗口的尺寸可以根据需要进行选择。

2.对于每个窗口,分别对其RGB通道进行直方图均衡化,通过增加像素值的分布范围来增强图像的对比度。

3.将经过局部直方图均衡化处理后的每个窗口重新整合到新的图像中,得到一张经过局部直方图均衡化去雾处理后的图像。

3. 代码

python 复制代码
import cv2
import numpy as np


def clahe_dehaze(img, clip_limit=2.0, tile_grid_size=(8, 8)):
    # 转换为YCrCb色彩空间
    ycrcb = cv2.cvtColor(img, cv2.COLOR_BGR2YCrCb)
    # 分离通道
    channels = list(cv2.split(ycrcb))
    # 创建CLAHE对象
    clahe = cv2.createCLAHE(clipLimit=clip_limit, tileGridSize=tile_grid_size)
    # 对Y通道进行CLAHE
    channels[0] = clahe.apply(channels[0])
    # 合并通道
    ycrcb = cv2.merge(channels)
    # 转换回BGR色彩空间
    result = cv2.cvtColor(ycrcb, cv2.COLOR_YCrCb2BGR)
    return result

# 读取图像
im = cv2.imread('xue_foggy.png')
if im is None:
    raise FileNotFoundError("The image file was not found. Please check the path.")

# 使用CLAHE进行图像去雾
eq = clahe_dehaze(im)

# 显示原始图像和处理后的图像
cv2.imshow('Original Image', im)
cv2.imshow('CLAHE Dehazed Image', eq)
cv2.waitKey(0)
cv2.destroyAllWindows()

# 保存处理后的图像
cv2.imwrite('img_clahe_dehazed.png', eq)

4. 去雾效果

从效果对比图看出局部直方图均衡化算法可以显著改善雾天图像的对比度,提升视觉效果。通过对图像的局部区域应用直方图均衡化,能够有效处理不同区域的对比度变化。

相关推荐
xiaoduo AI几秒前
客服机器人回答错误可自动撤回?智能 Agent 功能详解 + 消息撤回,发错答案快速补救?
大数据·人工智能·机器人
好家伙VCC1 分钟前
# BERT在中文文本分类中的实战优化:从基础模型到高效部署BERT(Bi
java·人工智能·python·分类·bert
北京软秦科技有限公司2 分钟前
软秦IACheck2.0 AI报告审核正式上线:1小时完成过去3小时的审核量
大数据·人工智能
falldeep2 分钟前
Claude Code源码分析
人工智能·算法·机器学习·强化学习
sheeta19983 分钟前
LeetCode 每日一题笔记 日期:2026.04.14 题目:2463.最小移动距离
笔记·算法·leetcode
深兰科技3 分钟前
深兰科技与宝武集团旗下钢友汇达成国际市场合作,俄罗斯、巴西、阿根廷市场同步推进
人工智能·django·fastapi·pygame·httpx·视觉大模型·深兰科技
feng_you_ying_li4 分钟前
C++11可变模板参数,包扩展,emplace系列和push系列的区别
前端·c++·算法
tankeven4 分钟前
HJ177 可匹配子段计数
c++·算法
dydm_131286 分钟前
打破画布边界:为什么 AI 实时绘画正成为线下品牌营销与亲子互动的“新标配”?
人工智能
诸葛亮的芭蕉扇8 分钟前
AI 编辑器扩展机制详解:MCP、Rule、Skills
人工智能·编辑器