MATLAB空间域图像增强:灰度变换和直方图均衡匹配
MATLAB空间域图像增强:灰度变换和直方图均衡匹配的 Scope 图像增强的目的和评价 灰度图像的直方图 空间域图像增强:基本的灰度变换 1. 负片变换 2. 对数变换 3. 伽马变换 4. 灰度拉伸 使用imadjust函数增强图像 图像的直方图均衡化处理 图像的直方图规定化(匹配) 处理
图像增强的目的和评价 为什么要进行图像增强操作 1. 显现图像被模糊了的细节 2. 突出一幅图像中感兴趣的特征 图像增强效果的评价 1. 有时候是非常主观的,不同的人,各有偏爱 2. 图像增强之后,以机器能识别为基本标准 主要参考文献 1. 冈萨雷斯数字图像处理,阮秋琦等译 2. 冈萨雷斯数字图像处理(MATLAB版),阮秋琦等译
灰度图像的直方图 横轴:灰度图像的灰度级[0, L-1] 纵轴:[0, L-1] 中各灰度值的像素在图像总像素中的数量(所占比例) MATLAB 函数:imhist MATLAB 中的很多操作和函数,不支持uint8 的数据类型 为了便于处理,一般将uint8 数据类型的图像,转换为double 型 转换函数:im2double
MATLAB空间域图像增强:基本的灰度变换
基本的灰度变换T 1. 负片变换 2. 对数变换 3. 伽马变换 4. 灰度拉伸 灰度变换的特点 灰度变换的特点 1. 输出图像与输入图像的尺寸(行/列数) 相同 2. 对输入图像中各个像素的灰度值r 进行T(r) 的计算,得到输出图像对应位置像素的灰度值s
基本的图像灰度变换:负片变换 1. 使用MATLAB计算并绘制负片变换的变换函数 2. 负片变换的视觉效果:黑白颠倒
基本的图像灰度变换:对数变换 对数变换函数(double 类型图像) 令c = 1,设定不同的N 值时,计算并绘制对数变换函数 1. 图像的低灰度值部分被扩展 2. 图像的高灰度值部分被压缩 3. 底数N 越大,对低/高灰度值部分的扩展/压缩越强 4. 对数变换适合增强图像中的暗像素
基本的图像灰度变换:伽马变换 伽马变换函数(double 类型图像) 令c = 1,设定不同的γ 值时,计算并绘制伽马变换函数 1. 当γ = 1 时,输出灰度与输入灰度相同 2. 当γ < 1 时,与对数变换的效果类似:太过灰暗的像素得到增强 3. 当γ > 1 时,与γ < 1 时刚好相反:太过明亮的像素得到抑制
基本的图像灰度变换:灰度拉伸 灰度拉伸函数(double 类型图像) 令E = 20,设定不同的m 值,计算并绘制灰度拉伸函数 令m = 0.5,设定不同的E 值,计算并绘制灰度拉伸函数
使用MATLAB imadjust函数增强图像
针对于图像的伽马变换,MATLAB 自带imadjust函数 J = imadjust(I, [low;high], [bottom; top], gamma) 输入灰度low ~ high 输出灰度bottom ~ top 输入灰度小于low输出灰度为bottom 输入灰度大于high输出灰度为top 使用imadjust来增强前述所有的原始图片
数字图像的MATLAB直方图均衡化处理
图像的直方图描述了一幅图像的概貌,在前述灰度变换的实例中(尤其是灰度拉伸),经过灰度变换之后,图像的灰度值在整个[0, 1] 灰度级上分布更加均匀,图像的显示效果明显改善 读取四幅不同显示效果的图像,绘制直方图,并做比较
直观上说,如果一副图像的像素占有全部可能的灰度级,并且分布均匀,这样的图像有着高的对比度和丰富多变的色调 通过对图像进行直方图均衡化处理,可以使得图像的像素在整个灰度级上近似均匀分布 MATLAB自带histeq函数,T为图像从I到J 的灰度变换函数 [J, T] = histeq(I) J = histeq(I) 分别对四副花粉图像做直方图均衡化处理,并绘制直方图和灰度变换函数
数字图像的MATLAB直方图规定化(匹配)处理
直方图的均衡化处理是图像增强的一种好方法,但有时均匀的直方图并不 是图像增强的最好方法 由于图像主要是大片的暗区域,大量的像素值接近于0,直方图均衡化处理, 并没有得到期望的效果 有些时候,希望处理的图像具有指定的直方图形状:直方图规定化(匹配) 保留原直方图的大体形状,在暗灰度值部分的像素分布,做平滑过渡处理
图像的直方图规定化处理,也是使用histeq 函数,调用格式如下 J = histeq(I,hgram), hgram 为规定化的直方图形状 根据原始直方图的特点,利用sin 函数,构造出两个不同高度的波峰,分 别置于像素灰度值较小处和较大处