数字图像处理第三章——灰度变换与空间滤波

目录

一、背景知识

 二、一些基本的灰度变换函数

1、图像反转

2、对数变换

 3、幂律(伽马)变换

4、分段线性变换函数 

三、直方图处理

1、直方图均衡

2、直方图匹配

3、局部直方图处理

4、在图像增强中使用直方图统计

四、空间滤波基础

1、空间滤波机理

2、空间相关与卷积

3、线性滤波的向量表示

4、空间滤波器模板的产生 

五、平滑空间滤波器

1、平滑线性滤波器

2、统计排序滤波器

六、锐化空间滤波器

1、基础

2、使用二阶微分进行图像锐化-拉普拉斯算子

3、非锐化掩蔽和搞提升滤波

4、使用一阶微分队图像锐化-梯度 

七、混合空间增强法

八、使用模糊技术进行灰度变换和空间滤波

1、引言

2、模糊集合论原理

3、使用模糊结合进行灰度变换

​编辑4、使用模糊集合进行空间滤波

一、背景知识

本章讨论的空间域处理可由下式表示:

g(x, y)= T[f(x, y)]

其中f(x,y)是输人图像,g(x,y)是处理后的图像,T是在点(x,y)的邻域上定义的关于f 的一种算子。
下图显示了该式在单幅图像上的基本实现: 

 二、一些基本的灰度变换函数

作为关于灰度变换的介绍,下图显示了图像增强常用的三类基本函数:线性函数(反转和恒等变换)、对数函数(对数和反对数变换)和幂律函数(n次幂和n次根变换)。

1、图像反转

s = L-1-r

import cv2

img = cv2.imread('E:\yan.jpg', 0) # 读取图像并转为灰度图
cv2.imshow('img',img)

img1= 255-img #图像反转
cv2.imshow('img1',img1)

2、对数变换

s = c log(1+r)

其中c是一个常数,并假设r ≥0。

对数函数有个重要特征,即它压缩像素值变化较大的图像的动态范围。像素值有较大动态范围的一个典型应用说明是傅里叶频谱。

import cv2
import math
import numpy as np


def logTransform(c, img):
    # 3通道RGB
    '''h,w,d = img.shape[0],img.shape[1],img.shape[2]
    new_img = np.zeros((h,w,d))
    for i in range(h):
        for j in range(w):
            for k in range(d):
                new_img[i,j,k] = c*(math.log(1.0+img[i,j,k]))'''

    # 灰度图专属
    h, w = img.shape[0], img.shape[1]
    new_img = np.zeros((h, w))
    for i in range(h):
        for j in range(w):
            new_img[i, j] = c * (math.log(1.0 + img[i, j]))

    new_img = cv2.normalize(new_img, new_img, 0, 255, cv2.NORM_MINMAX)

    return new_img

img = cv2.imread('fu.png',0)

log_img = logTransform(1.0, img)
cv2.imshow('log_img', log_img)
cv2.waitKey(0)

 3、幂律(伽马)变换

s=cr^{\gamma }

 其中c和γ为正常数。

 用于图像获取、打印和显示的各种设备根据幂律来产生响应。习惯上,幂律方程中的指数称为伽马[故在式中使用这一符号]。用于校正这些幂律响应现象的处理称为伽马校正。

4、分段线性变换函数 

对比度拉伸
对比度拉伸是扩展图像灰度级动态范围的处理,因此,它可以跨越记录介质和显示装置的全部灰度范围。

 灰度级分层
灰度级分层有两种基本方法。一种方法是将感兴趣范围内的所有灰度值显示为一个值(譬如“白色”),而将其他灰度值显示为另一个值(譬如“黑色”),该变换产生了一-幅二值图像。第二种方法,使感兴趣范围的灰度变亮(或变暗),而保持图像中的其他灰度级不变。如下图:

比特平面分层
一幅8比特图像可考虑为由8个1比特平面组成,其中平面1包含图像中所有像素的最低阶比特,而平面8包含图像中所有像素的最高阶比特。

把一幅图像分解为比特平面,对于分析图像中每个比特的相对重要性是很有用的,这一处理可帮助我们确定用于量化该图像的比特数的充分性。

