数字图像平滑处理
- 格式:doc
- 大小:316.50 KB
- 文档页数:7
目录实验一:数字图像的基本处理操作 (4):实验目的 (4):实验任务和要求 (4):实验步骤和结果 (5):结果分析 (8)实验二:图像的灰度变换和直方图变换 (9):实验目的 (9):实验任务和要求 (9):实验步骤和结果 (9):结果分析 (13)实验三:图像的平滑处理 (14):实验目的 (14):实验任务和要求 (14):实验步骤和结果 (14):结果分析 (18)实验四:图像的锐化处理 (19):实验目的 (19):实验任务和要求 (19):实验步骤和结果 (19):结果分析 (21)实验一:数字图像的基本处理操作:实验目的1、熟悉并掌握MATLAB、PHOTOSHOP等工具的使用;2、实现图像的读取、显示、代数运算和简单变换。
3、熟悉及掌握图像的傅里叶变换原理及性质,实现图像的傅里叶变换。
:实验任务和要求1.读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。
2.对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。
3.对一幅图像进行平移,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的对应关系。
4.对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的对应关系。
:实验步骤和结果1.对实验任务1的实现代码如下:a=imread('d:\');i=rgb2gray(a);I=im2bw(a,;subplot(1,3,1);imshow(a);title('原图像');subplot(1,3,2);imshow(i);title('灰度图像');subplot(1,3,3);imshow(I);title('二值图像');subplot(1,3,1);imshow(a);title('原图像');结果如图所示:图原图及其灰度图像,二值图像2.对实验任务2的实现代码如下:a=imread('d:\');A=imresize(a,[800 800]);b=imread('d:\');B=imresize(b,[800 800]);Z1=imadd(A,B);Z2=imsubtract(A,B);Z3=immultiply(A,B);Z4=imdivide(A,B);subplot(3,2,1);imshow(A);title('原图像 A'); subplot(3,2,2);imshow(B);title('原图像 B'); subplot(3,2,3);imshow(Z1);title('加法图像'); subplot(3,2,4);imshow(Z2);title('减法图像'); subplot(3,2,5);imshow(Z3);title('乘法图像'); subplot(3,2,6);imshow(Z2);title('除法图像');结果如图所示:3.对实验任务3的实现代码如下:s=imread('d:\');i=rgb2gray(s);i=double(i);j=fft2(i);k=fftshift(j); %直流分量移到频谱中心I=log(abs(k)); %对数变换m=fftshift(j); %直流分量移到频谱中心RR=real(m); %取傅里叶变换的实部II=imag(m); %取傅里叶变换的虚部A=sqrt(RR.^2+II.^2);A=(A-min(min(A)))/(max(max(A)))*255;b=circshift(s,[800 450]);b=rgb2gray(b);b=double(b);c=fft2(b);e=fftshift(c);I=log(abs(e));f=fftshift(c);WW=real(f);ZZ=imag(f);B=sqrt(WW.^2+ZZ.^2);B=(B-min(min(B)))/(max(max(B)))*255;subplot(2,2,1);imshow(s);title('原图像');subplot(2,2,2);imshow(uint8(b));title('平移图像');subplot(2,2,3);imshow(A);title('离散傅里叶变换频谱');subplot(2,2,4);imshow(B);title('平移图像离散傅里叶变换频谱');结果如图所示:4.对实验任务4的实现代码如下:s=imread('d:\');i=rgb2gray(s);i=double(i);j=fft2(i);k=fftshift(j);I=log(abs(k));m=fftshift(j);RR=real(m);II=imag(m);A=sqrt(RR.^2+II.^2);A=(A-min(min(A)))/(max(max(A)))*255;b=imrotate(s,-90);b=rgb2gray(b);b=double(b);c=fft2(b);e=fftshift(c);I=log(abs(e));f=fftshift(c);WW=real(f);ZZ=imag(f);B=sqrt(WW.^2+ZZ.^2);B=(B-min(min(B)))/(max(max(B)))*255;subplot(2,2,1);imshow(s);title('原图像');subplot(2,2,2);imshow(uint8(b));title('平移图像');subplot(2,2,3);imshow(A);title('离散傅里叶频谱');subplot(2,2,4);imshow(B);title('平移图像离散傅里叶频谱');结果如图所示::结果分析对MATLAB软件的操作开始时不太熟悉,许多语法和函数都不会使用,写出程序后,调试运行,最开始无法显示图像,检查原因,是有些标点符号没有在英文状态下输入和一些其他的细节,学会了imread(),imshow(),rgb2gray()等函数。
图像平滑和锐化变换处理一、实验容和要求1、灰度变换:灰度拉伸、直方图均衡、伽马校正、log变换等。
2、空域平滑:box、gauss模板卷积。
3、频域平滑:低通滤波器平滑。
4、空域锐化:锐化模板锐化。
5、频域锐化:高通滤波器锐化。
二、实验软硬件环境PC机一台、MATLAB软件三实验编程及调试1、灰度变换:灰度拉伸、直方图均衡、伽马校正、log变换等。
①灰度拉伸程序如下:I=imread('kids.tif');J=imadjust(I,[0.2,0.4],[]);subplot(2,2,1),imshow(I);subplot(2,2,2),imshow(J);subplot(2,2,3),imhist(I);subplot(2,2,4),imhist(J);②直方图均衡程序如下:I=imread('kids.tif');J=histeq(I);Imshow(I);Title('原图像');Subplot(2,2,2);Imshow(J);Title('直方图均衡化后的图像') ;Subplot(2,2,3) ;Imhist(I,64);Title('原图像直方图') ;Subplot(2,2,4);Imhist(J,64) ; Title('均衡变换后的直方图') ;③伽马校正程序如下:A=imread('kids.tif');x=0:255;a=80,b=1.8,c=0.009;B=b.^(c.*(double(A)-a))-1;y=b.^(c.*(x-a))-1;subplot(3,2,1);imshow(A);subplot(3,2,2);imhist(A);imshow(B);subplot(3,2,4);imhist(B);subplot(3,2,6);plot(x,y);④log变换程序如下:Image=imread('kids.tif');subplot(1,2,1);imshow(Image);Image=log(1+double(Image)); subplot(1,2,2);imshow(Image,[]);2、空域平滑:box、gauss模板卷积。
数字图像处理实验报告光信13-2班2013210191韩照夏数字图像处理实验报告实验一数字图像空间域平滑一、实验目的掌握图像空间域平滑的原理和程序设计;观察对图像进行平滑增强的效果。
二、实验设备计算机,Matlab程序平台。
三、实验原理图像平滑处理的目的是改善图像质量和抽出对象特征。
任何一幅未经处理的原始图像,都存在着一定程度的噪声干扰。
噪声恶化了图像质量,使图像模糊,甚至淹没特征,给分析带来困难。
消除图像噪声的工作称为图像平滑或滤波。
针对不同噪声源(如光栅扫描、底片颗粒、机械元件、信道传输等)引起的不同种类噪声(如加性噪声、乘性噪声、量化噪声等),平滑方法也不同。
平滑可以在空间域进行,也可以在频率域进行。
1.局部平均法局部平滑法是一种直接在空间域上进行平滑处理的技术。
假设图像由许多灰度恒定的小块组成,相邻象素间存在很高的空间相关性,而噪声则是统计独立的。
因此,可用邻域内各象素的灰度平均值代替该象素原来的灰度值,实现图像的平滑。
对图像采用3×3的邻域平均法,其作用相当于用以下模板与图像进行卷积运算。
2. 超限象素平滑法 对邻域平均法稍加改进,可导出超限象素平滑法。
其原理是将f(x,y)和邻域平均g(x,y)差的绝对值与选定的阈值进行比较,根据比较结果决定点(x,y )的最后灰度g ´(x,y)。
其表达式为3. 二维中值滤波中值滤波就是用一个奇数点的移动窗口, 将窗口中心点的值用窗口内各点的中值代替。
二维中值滤波可由下式表示常用的窗口有:四、实验步骤1.实验准备:打开计算机,进入Matlab 程序界面。
2.输入图像空间域平滑处理程序,程序如下:⎩⎨⎧>-= ),(),(),( ),,(),('其他,当y x f T y x g y x f y x g y x g )},({),(y x f Med y x g A=程序1.1 图像平滑处理clear;clc;I=imread('lena.jpg');subplot(3,2,1);imshow(I);title('原图像');I1=imnoise(I,'salt & pepper',0.02);subplot(3,2,2);imshow(I1);title('对I加椒盐噪声的图像');h2=fspecial('average',[3 3]);I2=imfilter(I1,h2,'replicate');subplot(3,2,3);imshow(I2);title('3×3邻域平滑');h3=fspecial('average',[5 5]);I3=imfilter(I1,h3,'replicate');subplot(3,2,4);imshow(I3);title('5×5邻域平滑');I4=I1;I4((abs(I1-I2))>64)=I2((abs(I1-I2))>64);subplot(3,2,5);imshow(I4);title('3×3超限象素平滑(T=64)'); I5=I1;I5((abs(I1-I3))>48)=I3((abs(I1-I3))>48);subplot(3,2,6);imshow(I5);title('5×5超限象素平滑(T=48)');程序1.2 图像平均平滑与中值滤波clear;clc;I=imread('lena.jpg');subplot(3,3,1);imshow(I);title('原图像');I1=imnoise(I,'gaussian',0.02);subplot(3,3,2);imshow(I1);title('高斯噪声');I2=imnoise(I,'salt & pepper',0.02);subplot(3,3,3);imshow(I1);title('椒盐噪声');h1=fspecial('average',[3 3]);I3=imfilter(I1,h1,'replicate');subplot(3,3,4);imshow(I3);title('对I1 3×3邻域平滑');h2=fspecial('average',[3 3]);I4=imfilter(I2,h2,'replicate');subplot(3,3,5);imshow(I4);title('对I2 3×3邻域平滑');I5=medfilt2(I1,[5 5]);subplot(3,3,6);imshow(I5);title('对I1 5×5中值滤波');I6=medfilt2(I2,[5 5]);subplot(3,3,7);imshow(I6);title('对I2 5×5中值滤波');3.运行图像处理程序,并保存处理结果图像。
数字信号平滑处理摘要:一、数字信号平滑处理简介1.数字信号平滑处理的意义2.数字信号平滑处理的方法二、常见的数字信号平滑处理算法1.移动平均法2.加权移动平均法3.指数加权移动平均法4.中值滤波法5.高斯滤波法三、数字信号平滑处理的应用领域1.信号处理2.图像处理3.音频处理四、数字信号平滑处理的未来发展趋势1.算法优化2.应用拓展正文:数字信号平滑处理是一种在数字信号处理中广泛应用的技术,通过对数字信号进行平滑处理,可以有效地降低噪声干扰,提高信号质量,为后续的信号分析、处理和应用提供可靠的数字信号基础。
本文将对数字信号平滑处理的方法、常见的平滑处理算法以及应用领域进行详细介绍,并展望未来的发展趋势。
数字信号平滑处理的方法主要包括移动平均法、加权移动平均法、指数加权移动平均法、中值滤波法和高斯滤波法等。
其中,移动平均法是一种简单直观的平滑处理方法,通过计算一段时间内信号的平均值来实现平滑处理。
加权移动平均法则给不同的数据点赋予不同的权重,使得近期数据点对平均值的影响更大。
指数加权移动平均法是加权移动平均法的改进,通过指数函数来调整权重,能够更好地反映近期信号的变化趋势。
中值滤波法是一种非线性滤波方法,通过选取一段时间内信号的中间值来实现平滑处理,能够有效地去除脉冲噪声。
高斯滤波法是一种线性滤波方法,通过应用高斯核函数对信号进行卷积,实现平滑处理,广泛应用于图像处理领域。
数字信号平滑处理在信号处理、图像处理和音频处理等领域具有广泛的应用。
在信号处理领域,平滑处理可以降低噪声干扰,提高信号质量,为后续的信号分析、处理和应用提供可靠的数字信号基础。
在图像处理领域,平滑处理可以去除图像噪声,提高图像的清晰度,为图像识别、图像压缩和图像增强等后续处理提供高质量的图像数据。
在音频处理领域,平滑处理可以降低音频噪声,提高音频质量,为音频识别、音频合成和音频增强等后续处理提供高质量的音频数据。
未来,数字信号平滑处理领域还有很大的发展空间。
数字图像处理试题及答案一、选择题1. 数字图像处理是指对图像进行数字化表示,并在计算机中进行处理和分析。
下面哪个选项是数字图像处理的主要目标?A. 提高图像的分辨率B. 压缩图像的存储空间C. 增强图像的质量D. 以上都是答案:D. 以上都是2. 在数字图像处理中,下面哪种滤波器用于平滑图像并降低图像中噪声的影响?A. 锐化滤波器B. 高通滤波器C. 低通滤波器D. 带通滤波器答案:C. 低通滤波器3. 在数字图像处理中,下面哪个选项描述了图像的亮度?A. 图像的红色通道值B. 图像的绿色通道值C. 图像的蓝色通道值D. 图像的灰度值答案:D. 图像的灰度值4. 数字图像处理中的阈值处理常用于图像分割,下面哪个选项描述了图像分割的目标?A. 将图像分成相似的区域B. 将图像转化为黑白二值图像C. 将图像进行几何变换D. 将图像进行色彩的增强答案:B. 将图像转化为黑白二值图像5. 数字图像处理中的直方图均衡化是一种用于增强图像对比度的方法。
下面哪个选项描述了直方图均衡化的基本原理?A. 将像素值映射到一个更大的范围B. 将像素值映射到一个更小的范围C. 根据像素值的概率分布进行映射D. 根据像素值的灰度级别进行映射答案:C. 根据像素值的概率分布进行映射二、简答题1. 请简要描述数字图像处理中的图像平滑技术,并举例说明。
答:图像平滑技术是一种降低图像中噪声和细节的方法。
常用的图像平滑技术包括均值滤波、中值滤波和高斯滤波等。
以均值滤波为例,该方法通过取邻域像素的平均值来平滑图像。
具体而言,对于每个像素点,将其周围的像素灰度值取平均后作为新的像素值。
这样可以减小图像中的噪声,并使图像变得更加平滑。
例如,对于一张包含椒盐噪声的图像,使用均值滤波可以去除部分噪声,提高图像的观看效果。
2. 请简要说明数字图像处理中的图像增强技术,并举例说明。
答:图像增强技术是一种通过调整图像的亮度、对比度和色彩等参数来改善图像质量的方法。
XXXXXXXX 大学(数字图形处理)实验报告 实验名称 图像的平滑与锐化 实验时间 年 月 日专 业 姓 名 学 号 预 习 操 作 座 位 号 教师签名 总 评一、实验目的:1.了解图像平滑的邻域平均和中值滤波以及锐化的梯度法和Sobel 法的基本思想;2.掌握图像平滑的邻域平均和中值滤波以及锐化的梯度法和Sobel 法的基本步骤;二、实验原理:1. 邻域平均法的思想是用像素及其指定邻域内像素的平均值或加权平均值作为该像素的新值,以便去除突变的像素点,从而滤除一定的噪声。
邻域平均法的数学含义可用下式表示:∑∑==⎪⎭⎫ ⎝⎛=mn i imn i i i w z w y x g 11),( (1) 上式中:i z 是以),(y x 为中心的邻域像素值;i w 是对每个邻域像素的加权系数或模板系数; m n 是加权系数的个数或称为模板大小。
邻域平均法中常用的模板是:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡*=11111111191Box T (2) 为了解决邻域平均法造成的图像模糊问题,采用阈值法(又叫做超限邻域平均法,如果某个像素的灰度值大于其邻域像素的平均值,且达到一定水平,则判断该像素为噪声,继而用邻域像素的均值取代这一像素值;否则,认为该像素不是噪声点,不予取代),给定阈值0T :⎩⎨⎧≥-<-=00),(),(),(),(),(),(),(T y x g y x f y x g T y x g y x f y x f y x h (3) (3)式中,),(y x f 是原始含噪声图像,),(y x g 是由(1)式计算的平均值,),(y x h 滤波后的像素值。
2.中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。
方法是去某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。
《数字图像处理及MATLAB实现》图像增强与平滑实验一.实验目的及要求1、熟悉并掌握MA TLAB 图像处理工具箱的使用;2、理解并掌握常用的图像的增强技术。
二、实验设备MATLAB 6.5 以上版本、WIN XP 或WIN2000 计算机三、实验内容(一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。
熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。
(可将每段程序保存为一个.m文件)1.直方图均衡化clear all; close all % Clear the MATLAB workspace of any variables% and close open figure windows.I = imread('pout.tif'); % Reads the sample images ‘pout.tif’, and stores it inimshow(I) % an array named I.display the imagetext(60,20,'李荣桉1909290239','horiz','center','color','r')figure, imhist(I) % Create a histogram of the image and display it in% a new figure window.[I2,T] = histeq(I); % Histogram equalization.figure, imshow(I2) % Display the new equalized image, I2, in a new figure window.text(60,20,'李荣桉1909290239','horiz','center','color','r')figure, imhist(I2) % Create a histogram of the equalized image I2.figure,plot((0:255)/255,T); % plot the transformation curve.imwrite (I2, 'pout2.png'); % Write the newly adjusted image I2 to a disk file named% ‘pout2.png’.imfinfo('pout2.png') % Check the contents of the newly written file2.直接灰度变换clear all; close allI = imread('cameraman.tif'); 注意:imadjust()功能:调整图像灰度值或颜色映像表,也可实现伽马校正。
数字图像的平滑黄 涛(肇庆学院计算机科学系,广东肇庆526061)摘要:一幅原始图像,在获取和传输过程中,会受到各种噪声的干扰,使图像退化,质量下降.退化会引起图像模糊,特征淹没,对分析图像不利.为了抑制噪声改善图像质量进行的处理称为图像平滑或去噪.数字图像平滑处理可以在空间域或频率域中进行.分析图像平滑处理方法,对相关方法的适用场合进行探讨,并且给出实现程序.关键词:数字图像;平滑处理;空间域平滑处理;频率域平滑处理中图分类号:TP301.6 文献标识码:A 文章编号:1007-5348(2004)06-0025-05对于数字图像处理来说,处理结果主要用于演示.基本的图像处理操作,已有成熟的方法流程.处理效果的优劣,主要取决体现方法的程序上.以前为了运行图像处理程序,是通过专用的计算机或在计算机中配以昂贵的图像处理卡实现的.程序一般与专用硬件配合或直接固化在硬件中,这种方法灵活性差,适用范围窄,价格高.随着计算机工业的进步,现在可以在微机上用通用语言开发出图像处理软件包了,它可以随时按实际需要调整,适用领域广,价格低,开发周期短.这种方法是数字图像处理的一大创新,也是研究数字图像处理的方向,笔者在进行数字图像处理实践中也沿用这一方法.一幅图像在获取和传输等过程中,会受到各种各样的噪声干扰.图像噪声来自多方面,有系统外部的干扰,如电磁波或经电源串进系统内部而引起的外部噪声,也有来自系统内部的干扰,如摄像机的热噪声,电器的机械运动而产生的抖动噪声等.这些噪声干扰使图像退化,质量下降.表现为图像模糊,特征淹没,对图像分析不利.图像的平滑是一种实用的数字图像处理技术,主要目的是为了减少噪声.一个较好的平滑处理方法应该既能消除图像噪声,又不使图像边缘轮廓和线条变模糊,这就是研究数字图像平滑处理要追求的目标.一般情况下,减少噪声的方法可以在空间域或频率域进行处理.空间域可以用邻域平均、空间低通滤波、多图像平均、中值滤波等方法来减少噪声.在频率域,由于噪声频谱通常在高频部分,因此可以采用各种形式的低通滤波器的方法减少噪声[1].本文将对上述方法作一些探讨.1空间域平滑处理1.1邻域平均法邻域平均法是简单的空间域处理方法.这种方法的基本思想是用几个像素灰度平均值来代替每个像素的灰度.假定有一幅N N 个像素的图像f (x ,y ),平滑处理后得到另一幅图像g (x ,y ).g (x ,y )由公式决定:g (x ,y )=1M (m,n) sf (m,n).式中x ,y =0,1, ,N -1;s 为(x ,y )邻域中像素坐标集合,亦称为窗口,其中不包括(x ,y );M 表示集合s 内像素的总数.常用的邻域为4-邻域或8-邻域[1].设图像噪声是随机不相关的加性噪声,窗口内各点噪声是独立分布的,经过上述平滑处理后,信号与噪声的方差比可望提高M 倍.为了将数字图像处理的各种算法结果表现出来,笔者用Visual C ++6.0编写了一个数字图像处理程序[2,4,5].为了将重点放在算法上,程序处理的图片是灰度图(也称为黑白图片).如图1所示,是对一幅有噪声图像进行邻域平滑处理后和原图的对比.收稿日期:2004-03-30作者简介:黄涛(1972-),男,广东韶关人,肇庆学院计算机科学系助教,主要从事自动控制和数字图像方面的研究.2004年6月韶关学院学报(自然科学版) Jun.2004第25卷 第6期Journal of Shaoguan University (Natural Science) Vol.25 No.6图1 原图、加噪声的图片和领域平滑后的图像对比这种处理方法运算简单,计算速度快,它的缺点是降低噪声的同时使图像出现模糊,特别是在边缘和细节处.而且邻域越大,在去噪声能力增强的同时模糊程度会变得更严重.为了克服这一缺点,可以用阈值法减少由于邻域平均所产生的模糊效应.基本方法由下式决定:g(x ,y )=1M (m,n ) s f (m,n)f (x ,y )-1M (m,n) s f (m ,n)>T f (x ,y ) f (x ,y )-1M (m,n) sf (m,n) T ,式中T 就是规定非负的阈值.这个公式物理概念是:当一些点和它邻域内点的灰度的平均值之差不超过规定的阈值T 时,就仍然保留其原灰度值不变,如果大于阈值T 就用它们的平均值来代替该点的灰度值.这样就可以大大减少模糊的程度.为了克服简单局部平均的弊病,目前已提出许多保留边缘细节的局部平均算法,它们的讨论重点都放在如何选择邻域的大小、形状和方向,如何选择参加平均的点数以及邻域各点的权重系数等.它们有:灰度最相近K 个邻点平均法、梯度倒数加权平滑、最大均匀性平滑、小斜面模型平滑等等.1.2空间域低通滤波法从信号的角度看,信号缓慢变化主要分布在频率域的低频部分,而信号迅速变化的部分主要集中在高频部分.对图像来说,它的边缘以及噪声干扰的频率分量都处于频率较高的部分,因此可以用低通滤波方法去除噪声.而频率域滤波可以用空间域的卷积来实现,为此只要恰当地设计空间域系统冲激响应矩阵就可以达到滤波的效果[1,6].可用公式表示:g (x ,y )= L m=0 L N =0f (x +m -L 2,y +n -L 2)h(m,n).式中:g 为N N 滤波结果图像阵列,f 为N N 图像阵列,h 为L L 低通滤波阵列.下面是几种用于低通滤波系统单位冲激响应阵列:h =19111111111 h =14010111010 h =116121242121.空间域滤波是在图像空间借助模板对图像进行邻域操作,输出图像每一个像素的取值都是根据模板对输入像素在相应邻域内的像素值进行计算得到的.空间域滤波器有很多种,它们的共同特点都是让图像在傅立叶空间某个范围分量受到抑制,同时保持其他分量不变,从而改变输出图像的频率分布,达到平滑图像的目的.1.3多幅图像平均法多幅图像平均法是利用对同一景物的多幅图像相加取平均来消除噪声产生的高频成分.设原图像为f (x ,y ),图像噪声为加性噪声n(x ,y ),则有噪声图像g(x ,y )可表示为:g(x ,y )=f (x ,y )+n(x ,y ). 26 韶关学院学报(自然科学版)2004年若图像噪声为互不相关的加性噪声,且均值为0,则f (x ,y )=E [g (x ,y )],其中E [g (x ,y )]是g(x ,y )的期望值,对M 幅有噪声图像平均后有f ~(x ,y )=E[g(x ,y )] g -(x ,y )=1M Mi=1g i (x ,y ).其误差为: 2g -=E f ~(x ,y )-f (x ,y)2=E 1M M i=1f i (x ,y )-f (x ,y )2=E 1M M i=1n i (x ,y )2=1M 2n(x ,y ),式中 2g (x ,y )和 2n (x ,y )是g -和n 在点(x ,y )处的方差.可见对M 幅图像取平均可把方差减少到1/M.当M 增大时,g -(x ,y )将更加接近f (x ,y ).多幅图像取平均处理常用于摄像机的视频图像中,用以减少电视摄像机光电摄像管或CCD 器件所引起的噪声.这时对同一景物连续摄取多幅图像并将其数字化,再对多幅图像求平均,一般选用8幅图像取平均,这种方法在实际应用中的难点在于如何把多幅图像配准,以便使相应的像素能正确地对应排列[3,7].1.4中值滤波法中值滤波也是一种典型的空间域低通滤波器,它的目的是保护图像边缘的同时去除噪声.所谓中值滤波,就是指把以某点(x ,y )为中心的小窗口内的所有像素的灰度按从大到小的顺序排列,将中间值作为(x ,y )处的灰度值(若窗口中有偶数个像素,则取两个中间值的平均).中值滤波是如何去除噪声的呢?举个例子就很容易明白了.图2中左边是原图,数字代表该处的灰度.可以看出中间的6和周围的灰度相差很大,是一个噪声点.经过3*1窗口(即水平3个像素取中间值)的中值滤波,得到右边那幅图,可以看出,噪声点被去除了.有了上面的理论基础,就可以用Visual C++编程实现对图像中值滤波处理了.程序实现的效果如图3所示.原图 处理后的图000000000000000011100001610000111000000000000000000001110011100111000000图2 原图与中值滤波后的灰度值中值滤波容易去除孤立点、线的噪声,同时保持图像的边缘,它能很好地去除二值噪声,但对高斯噪声无能为力.要注意的是,当窗口内噪声点的个数大于窗口宽度一半时,中值滤波的效果不好.图3 原图加噪声的图片和中值滤波处理后的图像对比第6期黄涛:数字图像的平滑 272频率域低通滤波法在分析图像信号的频率特性时,一幅图像中的边缘、跳跃部分以及颗粒噪声代表图像信号的高频分量,而大面积的背景区则代表图像信号的低频分量.用滤波的方法滤除其高频部分就能去除噪声,使图像得到平滑.由卷积定理:G (u,v)=H (u,v) F (u,v );其中F (u,v)是含有噪声图像的傅立叶变化,G(u,v)是经平滑处理后图像的傅立叶变化,H (u ,v )是低通滤波传递函数.图4就是频率域平滑处理的一般过程[3].频率域平滑处理就是选择合适的低通滤波器H (u,v )对F (u,v)的频谱成分进行调整,然后经逆傅立叶变换得到平滑图像g(x ,y ).DFT H (u,v ) (IDF T )f (x ,y ) F (u,v) F (u,v)H (u,v) g (x ,y )傅立叶变换 滤波 傅立叶反变换图4 频率域平滑处理过程常见的低通滤波器有:(1)理想低通滤波器理想低通滤波器的转移函数为:H (u ,v )=1 D(u,v) D 00 D(u,v)>D 0,其频域滤波特性如图5所示.其中D 0为截至频率,D(u,v )=(u 2+v 2)12是点(u ,v)到频率原点的距离.(2)巴特沃思低通滤波器巴特沃思(Butterworth)滤波器转移函数为:H (u ,v )=11+D (u,v)D 02n ,其频域滤波特性如图6所示.其中D 0为截至频率,阶数n 控制曲线的形状.(3)指数低通滤波器指数形滤波器的转移函数为:H (u,v)=exp -D(u,v)/D0n ,其频域滤波特性如图7所示.其中D 0为截至频率,n 为阶数.图5 频域滤波特性 图6 频域滤波特性 图7 频域滤波特性图8是笔者用Visual C++ 6.0编写了一个数字图像处理程序,表现的是原图在频域滤波处理后的结果.从中可发现,用频域低通滤波实现平滑,最大的缺点就是处理后的图像有模糊和振铃的效应.出现这种结果的主要原因是,在空间域中,处理方法是沿着噪声出现的逆过程建立数学模型的,对不是噪声参与计算的像素值影响很小,而对有噪声的像素值影响很大,具有很强的针对性.而在频率域处理中由于每个像素值是平等地参与滤波运算,不具有针对性,对有噪声与没有噪声的像素值同等对待,因此运算后显示的图像有模糊和振铃现象.3结论在进行数字图像处理研究的过程中,笔者最大的感受是:图像处理的本质就是应用数学.图像处理的过程如下:28 韶关学院学报(自然科学版)2004年第6期黄涛:数字图像的平滑 29图8 图像在频域滤波后的表现(1)将图像数字化,按顺序取出每个点的像素值;(2)代入事先建立的数学函数,求出期望值;(3)将处理后的像素值按顺序排好,重新显示出图像.在数字图像处理中最为关键的是如何建立数学模型,这是图像处理的核心步骤.随着数字图像处理的广泛应用,一些在人工智能、控制领域中成熟或前沿的数学模型如:神经网络、模糊数学、自适应控制等相关技术在数字图像处理中逐渐采用.其目的就是使建立的图像处理数学模型效率更高、性能更好.笔者将邻域平均、低通滤波、多图像平均、中值滤波等方法用Visual C++ 6.0程序实现后,反复实验.在实践中发现:在频率域中进行平滑处理,需要知道信号和噪声的统计模型.但对于大多数图像而言,人们不知道或不可能用简单的随机过程精确地描述统计模型,而且这些方法计算量也相当大.在时域中,平滑处理一般对噪声图像使用邻域算子,仅对它的局部小邻域的一些像素加以计算,其优点是计算效率高,而且可以多个像素并行处理,因此可以实时或准实时处理.由于图像受到干扰而产生噪声的原因是多方面的,在对一幅图像进行平滑处理前,必须仔细分析其产生噪声的原因.选择合适的平滑方法,才能既消除图像噪声,又不使图像边缘轮廓或线条变模糊,经过这样的处理后,图像更符合人的视觉特性.参考文献:[1]朱秀昌,刘峰,胡栋.数字图像处理与图像通信[M].北京:北京邮电大学出版社,2002.67-70.[2]殷福亮,宋爱军.数字信号处理C语言程序集[M].沈阳:辽宁科学技术出版社,1997.352-410.[3]贾永红.计算机图像处理与分析[M].武昌:武汉大学出版社,2001.51-75.[4]杨枝灵,王开.Visual C++数字图像获取处理及实践应用[M].北京:人民邮电出版社,2003.130-173.[5]何斌,马天予,王运坚,朱红莲.Visual C++数字图像处理[M].北京:人民邮电出版社,2002.262-334.[6]阮秋琦.数字图像处理学[M].北京:电子工业出版社,2001.The Smoothing of Digital ImageHUANG Tao(Department of Computer Science,Zhaoqing University,Zhaoqing526061,Guangdong,China) Abstract:Any picture would be effec ted by all kinds of noise during the course of acquisition and transition which would lead to the de gradation of a picture.The image and the character of a picture indistinct which is an disadvantage for image analyse.The way for lower do wn the noise to improve the quality of the pic ture calls the smoothing of image or noise re-straint.It can be accomplished in spatial domain and frequenc y domain.This chapter presents the ways of the smoothing of digital image.Try to find out which wa y is suitable in different situation.After that we present the forming process.Key words:digital image;smoothing processing;spatial domain smoothing processing;frequenc y domain smoothing pro-cessing(责任编辑:王桂珍)。
图像增强之平滑噪声引言有些图像是通过扫描仪扫描输入、或传输通道传输过来的。
图像中往往包含有各种各样的噪声。
这些噪声一般是随机产生的,因此具有分布和大小不规则性的特点。
这些噪声的存在直接影响着后续的处理过程,使图像失真。
图像平滑就是针对图像噪声的操作,其主要作用是为了消除噪声,图像平滑的常用方法是采用均值滤波或中值滤波,均值滤波是一种线性空间滤波,它用一个有奇数点的掩模在图像上滑动,将掩模中心对应像素点的灰度值用掩模内所有像素点灰度的平均值代替,如果规定了在取均值过程中掩模内各像素点所占的权重,即各像素点所乘系数,这时就称为加权均值滤波;中值滤波是一种非线性空间滤波,其与均值滤波的区别是掩模中心对应像素点的灰度值用掩模内所有像素点灰度值的中间值代替。
1.实验目的1)掌握图像空间域平滑滤波的基本定义及目的。
2)理解空间域平滑滤波的基本原理及方法。
3)掌握进行图像空间域平滑滤波的方法。
2.实验原理2.1 空间域平滑滤波基本原理空间域滤波是在图像空间中借助模板进行领域操作,处理图像每一个都是根据模板对输入像素相应领域内的像素值进行计算得到的。
空间域滤波器根据功能主要分为平滑滤波器和锐化滤波器。
平滑可用低通来实现,平滑的目的可分为两类:一类是模糊,目的是在提取较大的目标前去除太小的细节或将目标内的小肩端连接起来;另一类是消除噪声。
2.2 空间域平滑滤波器最常用的平滑滤波器有均值滤波器和中值滤波器。
均值滤波器是线性平滑滤波器,其所有系数都是正数对3×3模板来说,最简单的是取所有系数为1,为了保持图像仍然在原来图像的灰度值范围内,模块与像素领域的乘积都要除以9。
中值滤波器是一种常用的非线性平滑滤波器,其原理与均值滤波器原理类似,但计算的不是加权求和,而是把领域中的图像的像素按灰度级进行排序,然后选择组的中间值作为输出像素值。
线性滤波输出图像的值等于输入图像滤波后值的局部平均,各个项具有相同的权。
下面是平滑窗口分别为矩形和圆形的情况。
⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=1111111111111111111111111251],[k j h rect ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=011101111111111111110111211],[k j h circ 对一些图像进行线性滤波可以去除图像中某些类型的噪声,如采用邻域平均法的均值滤波器就非常适用于去除通过扫描得到的图像中的颗粒噪声。
邻域平均法是空间域平滑噪声技术。
用一像素邻域内各像素灰度平均值来代替该像素原来的灰度,即是邻域平均技术。
另外,频域处理的基础是频域滤波,例如,理想的低通滤波器:其中[]2122)2/()2/(),(N v M u v u D -+-=。
%线性平滑滤波I=imread('f:/sunyanz.jpg');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)title('3x3窗的邻域平均滤波图像')K2=filter2(fspecial('average',7),J)/255;%应用7*7邻域窗口法 subplot(224),imshow(K2)title('7x7窗的邻域平均滤波图像')如图:⎩⎨⎧≥≤=0),(0),(1),(D v u D D v u D v u H原图3*3滤波9*9滤波原图像添加椒盐噪声图像3x3窗的邻域平均滤波图像7x7窗的邻域平均滤波图像%利用低通邻域平均模板进行平滑 I=imread('f:/sunyanz.jpg'); I=rgb2gray(I); subplot(1,3,1); imshow(I); title('原图');J=fspecial('average'); J1=filter2(J,I)/255; subplot(1,3,2); imshow(J1);title('3*3滤波');K=fspecial('average',9); K1=filter2(K,I)/255; subplot(1,3,3); imshow(K1);title('9*9滤波');如图:分析:对以上两种平滑滤波,其优势:实现简单,去噪效果明显。
不足:去噪的同时会导致结果图像边缘位置的改变和细节模糊甚至丢失。
4.3.2 非线性滤波中值滤波是一种最常用的图像增强技术,是非线性滤波。
对椒盐噪声有很好的去噪效果。
下图是加高斯噪声后,中值滤波和平均滤波的滤波效果对比:%中值滤波和平均滤波I=imread('f:/sunyanz.jpg');I=rgb2gray(I);J=imnoise(I,'gaussian',0,0.01);subplot(2,2,1);imshow(I);title('原图');subplot(2,2,2);imshow(J);title('noise');K=fspecial('average',5);K1=filter2(K,J)/255;subplot(2,2,3);imshow(K1);title('平均滤波');L=medfilt2(J,[3 5]);subplot(2,2,4);imshow(L);title('中值滤波');原图添加椒盐噪声图像平均滤波中值滤波如图可见,对于高斯噪声,均值滤波效果比中值滤波效果好。
原因:(1)高斯噪声是幅值近似正态分布,但分布在每点像素上。
(2)因为图像中的每点都是污染点,所以中值滤波选不到合适的干净点。
(3)因为正态分布的均值为0,所以均值滤波可以消除噪声。
(实际上只能减弱,不能消除。
)但对于椒盐噪声,中值滤波效果比均值滤波效果好。
原因:(1)椒盐噪声是幅值近似相等但随机分布在不同位置上,图像中有干净点也有污染点。
(2)中值滤波是选择适当的点来替代污染点的值,所以处理效果好。
(3)因为噪声的均值不为0,所以均值滤波不能很好地去除噪声点。
中值滤波是基于一个移动窗口并计算输入图像在窗口内的像素亮度值的中值作为输出图像窗口中心的像素值而产生的。
给定的图像f(x,y)中的每一个点(m,n ),取其领域s 。
设s 含有M 个像素{a1,a2,⋯,aM},将其按大小排序,若M 是奇数时,则位于中间的那个象素值就是修改后图像g(x,y)在点(m,n )处的像素值;若M 是偶数则取中间两个象素的平均值作为修改后图像g(x,y)在点(m,n )处的象素值。
我们在这里先人为的加上一些噪声,然后在matlab 中实现中值滤波的效果图如下:%二维中值滤波 hood=3;[P,map]=imread('f:/suanyanz.jpg'); I=rgb2gray(P); imshow(I,map);noisy=imnoise(I,'salt & pepper',0.05); %加入强度为0.05的椒盐噪声subplot(221);原图添加椒盐噪声图像平均滤波中值滤波imshow(noisy,map);title('加入椒盐噪声');filtered1=medfilt2(noisy,[hood hood]);%3×3窗口二维中值滤波subplot(222);imshow(filtered1,map);title('3×3窗口');hood=5;filtered2=medfilt2(noisy,[hood hood]); %5×5窗口二维中值滤波subplot(223);imshow(filtered2,map);title('5×5窗口');hood=7;filtered3=medfilt2(noisy,[hood hood]); %7×7窗口二维中值滤波subplot(224);imshow(filtered3,map);title('7×7窗口');figure;imshow(I);title('原图');比较经过加入椒盐噪声的图像和经过中值滤波的图像,可以发现,图像的噪声点被去除(跟也领域有关,此处不想解);但是比较原始图像和经过滤波的图像后会发现,图像的边缘稍微的变得模糊,这是平滑算法不可避免的缺点。
分析:优势:去噪效果明显,并且能够较好的保持图像边缘位置和细节。
不足:非线性滤波算法的实现相对线性滤波比较困难。
总结:平滑技术用于平滑图像中的噪声。
平滑噪声可以在空间域中进行,基本方法是求像素灰度的平均或中值。
为了既平滑噪声又保护图像信号,也有一些改进的技术,比如在频域中运用低通滤波技术。
当然,图像增强处理还有许多方法,基于空域的算法分为点运算算法和邻域去噪算法。
点运算算法即灰度级校正、灰度变换和直方图修正等,目的或使图像成像均匀,或扩大图像动态范围,扩展对比度。
邻域增强算法分为图像平滑和锐化两种。
平滑一般用于消除图像噪声,但是也容易引起边缘的模糊。
常用算法有均值滤波、中值滤波。
锐化的目的在于突出物体的边缘轮廓,便于目标识别。
常用算法有梯度法、算子、高通滤波、掩模匹配法、统计差值法等。