【图像增强(空域)】基于直方图增强的图像增强及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.直方图规定化

相关推荐
吃好睡好便好17 小时前
创建全0矩阵和全1矩阵
开发语言·学习·线性代数·算法·matlab·信息可视化·矩阵
armwind19 小时前
数字图像处理-5-图像处理的数学基础
图像处理·人工智能·计算机视觉
song50119 小时前
昇腾 910 的硬件架构:为什么它适合跑大模型
图像处理·人工智能·分布式·flutter·硬件架构·交互
armwind19 小时前
数字图像处理-9-图像的腐蚀和膨胀
图像处理·计算机视觉
加成BUFF19 小时前
MATLAB 基础命令合集:从入门到精通(环境、变量、矩阵、绘图全解析)
数据结构·matlab·矩阵
恣艺20 小时前
Python 图像处理实战:Pillow 与 OpenCV 从入门到精通
图像处理·python·pillow
吃好睡好便好20 小时前
创建随机矩阵
开发语言·人工智能·线性代数·算法·matlab·矩阵
weixin_4080996720 小时前
2026 图片高清化 API 实战:AI超分辨率重建技术详解 + Python/Java/PHP/C#代码示例
图像处理·人工智能·python·超分辨率重建·石榴智能·图片变清晰·图片高清化api
吃好睡好便好20 小时前
用直接输入的方式创建矩阵
开发语言·人工智能·学习·线性代数·算法·matlab·矩阵
吃好睡好便好1 天前
用while循环语句求和
开发语言·学习·算法·matlab·信息可视化