【图像增强(空域)】基于直方图增强的图像增强及Matlab仿真

1. 摘要

图像的灰度直方图表示灰度图像中具有每种灰度像素的个数,反映了图像中每种灰度级出现的频率,是图像的基本统计特征之一。直方图均衡方法因为其有效性和简单性已成为图像对比度增强的最常用的方法。其基本思想是根据输入图像的灰度概率分布来确定其对应的输出灰度值,通过拓展图像的动态范围来达到提升图像对比度的目的。常用的直方图增强方法包括:直方图均衡化和直方图规定化。

2. 原理

数字图像处理中的直方图,也称为灰度级直方图,即一幅图像的灰度分布图,表示数字图像中每一个灰度与该灰度级出现的频数之间的统计关系。直方图定义为:

其中,nk表示第k级灰度的像素数量,N为该图像的总像素数量,rk为第k个灰度级,L为灰度级数,P(rk)为rk灰度级出现的相对频数(归一化后)。直方图中用横坐标表示各个灰度值,纵坐标表示该灰度值的像素数对整个图像的像素数量的比率,对像素灰度值进行归一化处理,值的范围在0~1之间,直方图的形状和图像的视觉效果有着对应关系,因此可以通过变换直方图来实现图像增强。

在Matlab的图像处理工具箱中,采用函数imhist来计算和显示图像的直方图,包含以下几种调用形式:

imhist(I):绘制灰度图像I的直方图。

imhist(I,n):该函数指定灰度级的数目为n,n的默认值为256。

imhist(X,map):该函数绘制索引图象X的直方图。

3.直方图均衡化

直方图有均衡化是一种利用灰度变换自动调节图像对比度质量的方法,直方图均衡化操作时对图像直方图进行处理,使得处理后的直方图为平坦形状。基本思想是通过灰度级的概率密度函数求出灰度变换函数,它是一种以累积分布函数变换法为基础的直方图修正法。变换函数T(r)与原图像概率密度函数Pr(r)的关系为:

其中T(r)要满足在0~1范围内。以上是以连续随机变量为基础的,应用于数字图像处理的离散形式如下:

直方图均衡化处理的步骤如下:

  1. 求出给定待处理图像的直方图Pr(r)

  2. 利用累计分布函数对原图像的统计直方图做变换,得到新的图像灰度。

  3. 进行近似处理,将新灰度代替旧灰度,同时将灰度值相等或近似的每个灰度直方图合并在一起,得到Ps(S)。

在Matlab图像处理工具箱中提供了函数histeq()进行直方图均衡化处理,其具体的调用方法如下:

J=histeq(I,n): 该函数I为输入的原图像,J为直方图均衡化后的图像,n为均衡化的灰度级数,默认值为64。

4.直方图规定化

相关推荐
foundbug9994 小时前
MATLAB实现:基于图像对比度和波段相关性的高光谱波段选择算法
开发语言·算法·matlab
南宫萧幕5 小时前
HEV能量管理建模实战:从零搭建 Simulink 物理环境到 Python(DQN) 强化学习联合仿真调通
开发语言·python·算法·matlab·汽车·控制
江木1236 小时前
Linux安装Matlab过程
linux·运维·matlab
南宫萧幕6 小时前
Simulink 从零搭建 HEV ECMS 环境:模块解析、排坑指南与智能算法接口预留
人工智能·算法·matlab·汽车·控制
图码10 小时前
文本两端对齐算法详解:从LeetCode到实际应用
数据结构·图像处理·算法·leetcode·生成对抗网络·面试·职场和发展
我爱C编程10 小时前
基于Sarsa强化学习的异构蜂窝网络中基站休眠算法matlab仿真
网络·matlab·强化学习·sarsa·异构蜂窝网络·基站休眠
吃好睡好便好11 小时前
在Matlab中绘制变半径柱面图
开发语言·人工智能·学习·算法·matlab
吃好睡好便好12 小时前
在Matlab中绘制柱面图
开发语言·学习·算法·matlab
咖啡里的茶i21 小时前
实验一:利用Matlab运行车牌识别方法
matlab
吃好睡好便好1 天前
在Matlab中绘制三维等高线图
开发语言·python·学习·算法·matlab·信息可视化