MATLAB如何实现图像增强灰度变换直方图均衡匹配

matlab实验

10人已加入

描述

MATLAB如何实现图像增强灰度变换直方图均衡匹配

在MATLAB数字图像处理领域,如何实现空间域图像增强的灰度变换,以及图像直方图的均衡和匹配(配准)?本文通过大量的图片增强案例,从图像的显示效果和灰度直方图分析入手,通过自编程,详细地讲解了图像的四种灰度变换;使用 MATLAB 自带的 imadjust 函数;以及直方图均衡化和规定化(匹配)处理的图像增强方法。

Matla空间域图像增强:基本的灰度变换

1. 负片变换

2. 对数变换

3. 伽马变换

4. 灰度拉伸

使用imadjust函数增强图像

图像的直方图均衡化处理

图像的直方图规定化(匹配) 处理

matlab

为什么要进行图像增强操作

1. 显现图像被模糊了的细节

2. 突出一幅图像中感兴趣的特征

图像增强效果的评价

1. 有时候是非常主观的,不同的人,各有偏爱

2. 图像增强之后,以机器能识别为基本标准

主要参考文献

1. 冈萨雷斯数字图像处理,阮秋琦等译

2. 冈萨雷斯数字图像处理(MATLAB版),阮秋琦等译

matlab

灰度图像的直方图

横轴:灰度图像的灰度级[0, L-1]

纵轴:[0, L-1] 中各灰度值的像素在图像总像素中的数量(所占比例)

MATLAB 函数:imhist

MATLAB 中的很多操作和函数,不支持uint8 的数据类型

为了便于处理,一般将uint8 数据类型的图像,转换为double 型

转换函数:im2double

matlab
     matlab

基本的图像灰度变换:伽马变换

伽马变换函数(double 类型图像)

令c = 1,设定不同的γ 值时,计算并绘制伽马变换函数

1. 当γ = 1 时,输出灰度与输入灰度相同

2. 当γ < 1 时,与对数变换的效果类似:太过灰暗的像素得到增强

3. 当γ > 1 时,与γ < 1 时刚好相反:太过明亮的像素得到抑制

matlab
                         matlab
                      matlab
                           matlab
                              matlab

基本的图像灰度变换:灰度拉伸

灰度拉伸函数(double 类型图像)

令E = 20,设定不同的m 值,计算并绘制灰度拉伸函数

令m = 0.5,设定不同的E 值,计算并绘制灰度拉伸函数

matlab
matlab
matlab
matlab

使用MATLAB imadjust函数增强图像

针对于图像的伽马变换,MATLAB 自带imadjust函数

J = imadjust(I, [low;high], [bottom; top], gamma)

输入灰度low ~ high à输出灰度bottom ~ top

输入灰度小于lowà输出灰度为bottom

输入灰度大于highà输出灰度为top

使用imadjust来增强前述所有的原始图片

matlab

  数字图像的MATLAB直方图均衡化处理

  图像的直方图描述了一幅图像的概貌,在前述灰度变换的实例中(尤其是灰度拉伸),经过灰度变换之后,图像的灰度值在整个[0, 1] 灰度级上分布更加均匀,图像的显示效果明显改善

  读取四幅不同显示效果的图像,绘制直方图,并做比较

 matlab
matlab

  直观上说,如果一副图像的像素占有全部可能的灰度级,并且分布均匀,这样的图像有着高的对比度和丰富多变的色调,通过对图像进行直方图均衡化处理,可以使得图像的像素在整个灰度级上近似均匀分布

  MATLAB自带histeq函数,T为图像从I到J 的灰度变换函数

  [J, T] = histeq(I)

  J = histeq(I)

  分别对四副花粉图像做直方图均衡化处理,并绘制直方图和灰度变换函数

 matlab
matlab

  数字图像的MATLAB直方图规定化(匹配)处理

  直方图的均衡化处理是图像增强的一种好方法,但有时均匀的直方图并不是图像增强的最好方法

  由于图像主要是大片的暗区域,大量的像素值接近于0,直方图均衡化处理,并没有得到期望的效果

  有些时候,希望处理的图像具有指定的直方图形状:直方图规定化(匹配)保留原直方图的大体形状,在暗灰度值部分的像素分布,做平滑过渡处理

 matlab
matlab

  图像的直方图规定化处理,也是使用histeq 函数,调用格式如下

  J = histeq(I,hgram), hgram 为规定化的直方图形状根据原始直方图的特点,利用sin 函数,构造出两个不同高度的波峰,分别置于像素灰度值较小处和较大处

 matlab

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分