(超详细)图像处理之空域增强

  • 空域指的是图像的像素矩阵本身,空域图像增强是直接
    对像素进行处理的。

     

    空域技术是直接对像素的灰度值进行修改。空域图像处理可由表

    达式

    为像素坐标,T 表示对图像 f 进行增强的操作符。其中T 的定义域可 以是单个像素,也可扩展至像素邻域、整幅图像、甚至多幅图像。

     

    重要 图像增强操作符T 的最简单操作形式是对单个像素进行处理,此

    (x,y)处的输出只与当前位置像素的灰度有关,T 简化为亮度分量

    (彩色图像)或灰度值(灰度图像)*的变换函数,其形式相应写成 s =T(r)

    r 为输入图像的灰度, s 为相应的输出图像中灰度。

     

    MATLAB 图像处理工具箱使用 imadjust 函数来实现图像的灰度变

    ,语法格式如下:

    J = imadjust(I,[low_in; high_in],[low_out; high_out],gamma) newmap = imadjust(map,[low_in; high_in],[low_out; high_out],

    gamma)

    RGB2 = imadjust(RGB1,___)

    gpuarrayB = imadjust(gpuarrayA,___)

     

     

    读入一个低对比度图像,对其采用灰度变换的方式增强 对比度。

    I=imread('pout.tif');
    
    imshow(I);
    
    K=imadjust(I,[0.3 0.7],[]);
    
    figure,imshow(K);

     

     

     

     

    直方图均衡化

     

     

    重要 直方图均衡化是一种最常用的直方图修正方法,它把给定的直方 图修改为均匀分布。用信息论解释,直方图均衡化是使修改后的图像 具有最大熵,即含有最多的信息量。 直觉上,直方图均衡化表现为图

    像的对比度增加。采用直方图均衡化对一幅图像进行操作的具体方法

    1)列出原始图像的灰度级Sk, k=0,1,L,L-1; 其中L为灰

    度级个数。

    2) 统计原图像中各灰度级所包含像素数目nk

    3) 计算原图像各灰度级的频率数 tk = k / N

    4) 计算原始图像灰度级频率数的累计直方图Tk = 5)确实映射关系Sk ®int[(N-1)´Tk]

     

    5)确实映射关系Sk ®int[(N-1)´Tk]

     

    直方图均衡化的 MATLAB 函数为 histeq 具体语法格式如下:

    J = histeq(I,hgram)

    J = histeq(I,n)

    [J, T] = histeq(I)

    newmap = histeq(X, map, hgram)

    newmap = histeq(X, map)

    [newmap, T] = histeq(X,___)

    [gpuarrayJ, gpuarrayT] = histeq(gpuarrayI,___)



    这幅图像的直方图为上图,经过均衡化为




    这幅图像的直方图为上图,经过均衡化为

    空域滤波

    如前文所述,空域图像处理的自变量即可以是单个像素,也可以 是单个像素的邻域。空域滤波就是在图像空间中借助模板对图像进行 邻域操作。

     

    图像的邻域通常不止一个像素,也就是说一个像素的邻域除该像素本身外,往往还包括其他像素。图像的空域滤波通常通过模板与图 像的卷积(互运算)来实现,每个模板是一个二维数组,其中元素的 值确定了模板的功能。主要步聚如下:

    1)将模板在图像上滑动,并将模板中心与图像的待处理像素位

    置重合。

    2)将模板上的系数与模板下对应的像素相乘。

    3)将所有乘积相加。

    4)将上步之和作为待处理像素的灰度值。

     

     

     

    例 6‐4 如下图 6‐4,用模板 B 对图像 A 进行模板运算。

     

     

     

    (a)图像矩阵 A 


     (b)模板 B 图 6‐4 图像及模板示例

    图像矩阵 A 中阴影标记的灰度值为 8 的像素,其滤波结果为: 3´1+4´1+1´1+6´1+8´5+9´1+1´1+3´1+1´1=68

    由此例可以看出,这种采用模板滑动来实现空域滤波的算法是相 当耗时的。

    为了减少运算复杂度,很多专用图像处理系统选取模板并 不太大,多为3´3、5´5、7´7等,并且常用硬件来完成模板运算。

    根据空域滤波器的输出结果,可把空域滤波器分为平滑滤波器和 锐化滤波器两种。

    平滑滤波

    平滑滤波器可通过低通滤波实现,目的在于模糊图像或消除图像噪声。根据模板特点,平滑滤波器又可分为线性平滑滤波器和非线性 平滑滤波器。

    线性平滑滤波器和非线性平滑滤波器都属于平滑滤波,不要把非线性滤波器当做锐化滤波器。

     

    模板对图像进行滤波。 fspecial 的常用语法格式为

    h = fspecial(type)

    h = fspecial(type,parameters)

    表格 6‐1 fspecial 函数的滤波器模板定义

    type

    parmeters

    说明

    average

    hsize

    矩形均值滤波器。hsize 为两元素向量,用于指定矩形 的大小。当为正方形区域时 hsize 也可用标量表示。

    disk

    radius

    生成半径为 radius 的圆形滤波器

    gaussian

    hsize,sigma

    标准偏差为 sigma,大小为 hsize 的高斯低通滤波器

    laplacian

    alpha

    系数为 alpha 的二维拉普拉斯操作

    log

    hsize,sigma

    标准偏差为sigma,大小为hsize的高斯滤波旋转对称 拉氏算子。

    motion

    len,theta

    按角度 theta 移动 len 个像素的运动滤波器

    prewitt

    近似计算梯度算子

    sobel

    考虑了像素点间空间位置的近似计算梯度算子,

     

    I=imread('eight.tif');

     K1=filter2(fspecial('average',3),I);subplot(1,2,1),imshow(K1,[]);title('3*3 均值滤波');

    K2=medfilt2(I,[33]);

     subplot(1,2,2),imshow(K2,[]);

    title('3*3 中值滤波');


    第一张图是均值滤波,第二张图是中值滤波。

    中值滤波器在细节保持方面较均值滤波器有所

    提高。


    1)线性锐化滤波器

    线性锐化滤波器由于其速度较快,经常用于图像锐化。这种滤波 器的一个经典的 3 ´ 3 模板如下图:

     

     

     

     

    事实上图 6‐10 所示模板为拉普拉斯算子,中心系为大于零,其 余系数小于零,所有系数之和为零。当这样的模板在图像中游走时, 对灰度变化较小或没有变化的区域,其滤波输出较小或为 0。

     

    非线性锐化滤波器

    均值滤波器可以模糊图像,而均值滤波器在计算过程中要进行求 和,在数学上对应积分

    故非线性锐化滤波器可在数学上通过微分来实现。其中梯度算子是最常用的微分算子,其刻画了图像沿某个方 向上的灰度变化率。

     

    常用的空域非线性锐化滤波算子有sobel算子、prewitt算子、log

    算子(拉普拉斯高斯算子)等。这些算子的定义主要是基于梯度及梯 度模的基本概念。

     

     

    分别用不同非线性锐化滤波器对图像进行滤波。

    I=imread('blobs.png');

    h1=fspecial('sobel');

    J1=filter2(h1,I);

    h2=fspecial('prewitt');

    J2=filter2(h2,I);

    h3=fspecial('log');

    J3=filter2(h3,I); subplot(2,2,1);imshow(I);title('原始图像'); subplot(2,2,2);imshow(J1);title('sobel 算子滤波'); subplot(2,2,3);imshow(J2);title('prewitt 算子滤波'); subplot(2,2,4);imshow(J3);title('log 算子滤波');

     

     

     

    由上面的实验结果可以看出,默认的 sobel 和 prewitt 算子均为求

    解水平细节,即在竖直方向上进行微分计算。可通过将这两个算子的 模板转置来实现解竖直细节的提取。

     






你可能感兴趣的:(懒人笔记,MATLAB图像处理)