图像增强中直方图均衡化的Matlab 实现
时间:2026-04-23
时间:2026-04-23
图像增强中直方图均衡化的Matlab 实现
摘要:本文采用直方图均衡化的图像增强的基本原理, 借助数学公式, 在Matlab环境下, 对数字图像进行直方图均衡化处理, 实现原始图像直方图均匀分布, 增加像素灰度值的动态范围, 提高了图像的对比度。
关键词:图像增强, 直方图,均衡化, Matlab
ABSTRACT:In this paper, the basic principle of histogram equalization , image enhancement , with the mathematical formula , in the Matlab environment for digital image histogram equalization , to achieve uniform distribution of the original image histogram , increasing the dynamic range of pixel gray value , improve contrast of the image .
KEYWORDS:image enhancement;histograme ;qualization;Matlab
1引言
图像增强是指对图像的某些特征,如边缘、轮廓或对比度等进行强调或尖锐化。当一幅图像曝光不足或过度,造成对比度过小或过大而不能显示具体细节,通过增加这些细节的动态范围改善图像的视觉效果。图像增强可以突出图像中所感兴趣的特征信息,改善图像的主观视觉质量,提高图像的可懂度。
增强的首要目标是处理图像使其比原始图像更适合于特定应用。图像增强的方法分为两大类:空间域方法和频域方法。“空间域”一词是指图像平面本身,这类方法是以对图像的像素直接处理为基础的。“频域”处理技术是以修改图像的傅氏变换为基础的。一般说来,原始遥感数据的灰度值范围都比较窄,这个范围通常比显示器的显示范围小的多。增强处理可将其灰度范围拉伸到0-255的灰度级之间来显示,从而使图像对比度提高,质量改善。增强主要以图像的灰度直方图最为分析处理的基础。直方图均衡化能够增强整个图像的对比度,提高图像的辨析程度,算法简单,增强效果好。本文主要讨论了空间域的直方图均衡化增强, 并用Matlab 进行实验验证。
2 直方图图像增强的基本理论
大多数原始的遥感图像由于其灰度分布集中在较窄的范围内,使图像的细节不够清晰,对比度较低。为了使图像的灰度范围拉开或使灰度均匀分布,从而增大反差,使图像细节清晰,以达到增强的目的,通常采用直方图均衡化及直方图规定化两种变换。本文主要介绍直方图均衡化并进行实验。
2.1 直方图均衡化的概念
直方图均衡化(Histogram Equalization) 又称直方图平坦化,实质上是对图像进行非线性拉伸,重新分配图像象元值,使一定灰度范围内象元值的数量大致相等。这样,原来直方图中间的峰顶部分对比度得到增强,而两侧的谷底部分对比度降低,输出图像的直方图是一个较平的分段直方图:如果输出数据分段值较小的话,会产生粗略分类的视觉效果。
2.2 图像灰度直方图
直方图是表示数字图像中每一灰度出现频率的统计关系。直方图能给出图像灰度范围、每个灰度的频度和灰度的分布、整幅图像的平均明暗和对比度等概貌性描述。灰度直方图是灰度级的函数, 反映的是图像中具有该灰度级像素的个数, 其横坐标是灰度级r, 纵坐标是该灰度级出现的频率( 即像素的个数) pr( r) , 整个坐标系描述的是图像灰度级的分布情况, 由此可以看出图像的灰度分布特性, 即若大部分像素集中在低灰度区域, 图像呈现暗的特性; 若像素集中在高灰度区域, 图像呈现亮的特性。
2.3 直方图均衡化
图1所示就是直方图均衡化, 即将随机分布的图像直方图修改成均匀分布的直方图。基本思想是对原始图像的像素灰度做某种映射变换, 使变换后图像灰 度的概率密度呈均匀分布。这就意味着图像灰度的动态范围得到了增加, 提高了图像的对比度。
图1 直方图均衡化
通过这种技术可以清晰地在直方图上看到图像亮度的分布情况, 并可按照需要对图像亮度调整。另外,这种方法是可逆的, 如果已知均衡化函数, 就可以恢复原始直方图。
3 直方图均衡化算法分析
设变量r 代表图像中像素灰度级。对灰度级进行归一化处理, 则0≤r≤1, 其中r= 0表示黑, r= 1表示白。对于一幅给定的图像来说, 每个像素值在[ 0,1] 的灰度级是随机的。用概率密度函数pr(r)来表示图像灰度级的分布。
为了有利于数字图像处理, 引入离散形式。在离散形式下, 用rk 代表离散灰度级, 用Pr(rk) 代表pr(r) , 并且下式成立:Pr(rk) nkn
其中, 0≤rk≤1, k=0, 1, 2, , n-1。式中nk 为图像中出现rk这种灰度的像素数, n是图像中的像素总数, 而
图均衡化的函数表达式为:
k 1nkn就是概率论中的频数。图像进行直方
Si T(ri)
i 0nin
式中, k为灰度级数。相应的反变换为:
r Ti 1(Si)
4 Matlab环境下算法实现及结果分析
4.1实验过程
本文选取一张人物图像进行算法实验, 文件可存储栅格、矢量、DEM等多种格式,支持用户自定义数据, 是一种开放式的数据格式。为了便于操作, 实验采用IMG格式的数据结构。
在Matlab中自定义M文件, 输入如下算法程序:
clc;
clear;
I= imread('a.jpg');
I= rgb2gray(I) ; %将图像转换为灰度图像
J= histeq( I) ; %对I 进行直方图均衡化
subplot( 121) ,imshow(I) ,title('原始图像') ;
subplot (122), imshow(J), title('直方图均衡化后的图像');
figure( 2) ;
subplot( 121) ,imhist(I, 64), title( '原始的直方图');
subplot( 122) ,
imhist(J,64) ,
title(' 均衡化后的直方图');
4.2 实验结果
Matlab环境下的实验结果 …… 此处隐藏:481字,全部文档内容请下载后查看。喜欢就下载吧 ……