第15章 小波分析用于图像增强


图像增强是按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些信息使得图像更加实用。图像增强技术主要包含直方图修改处理、图像平滑处理、图像尖锐化处理、图像钝化处理和彩色技术等。
在本章中将利用MATLAB提供的若干函数,用于图像类型的转换以及图像增强方面的相关函数。本章的结构安排为:首先介绍图像增强所涉及的技术,如频域法、时频分析法等,随后将通过大量实例来介绍如何通过MATLAB提供的函数基于小波分析方法来进行图像的平滑、增强、锐化、钝化等处理。
学习目标:
(1)了解小波图像增强包含的内容和方法
(2)熟练掌握MATLAB中应用于图像增强和滤波的函数
(3)熟练掌握基于小波分析进行图像增强的算例
15.1 图像增强技术
图像增强技术主要包括:图像滤波、图像平滑处理、图像锐化处理、图像钝化处理等。从纯技术上讲主要有两类:频域处理法和空域处理法。
15.1.1 滤波增强
图像增强单纯从技术上可分成两大类:一类是频域处理法;一类是空域处理法。
•频域处理法采用的是卷积定理,它利用修改图像傅立叶变换的方法实现对图像的增强处理。
•空域处理法则是对图像中的像素进行直接的处理,大多数是以灰度映射变换为基础的,所用的映射变换取决于增强的目的。
使用空域模板进行的图像处理被称为空域滤波,模板本身被称为空域滤波器。空域滤波器包括:线性滤波器和非线性滤波器。
按空域滤波处理效果来分,可以分为平滑滤波器和锐化滤波器。
•平滑的目的在于消除混杂在图像中的干扰因素,改善图像质量,强化图像表现特征。
•锐化的目的在于增强图像边缘,以及对图像进行识别和处理。
接下来本章将陆续介绍傅立叶变换法实现对图像增强处理和小波分析方法对图像增强处理。这其中也包括图像增强中所涉及的图像滤波、平滑处理、图像锐化与钝化等方面的算例。
15.1.2 滤波器
(1)平滑滤波器:用于模糊处理和减小噪声。平滑线性空间滤波器的输出(响应)是包含在滤波掩模邻域内像素的简单平均值。因此这些滤波器也被称为均值滤波器。
平滑滤波器的概念很简单:它是用滤波掩模确定的领域内像素的平均值去代替图像每个像素点的值。这种处理减少了图像灰度的尖锐化。每个掩模前边的乘数等于它的系数值的和,以计算平均值。
我们经常用这些极端类型的模糊处理来去除图像中的一些小物体。
(2)中值滤波器:其原理是把数字图像或数字序列中某一点的值用该点的一个邻域中各点值的中值交换。中值滤波器的窗口可以取方形、圆形、十字形等。
(3)锐化滤波器:锐化处理的主要目的是突出图像中的细节或者增强被模糊了的细节,这种模糊不是由于错误操作,就是特殊图像获取方法的固有影响。常用的方法有两种,即微分法和模板匹配法。其中微分法中梯度是图像处理常用的一次微分方法;在灰度骤变区域,梯度值大;在灰度相似区域,梯度值小。在灰度级为常数的区域,梯度为零;Laplacian算子是线性二次微分算子,与梯度算子一样,具有旋转不变性,从而满足不同走向的图像边界的锐化要求。而对于模板匹配法则是除了能够增强图像边缘外,还具有平滑噪声的优点。
(4)低通滤波器:一幅图像的边缘、跳跃部分以及颗粒噪声代表图像信号的高频分量,而大面积的背景区域代表了图像信号的低频分量。低通滤波器的作用就是滤除这些高频分量,保留低频分量,使图像信号平滑。它包括理想低通滤波器、巴特沃斯低通滤波器、指数低通滤波器等。
(5)高通滤波器:与低通滤波器相反,它将高频信号通过,而抑制了低频信号。
(6)同态滤波器:把频率过滤和灰度变换结合起来的图像处理方法叫同态滤波。
15.2 MATLAB图像增强函数及应用
MATLAB软件中提供了用于图像增强的函数,本节将介绍这些函数的使用方法及上一节介绍理论方面的应用。
15.2.1 图像增强函数
MATLAB中图像增强函数的具体使用方法及举例如下。
(1)直方图:imhist函数用于数字图像的直方图显示。如:
i=imread('e:\w13.tif');
imhist(a);
(2)直方图均化:histeq函数用于数字图像的直方图均化。如:
i=imread('e:\w13.tif');
j=histeq(a);
(3)对比度调整:imadjust函数用于数字图像的对比度调整。如:
i=imread('e:\w13.tif');
j=imadjust(a,[0.3,0.7],[]);
(4)对数变换:log函数用于数字图像的对数变换。如:
i=imread('e:\w13.tif');
j=double(a);
k=log(v);
(5)基于卷积的图像滤波函数:filter2函数用于图像滤波。如:
i=imread('e:\w13.tif');
h=[1,2,1;0,0,0;-1,-2,-1];
j=filter2(h,i);
(6)线性滤波:利用二维卷积conv2滤波。如:
i=imread('e:\w13.tif');
h=[1,1,1;1,1,1;1,1,1];
h=h/9;
j=conv2(i,h);
(7)中值滤波:medfilt2函数用于图像的中值滤波。如:
i=imread('e:\w13.tif');
j=medfilt2(i);
(8)锐化:利用Sobel算子锐化图像。如:
i=imread('e:\w13.tif');
h=[1,2,1;0,0,0;-1,-2,-1]; %Sobel算子
j=filter2(h,i);
15.2.2 MATLAB应用于数字图像增强和滤波
基于上一节中介绍的图像增强技术,本小节将例举这些滤波器的具体实例。
【例15.1】在MATLAB中利用线性平滑滤波器处理一幅图像。MATLAB代码设置如下:
I=imread('coins.png');
J=imnoise(I,'salt & pepper',0.02);
%添加椒盐噪声
subplot(221)
imshow(I)
title('原图像')
subplot(222)
imshow(J)
title('添加椒盐噪声图像')
K1=filter2(fspecial('average',3),J)/255;
%应用3×3邻域窗口法
subplot(223),imshow(K1)
K2=filter2(fspecial('average',7),J)/255;
%应用7×7邻域窗口法
subplot(224),
imshow(K2)
结果如图15-1所示。
图15-1 平滑滤波
【例15.2】利用小波变换处理滤波函数图像。MATLAB代码设置如下:
I=imread('pears.png');
J=imnoise(I,'salt & pepper',0.02);
subplot(121),imshow(J)
title('含噪声的图像')
J=double(J);
[g,cH1,cV1,cD1]=dwt2(J,'db4');
[M,N]=size(g);
n=3;
d0=20;
n1=floor(M/2);n2=floor(N/2);
for i=1:M
for j=1:N
d=sqrt(i-n1)^2+((i-n2)^2);
h=1/(1+0.414*(d/d0)^(2*n));
g(i,j)=h*g(i,j);
end
end
A0=idwt2(g,cH1,cV1,cD1,'db4');
subplot(122)
imshow(A0)
title('三阶Butterworth滤波图像')
结果如图15-2所示。
图15-2 结果图
【例15.3】对给定图像进行边缘图像增强。MATLAB代码设置如下:
X=imread('eight.tif');
Y=double(X);
x=(257-Y)./255;
J=imnoise(x,'gaussian',0,0.005);
d1=0.3.*[1,1,1;1,2,1;1,1,1];
Y1=conv2(J,d1,'same');
d2=[0,-1,0;-1,5,-1;0,-1,0];
Y2=conv2(Y,d2,'same');
subplot(2,2,1),
imshow(X);
title('原图像');
subplot(2,2,2),
imshow(J);
title('加噪图像');
subplot(2,2,3),
imshow(Y1);
title('降噪后图像');
subplot(2,2,4),
imshow(Y2/max(max(Y2))+Y/255);
title('边缘增强图像');
结果如图15-3所示。
图15-3 结果图
【例 15.4】运用直方图均衡、灰度变换、锐化空域滤波等方法编程实现对图像的空域增强处理。MATLAB代码设置如下:
f=imread('tire.tif');
J=histeq(f);
subplot(2,2,1);
imshow(f);
title('原图像');
subplot(2,2,2);
imhist(f);
title('原图直方图');
subplot(2,2,3);
imshow(J);
title('均衡化结果');
subplot(2,2,4);
imhist(J);
title('均衡化结果的直方图');
结果如图15-4所示。
图15-4 结果图
平滑滤波技术用于平滑图像中的噪声。平滑噪声可以在空间域中进行,基本方法是求像素灰度的平均值或中值。
【例15.5】对给定图像进行平滑与滤波。MATLAB代码设置如下:
I=imread('tire.tif');
J=imnoise(I,'gaussian',0,0.01);%给图像加高斯噪声
subplot(1,2,1);
imshow(I);
title('原始图像');
subplot(1,2,2);
imshow(J);
title('加入高斯噪声的图像');
结果如图15-5所示。
图15-5 结果图
h=fspecial('average',3);
gd=imfilter(J,h);
figure
subplot(1,2,1);
imshow(J);
title('加入高斯噪声的图像');
subplot(1,2,2);
imshow(gd);
title(' 3X3模板均值滤波');
结果如图15-6所示。
图15-6 结果图
【例 15.6】对给定的数字图像进行频域的理想低通,同屏显示原图、幅度谱图和低通滤波的结果图。MATLAB代码设置如下:
clc;
X=imread('cameraman.tif');
b=double(X);
figure(1);
subplot(1,2,1);
imshow(b,[0,255]);
b=fft2(b);
m=abs(b);
subplot(1,2,2);
m0=15*log(m+3.001);
surf(m);
q=b;
t=fftshift(q);
r=8;
for x=1:256
for y=1:256
if (x-128).^2+(y-128).^2>r.^2;
t(x,y)=0;
end
end
end
结果如图15-7所示。
图15-7 原图像及其频谱图
h2=abs(t);
h02=15*log(3.001+h2);
figure(2);
imshow(h02,[0,255]);
t=ifftshift(t);
z=ifft2(t);
figure(3);
结果如图15-8所示。
subplot(1,2,1);
imshow(z,[0,255]);
n=fft2(z);
subplot(1,2,2);
n=15*log(3.001+abs(n));
surf(n);
结果如图15-9所示。
图15-8 结果图
图15-9 理想低通滤波结果图和滤波频谱图
15.3 小波分析用于图像增强
上一节主要针对图像增强方面的技术在MATLAB中进行了实现,本节将主要针对小波分析来实现图像增强。
15.3.1 图像增强问题描述
小波分析在二维信号(图像)处理方面的优点主要体现在其时频分析特性,前面介绍了一些基于这种特性的一些应用的实例,但对二维信号小波系数的处理方法只介绍了阈值化方法一种,下面将介绍一下以前在一维信号中用到的抑制系数的方法,这种方法在图像处理领域主要应用于图像增强。
图像增强问题的基本目标是对图像进行一定的处理,使其结果比原图更适用于特定的应用领域,这里“特定”这个词非常重要,因为几乎所有的图像增强问题都是与问题背景密切相关的,脱离了问题本身的知识,图像的处理结果可能并不一定适用,比如某种方法可能非常适用于处理X射线图像,但同样的方法不一定适用于火星探测图像。
在图像处理领域,图像增强问题主要通过时域(沿用信号处理的说法,空域可能对图像更适合)和频域处理两种方法来解决。时域方法通过直接在图像点上作用算子或掩码来解决,频域方法通过修改傅立叶变换系数来解决。这两种方法的优劣很明显,时域方法方便快速但会丢失很多点之间的相关信息,频域方法可以很详细地分离出点之间的相关,但需要做两次傅立叶变换和逆变换的操作,计算量非常大。
小波分析是以上两种方法的权衡结果,建立在如下的认识基础上,傅立叶分析的所有点的分辨率都是原始图像的尺度,但对于问题本身的要求,我们可能不需要这么大的分辨率,而单纯的时域分析又显得太粗糙;小波分析的多尺度分析特性为用户提供了更灵活的处理方法,可以选择任意的分解层数,用进可能少的计算量得到我们满意的结果。
小波变换将一幅图像分解为大小、位置和方向都不同的分量。在做逆变换之前可以改变小波变换域中某些系数的大小,这样就能够有选择地放大所感兴趣的分量而减小不需要的分量。下面给出一个图像增强的实例。
15.3.2 基于小波分析的图像钝化实现
图像钝化在时域中的处理相对简单,只需要对图像作用一个平滑滤波器,使得图像中的每个点与其相邻点做平滑即可,这里不做详细介绍。我们来介绍一下基于小波变换的频域处理方法。
下面通过两种方法对图像钝化的结果做一下比较。
【例15.7】图像钝化。MATLAB代码设置如下:
load woman
%分别保存用DCT方法和小波方法的变换系数
blur1=X;
blur2=X;
 

  • 14
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

___Y1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值