存储以下4个平面代替原始图像可减少50%的存储量(不考虑存储体系结构问题)。

三、直方图处理

灰度级范围为[0,L-1]的数字图像的直方图是离散函数h(r_{k})=n_{k},其中r是第k级灰度值,n是图像中灰度为r的像素个数。在实践中,经常用乘积MN表示的图像像素的总数除它的每个分量来归一化直方图,通常M和N是图像的行和列的维数。

下图是以4个基本灰度级为特征的花粉图像:暗图像、亮图像、低对比度图像和高对比度图像。图的右侧显示了与这些图像对应的直方图。

1、直方图均衡

一幅图像的灰度级可看成是区间[0,L-1]内的随机变量。随机变量的基本描绘子是其概率密度函数(PDF)。令p,(r)和p,(s)分别表示随机变量r和s的概率密度函数,其中p的下标用于指示p,和p,是不同的函数。由基本概率论得到的一个基本结果是,如果p,r)和T(r)已知,且在感兴趣的值域上T(r)是连续且可微的,则变换(映射)后的变量s的PDF可由下面的简单公式得到:

在图像处理中特别重要的变换函数有如下形式:

我们由基本积分学中的莱布尼茨准则知道,关于上限的定积分的导数是被积函数在该上限的值,即

把dr/ds的这个结果代入上式,并记住概率密度值为正,得到

从该公式的最后一行中的p,(s)可知,这是一个均匀概率密度函数。

2、直方图匹配

用于生成具有规定直方图的图像的方法称为直方图匹配(规定化)。
假设p_r(r) 和p_z(z)为连续随机变量r和s的连续概率密度函数,r表示输入图像的灰度级,z表示输出图像的灰度级。p_z(z)是希望输出图像所具有的指定概率密度函数。
寻找T(r)和G^{-1}比较困难,离散形式的直方图均衡变换有下式:

变换函数G为: 

3、局部直方图处理

该过程是定义一个邻域,并把该区域的中心从一个像素移至另一个像素。在每个位置,计算邻域中的点的直方图,并且得到的不是直方图均衡化,就是规定化变换函数。这个函数最终用于映射邻域中心像素的灰度。

4、在图像增强中使用直方图统计

直接从图像直方图得到的统计量信息可用于增强图像。令r是一个离散型随机变量,它表示区间[0,L−1]内的灰度值;令p(ri)是相对于灰度值ri的归一化直方图分量。即p(ri)可视为灰度ri的概率密度函数,并可得到图像的直方图。

1)、均值是平均灰度的测度,图像像素灰度的均值m计算公式如下:


2)、方差(或标准差σ)是图像对比度的测度,方差公式如下:


简单理解图像灰度均值和方差的意义就是,均值越大,图像越亮;方差越大,图像对比度越高。

四、空间滤波基础

滤波─词借用于频域处理,“滤波”是指接受(通过)或拒绝一定的频率分量。例如,通过低频的滤波器称为低通滤波器。低通滤波器的最终效果是模糊(平滑)一幅图像。我们可以用空间滤波器(也称为空间掩模、核、模板和窗口)直接作用于图像本身而完成类似的平滑。

1、空间滤波机理

空间滤波器由(⑴)一个邻域(典型地是一个较小的矩形),(2)对该邻域包围的图像像素执行的预定义操作组成。
下图说明了使用3×3邻域的线性空间滤波的机理:


 在图像中的任意一点(x, y),滤波器的响应g(x, y)是滤波器系数与由该滤波器包围的图像像素的乘积之和: 

一般来说,使用大小为m×n的滤波器对大小为M×N的图像进行线性空间滤波,可由下式表示:

2、空间相关与卷积

相关是滤波器模板移过图像并计算每个位置乘积之和的处理。卷积的机理相似,但滤波器首先要旋转180°。

相关:

卷积:

3、线性滤波的向量表示

4、空间滤波器模板的产生 

我们使用线性滤波所能做的所有事情是实现乘积求和操作。

五、平滑空间滤波器

1、平滑线性滤波器

平滑线性空间滤波器的输出(响应)是包含在滤波器模板邻域内的像素的简单平均值。这些滤波器有时也称为均值滤波器。
平滑滤波器使用滤波器模板确定的邻域内像素的平均灰度值代替图像中每个像素的值,这种处理的结果降低了图像灰度的“尖锐”变化。常见的平滑处理应用就是降低噪声。

2、统计排序滤波器

统计排序滤波器是一种非线性空间滤波器,这种滤波器的响应以滤波器包围的图像区域中所包含的像素的排序(排队)为基础,然后使用统计排序结果决定的值代替中心像素的值。这一类中最知名的滤波器是中值滤波器。

六、锐化空间滤波器

锐化处理的主要目的是突出灰度的过渡部分。图像锐化的用途多种多样,应用范围从电子印刷和医学成像到工业检测和军事系统的制导等。

1、基础

对于一阶微分的任何定义都必须保证以下几点:(1)在恒定灰度区域的微分值为零;(⑵)在灰度台阶或斜坡处微分值非零;3)沿着斜坡的微分值非零。类似地,任何二阶微分的定义必须保证以下几点:(1)在恒定区域微分值为零;(2)在灰度台阶或斜坡的起点处微分值非零;⑶沿着斜坡的微分值非零。因为我们处理的是数字量,其值是有限的,故最大灰度级的变化也是有限的,并且变化发生的最短距离是在两相邻像素之间。
对于一维函数f(x),其一阶微分的基本定义是差值:

我们将二阶微分定义为如下差分:

2、使用二阶微分进行图像锐化-拉普拉斯算子

最简单的各向同性微分算子是拉普拉斯算子。一个二维图像函数f(x,y)的拉普拉斯算子定义为:

在x、y方向有:

所以,遵循这三个公式,两个变量的离散拉普拉斯算子是:

3、非锐化掩蔽和搞提升滤波

非锐化掩蔽的处理过程由下列步骤组成:

  1. 模糊原图像。
  2. 从原图像中减去模糊图像(产生的差值图像称为模板)。
  3. 将模板加到原图像上。

令f(x,y)表示模糊图像,非锐化掩蔽以公式形式描述如下。

4、使用一阶微分队图像锐化-梯度 

对于函数f(x,y),f在坐标(x, y)处的梯度定义为二维列向量:

七、混合空间增强法

通常,为了达到令人满意的结果,对给定的任务需要应用多种互补的图像增强技术。

八、使用模糊技术进行灰度变换和空间滤波

1、引言

我们可以用模糊逻辑基础解释非限制评价隶属度函数,并且把使用它们生成的集合看成是模糊集合。

2、模糊集合论原理

令Z为元素(对象)集,z表示Z的一类元素,即Z={z}。该集合称为论域。Z中的模糊集合 A由隶属度函数u(z)表征,它是与Z的元素相关的在区间[0, 1]内的一个实数。u(z)在z处的值表示A中z的隶属度等级。最接近u(z)的值与在A中的z的较高的隶属度等级趋于一致,而当u(z)接近于0时,则相反。

3、使用模糊结合进行灰度变换

我们可以用如下规则说明灰度级图像对比度增强的过程:

  • IF一个像素是暗的,THEN使它较暗。
  • IF一个像素是灰的,THEN使它仍是灰的。
  • IF一个像素是亮的,THEN使它较亮。

我们可以用下图中的隶属度函数来表示暗、灰和亮这些概念。


4、使用模糊集合进行空间滤波

当把模糊集合用于空间滤波时,基本方法是定义一个邻域特性,该特性“截获”滤波器支持检测的本质。

我们可以开发一个基于模糊集合概念的边缘提取算法:“如果一个像素属于平滑区,则令其为白色,否则使其为黑色”,其中“黑色”和“白色”是模糊集合。为了用模糊术语表示“平滑区”这一概念,我们可以考虑邻域中心处像素和邻域像素间的灰度差。

四个IF-THEN规则和一个ELSE规则的简单集合就可以实现本段开始提到的模糊集合概念的本质:








 

  • 18
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值