图像平滑处理的空域算法和频域分析
- 格式:doc
- 大小:721.00 KB
- 文档页数:11
python简单图像处理(10)空间域图像平滑图象平滑的主要⽬的是减少图像噪声图像噪声来⾃多⽅⾯,常见的噪声有以下⼏种:加性噪声、乘性噪声、量化噪声、椒盐噪声减少噪声的⽅法可以在空间域或是在频率域在空间域,基本⽅法是求像素的平均值或中值在频率域,运⽤的是低通滤波技术在这⾥我们只讲空间域的图象平滑。
频率域以后有机会再讲空间域的各种滤波器虽然形状不同,但在空间域实现图像滤波的⽅法是相似的。
都是利⽤模板卷积,即将图像模板下的像素与模板系数的乘积求和操作。
我们先来看3×3的模板:我们先来看看领域平均法:常⽤的平滑掩模算⼦有我们写程序来实现:import cvdef Filter(image,array):w = image.widthh = image.heightsize = (w,h)iFilter = cv.CreateImage(size,8,1)for i in range(h):for j in range(w):if i in [0,h-1] or j in [0,w-1]:iFilter[i,j] = image[i,j]else:a= [0]*9for k in range(3):for l in range(3):a[k*3+l] = image[i-1+k,j-1+l]sum = 0for m in range(9):sum = sum+array[m]*a[m]iFilter[i,j] = int(sum)return iFilterH1 = [1.0/9]*9H2 = [1.0/10]*9H2[4] = 0.2H3 = [1.0/16,2.0/16,1.0/16,2.0/16,4.0/16,2.0/16,1.0/16,2.0/16,1.0/16]H4 = [1.0/8]*9H4[4] = 0image = cv.LoadImage('lena.jpg',0)iH1F = Filter(image,H1)iH2F = Filter(image,H2)iH3F = Filter(image,H3)iH4F = Filter(image,H4)cv.ShowImage('image',image)cv.ShowImage('iH1F',iH1F)cv.ShowImage('iH2F',iH2F)cv.ShowImage('iH3F',iH3F)cv.ShowImage('iH4F',iH4F)cv.WaitKey(0)效果如下:不同算⼦间差别很⼩,⾄少这幅图是这样的我们再来看看中值滤波器中值滤波器不存在算⼦的概念,只有窗⼝的概念选取以某⼀点为中⼼的窗⼝,对窗⼝中所有点灰度值取中值,将灰度值的中值付给这⼀点。
空域处理方法和频域处理方法是数字图像处理中常见的两种基本处理方法,它们在处理图像时有着不同的特点和适用范围。
下面将从原理、应用和效果等方面对两种处理方法进行简要介绍,并对它们的区别进行分析。
一、空域处理方法1. 原理:空域处理是直接对图像的像素进行操作,常见的空域处理包括图像增强、平滑、锐化、边缘检测等。
这些处理方法直接针对图像的原始像素进行操作,通过像素之间的关系来改变图像的外观和质量。
2. 应用:空域处理方法广泛应用于图像的预处理和后期处理中,能够有效改善图像的质量,增强图像的细节和对比度,以及减轻图像的噪声。
3. 效果:空域处理方法对图像的局部特征和细节有很好的保护和增强作用,能够有效地改善图像的视觉效果,提升图像的清晰度和质量。
二、频域处理方法1. 原理:频域处理是通过对图像的频率分量进行操作,常见的频域处理包括傅立叶变换、滤波、频域增强等。
这些处理方法将图像从空间域转换到频率域进行处理,再通过逆变换得到处理后的图像。
2. 应用:频域处理方法常用于图像的信号处理、模糊去除、图像压缩等方面,能够有效处理图像中的周期性信息和干扰信号。
3. 效果:频域处理方法能够在频率域对图像进行精细化处理,提高图像的清晰度和对比度,对于一些特定的图像处理任务有着独特的优势。
三、空域处理方法和频域处理方法的区别1. 原理不同:空域处理方法直接对图像像素进行操作,而频域处理方法是通过对图像进行频率分析和变换来实现图像的处理。
2. 应用范围不同:空域处理方法适用于对图像的局部特征和细节进行处理,而频域处理方法适用于信号处理和频率信息的分析。
3. 效果特点不同:空域处理方法能更好地保护和增强图像的细节和对比度,频域处理方法能更好地处理图像中的周期性信息和干扰信号。
空域处理方法和频域处理方法是数字图像处理中常用的两种处理方法,它们在原理、应用和效果等方面有着不同的特点和适用范围。
在实际应用中,可以根据图像的特点和处理需求选择合适的方法,以获得更好的处理效果。
数字图像处理作业题目:图像的平滑处理与锐化处理:一凡学号:104753130764专业:计算机应用技术1.1理论背景现实中的图像由于种种原因都是带噪声的,噪声恶化了图像质量,使图像模糊,甚至淹没和改变特征,给图像分析和识别带来了困难。
一般数字图像系统中的常见噪声主要有:高斯噪声、椒盐噪声等。
图像去噪算法根据不通的处理域,可以分为空间域和频域两种处理方法。
空间域处理是在图像本身存在的二维空间里对其进行处理。
而频域算法是用一组正交函数系来逼近原始信号函数,获得相应的系数,将对原始信号的分析转动了系数空间域。
在图像的识别中常需要突出边缘和轮廓信息,图像锐化就是增强图像的边缘和轮廓。
1.2介绍算法图像平滑算法:线性滤波(邻域平均法)对一些图像进行线性滤波可以去除图像中某些类型的噪声。
领域平均法就是一种非常适合去除通过扫描得到的图像中的噪声颗粒的线性滤波。
领域平均法是空间域平滑噪声技术。
对于给定的图像()j i f,中的每个像素点()nm,,取其领域S。
设S含有M个像素,取其平均值作为处理后所得图像像素点()nm,处的灰度。
用一像素领域各像素灰度平均值来代替该像素原来的灰度,即领域平均技术。
领域S 的形状和大小根据图像特点确定。
一般取的形状是正方形、矩形及十字形等,S 的形状和大小可以在全图处理过程中保持不变,也可以根据图像的局部统计特性而变化,点(m,n)一般位于S 的中心。
如S 为3×3领域,点(m,n)位于S 中心,则()()∑∑-=-=++=1111,91,i j j n i m f n m f 假设噪声n 是加性噪声,在空间各点互不相关,且期望为0,方差为2σ,图像g 是未受污染的图像,含有噪声图像f 经过加权平均后为()()()()∑∑∑+==j i n M j i g M j i f M n m f ,1,1,1, 由上式可知,经过平均后,噪声的均值不变,方差221σσM =,即方差变小,说明噪声强度减弱了,抑制了噪声。
第5章图像的平滑处理本章要点:☑平滑处理的基本方法☑噪声消除法☑邻域平均法☑中值滤波☑产生噪声5.1平滑处理的基本方法众所周知,实际获得的图像在形成、传输、接收和处理的过程中,不可避免地存在着外部干扰和内部干扰,如光电转换过程中敏感元件灵敏度的不均匀性、数字化过程的量化噪声、传输过程中的误差以及人为因素等,均会存在着一定程度的噪声干扰。
噪声恶化了图像质量,使图像模糊,特征淹没,给分析带来困难。
因此,去除噪声,恢复原始图像是图像处理中的一个重要内容。
消除图像噪声的工作称之为图像平滑或滤波。
平滑的目的有两个:改善图像质量和抽出对象特征。
由于噪声源众多(如光栅扫描,底片颗粒,机械元件,信道传输等),噪声种类复杂(如加性噪声,乘性噪声,量化噪声等),所以平滑方法也多种多样。
平滑可以在空间域进行,也可以在频率域进行。
本章主要介绍在空间域上图像平滑常用的方法,频率域平滑将在第九章中论述。
在空域法中,图像平滑常用的方法是采用均值滤波或中值滤波。
对于均值滤波采用一个有奇数点的滑动窗口在图像上滑动,窗口中心点所对应像素的灰度值用窗口内所有像素的平均值代替,在取均值过程中,如果窗口规定了各个像素点所占的权重,也就是各个像素点的系数,则称为加权均值滤波。
对于中值滤波,窗口中心点所对应像素的灰度值用窗口内内所有像素的中间值代替。
实现均值或中值滤波时,为了简便编程工作,可以定义一个N×N的模板数组。
另外,在用窗口扫描图像过程中,对于图像四个边缘的像素点,可以不处理;也可以用灰度值为”0”的像素点扩展图像的边缘。
在空间域平滑滤波有很多种算法,其中最常见的有:线性平滑、非线性平滑、自适应平滑。
1.线性平滑线性平滑就是对每一个像素点的灰度值用它的邻域值来代替,其邻域大小为:N×N,N一般取奇数。
如3×3均值滤波、N×N均值滤波器。
经过线性平滑滤波,相当于图像经过了一个二维的低通滤波器,虽然是降低了噪声,但同时也模糊了图像边缘和细节,这是这类滤波器存在的通病。
图像空间域平滑的几种简单算法摘要:图像平滑或去噪就是为了抑制噪声,以达到改善图像质量的目的,既可以在空间域又可以频率域中实现,在数字图像处理中起着重要的作用。
本文将主要介绍空间域的几种平滑法的算法:邻点平均法、K 个邻点平均法、最大均匀性平滑,其中操作平台是matlab 7.1。
关键字:数字图像处理,图像平滑,K 个邻点平均法,最大均匀性平滑一、 局部平滑法(邻域平均法) 1、算法介绍局部平滑法是一种直接在空间域上进行平滑处理的技术。
假设图像是由许多灰度恒定的小块组成,相邻像素间存在很高的空间相关性,而噪声则是统计独立的。
因此,可以用邻域内各像素的灰度平均值代替该像素原来的灰度值,以去除噪声,实现图像的平滑。
设有一幅 N ×N 的图像f(x,y),若平滑图像为g(x,y),则有可知邻域平均法就是将当前像素邻域内各像素的灰度平均值作为其输出值的一种简单的去噪方法。
)12.4-如图所示:在3*3的窗口中将中心像素所包括的邻域和中心像素的均值作为中心像素的灰度值在实际中由于第一行、最后一行、第一列、最后一列,不能满足有八个邻域的条件,因此将它们的数据保存不变,最后把这些数据和变化后的数据一起组成图像的灰度矩阵并显示出来。
2、软件流程图3、算法处理效果图与分析3.1算法效果图图(1)图(2)3.2算法效果图分析如图(1):对于picture(2,2)=106,其邻域有picture(1,1) ,picture(1,2),picture(1,3),picture(2,1),picture(2,3),picture(3,1),picture(3,2),picture(3,3)其邻域平均后的值zuihou(2,1)= (picture(1,1) +picture(1,2)+picture(1,3)+ picture(2,1)+picture(2,2)+picture(2,3)+picture(3,1)+picture(3,2)+picture(3,3))/9=968/9=107.5555 56=108而在图示中zuihou(2,1)=108和我们计算的结果吻合,说明算法正确4、算法程序picture =imread('pout.tif');n=291;m=240;I=im2double(picture) ; %由于matlab中读入的图像是uint8的,在求平均值时很容易溢出,因此将其转换成double型进行运算for h=1:mX(1,h)=I(1,h);X(291,h)=I(291,h);endfor j=1:n%由于第一行第一列以及最后一行最后一列的值不改变,因此将他们的值单独取出来X(j,1)=I(j,1);X(j,240)=I(j,240);endfor i=2:n-1for j=2:m-1X(i,j)=(I(i-1,j-1)+I(i-1,j)+I(i-1,j+1)+I(i,j-1)+I(i,j)+I(i,j+1)+I(i+1,j-1)+I(i+1,j)+I(i+1,j+1))/9;%将中心像素的邻域和中心像素相加求平均值endendzuihou=im2uint8(X);%将double型数据转换成uint8imshow(picture),title('原图');figure;imshow(zuihou),title('3*3窗口邻点平均后的图像');二、灰度最相近的K个邻点平均法1、算法介绍该算法的出发点是:在n×n的窗口内,属于同一集合体的像素,它们的灰度值的高度相关。
图像快速平滑处理方法0 引言近年来,随着图形处理器硬件技术的不断进展以及可编程能力的不断增强,越来越多的应用通过使用基于GPU的计算框架提高了算法和系统的效率。
GPU的应用领域不断扩大,已被广泛地应用到通用信号处理、物理模拟、财务数据分析以及生物科学等领域,并取得了显著的效果。
在分子动力学领域中,GeForce 8800GTX 实现了比CPU高达240倍的处理速度。
在脑电波模拟、视觉和嗅觉计算等方面,通过协同CPU和GPU工作,实现了130倍的性能提高。
借助GPU,GIS(地球信息系统)原本需要20分钟完成的计算过程,现在只需要30秒就能完成。
1 GPU并行计算架构GPU现在已已实现可编程的图像处理,由于它具有高内存带宽驱动的多内核,已成为图像处理的绝对主力。
1.1 GPU架构GPU支持单指令多数据(SIMD)指令的数据并行计算。
在SIMD结构中,单一的操纵组件分配到每个管线,相同的指令同时执行。
例如,NVDI8800GT包含每组8个,共14组的多处理器组,但每个处理器只有一个指令单元。
从线程的角度看,每个多处理器组可以同时并行运行768个活跃线程,即GPU包含14组多处理器组可以同时并行10752个活动线程。
在存储器方面,每个多处理器拥有16KB的可读写共享内存、8KB的只读常量缓存、8KB的只读纹理缓存和8192个32位寄存器。
1.2 GPU编程模型CUD(统一设备计算架构)是一个GPU编程平台,见图2。
它包括一个硬件驱动程序和应用程序接口(PI)以及两个数学函数库,因此程序员不需要调用复杂的图形PI接口。
CUD中的PI还兼容标准C语言库,这样程序员就可以通过调用函数访问内存并执行指令。
为了简化开发,CUD同意程序员将CPU代码和GPU的代码混合到程序文件。
NVCC作为C语言编译器,负责隔离设备代码和宿主代码。
在CUD汇编时,GPU作为计算设备可以执行大量的并行线程,类似于CPU的协同处理器。
空域处理方法和频域处理方法是数字图像处理中常用的两种方法。
它们有着各自独特的特点和应用场景。
本文将从原理、应用和区别三个方面对这两种处理方法进行详细比较。
一、原理1. 空域处理方法空域处理方法是指直接对图像的像素进行操作。
它是一种基于图像的原始信息进行处理的方法。
常见的空域处理操作包括亮度调整、对比度增强、图像锐化等。
这些操作都是基于每个像素点周围的邻域像素进行计算和处理的。
2. 频域处理方法频域处理方法是将图像从空间域转换到频率域进行处理。
其基本原理是利用傅里叶变换将图像信号从空间域转换到频率域,然后对频率域的图像进行滤波、增强等处理,最后再利用傅里叶反变换将图像信号转换回空间域。
二、应用1. 空域处理方法空域处理方法适用于对图像的局部信息进行处理,如调整图像的明暗、对比度和色调等。
它可以直接对原始图像进行处理,因此在实时性要求较高的场景下具有一定优势。
2. 频域处理方法频域处理方法适用于对图像的全局信息进行处理,如去除图像中的周期性噪声、增强图像的高频细节等。
由于频域处理方法能够通过滤波等手段对图像进行全局处理,因此在一些需要对图像进行频谱分析和滤波的场景下有着独特的优势。
三、区别1. 数据处理方式空域处理方法是直接对图像的像素进行操作,处理过程直接,但只能处理原始图像信息。
而频域处理方法是将图像信号转换到频率域进行处理,可以更全面地分析和处理图像的频率特性。
2. 处理效果空域处理方法主要用于对图像的局部信息进行处理,因此适合对图像的亮度、对比度等进行调整。
而频域处理方法主要针对图像的全局信息进行处理,能够更好地处理图像的频率特性,如滤波、增强等。
3. 处理速度空域处理方法直接对原始图像进行处理,处理速度较快;而频域处理方法需要将图像信号转换到频率域进行处理,处理速度相对较慢。
空域处理方法和频域处理方法分别适用于不同的处理场景。
空域处理方法主要用于对图像的局部信息进行处理,处理速度较快;而频域处理方法主要用于对图像的全局信息进行处理,能够更全面地分析和处理图像的频率特性。
空域处理方法和频域处理方法是数字图像处理中常用的两种处理方式,它们在处理图像时具有不同的特点和优势。
本文将对这两种处理方法进行比较和分析,探讨它们的区别和应用场景。
一、空域处理方法1. 空域处理方法是指直接对图像的像素进行处理,通过对图像的像素值进行加减乘除等操作,来实现对图像的处理和增强。
2. 空域处理方法的优势在于简单直观,操作方便。
常见的空域处理方法包括灰度变换、直方图均衡化、平滑滤波、锐化滤波等。
3. 空域处理方法的缺点是无法充分利用图像的局部特征和频域信息,对某些复杂的图像处理任务效果不佳。
二、频域处理方法1. 频域处理方法是指将图像转换到频域进行处理,通过对图像的频谱进行操作,来实现对图像的处理和增强。
2. 频域处理方法的优势在于能够充分利用图像的频域信息,对图像进行更加精细和复杂的处理。
常见的频域处理方法包括傅里叶变换、频谱滤波、离散余弦变换等。
3. 频域处理方法的缺点是操作复杂,需要进行频域变换和逆变换,计算量大,处理过程较为繁琐。
三、空域处理方法和频域处理方法的区别1. 原理差异:空域处理方法是直接对图像的像素进行处理,而频域处理方法是将图像转换到频域进行处理。
2. 应用范围差异:空域处理方法适用于简单的图像处理和增强任务,频域处理方法适用于对图像进行精细和复杂的处理。
3. 操作难易度差异:空域处理方法操作简单直观,频域处理方法操作复杂繁琐。
四、空域处理方法和频域处理方法的应用场景1. 空域处理方法适用于对图像进行一些简单的增强和处理,如亮度调整、对比度增强、边缘检测等。
2. 频域处理方法适用于对图像进行复杂的增强和处理,如去除噪声、图像复原、频谱滤波等。
在实际的图像处理任务中,根据具体的处理要求和效果需求,可以灵活选择空域处理方法和频域处理方法,以达到最佳的处理效果。
总结:空域处理方法和频域处理方法在数字图像处理中各有优势和特点,应用于不同的处理场景和任务中。
了解和掌握这两种处理方法的区别和优势,能够更好地进行图像处理和增强,提高处理效率和质量。
目录1 技术要求 (1)2 基本原理 (1)2.1 图像平滑 (1)2.2 图像噪声 (1)2.3 噪声处理 (1)3 建立模型描述 (1)4 源程序代码 (3)4.1 邻域平均法源程序 (3)4.2 低通滤波法源程序 (4)5 调试过程及结论 (5)6 心得体会 (8)7 参考文献 (8)图像平滑处理的空域算法和频域分析1 技术要求对已知图像添加高斯白噪声,并分别用低通滤波器和邻域平均法对图像进行平滑处理,并分析比较两种方法处理的效果。
2 基本原理2.1 图像平滑图像平滑的目的之一是消除噪声,其二是模糊图像。
在提取大目标之前去除小的细节或弥合目标间的缝隙。
从信号频谱角度看,信号缓慢变化的部分在频率域表现为低频,而迅速变化的部分变现为高频。
对图像而言,它的边缘,跳跃以及噪声等灰度变化剧烈的部分代表图像的高频分量,而大面积背景区和灰度变化区域代表图像低频分量。
因此,可以通过低通滤波即减弱或消除高频分量而不影响低频分量来是想图像平滑。
2.2 图像噪声噪声可以理解为“妨碍人们感觉器官对所接受的信信息理解的因素”。
也可以理解为不可预测的,只能用概率统计方法来认识的随机误差。
噪声可以借用随机过程及其概率密度函数来描述,通常用其数字特征,如均值,方差等。
2.3 噪声处理(1) 领域平均法领域平均法的思想是用像素及其指定领域内像素的平均值或加权平均值作为该像素的新值,以便去除突变的像素点,从而滤除一定的噪声。
(2) 低通滤波法低通滤波器允许低频成分通过,而抑制高频成分。
因此它能够去除图像的噪声,实现图像平滑作用。
当然这必然会引起图像模糊。
常用的是低通巴特沃斯滤波器。
3 建立模型描述1 领域平均法程序一开始利用函数imread()将源图片读入,然后利用函数rgb2gray ()将其转换成灰度图像再利用函数Imnoise()给图像添加高斯白噪声,再利用函数filter2()分别分别生成3*3,5*5,7*7,9*9模板,并利用这些模板对灰度图像进行平滑处理,最后将灰度图像及处理后的图像全部输出,其流程图如图1所示。
图像平滑和锐化变换处理一、实验容和要求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模板卷积。
空域和频域图像处理增强实验目的:1.熟悉Matlab处理图像的基本原理,并熟练地运用进行一些基本的图像操作;2.能够用Matlab来进行亮度变换,直方图处理以及一些简单的空间滤波;实验内容:去噪,灰度变换,直方图处理,空域和频域平滑锐化,同态滤波;结果分析:1.直方图处理:⑴显示原图直方图以及原图:代码:>> imread('hui.jpg');>> imshow(f);>> imhist(f);原图以及原图直方图为:⑵直方图均衡化:代码:>> f=imread('test2.jpg');>> n=imnoise(f);>> imwrite(n,'n.tif');>> [thr,sorh,keepapp] = ddencmp('den','wv',im2double(n));>> r=wdencmp('gbl',im2double(Noise),'sym2',2,thr,sorh,keepapp);>> r=wdencmp('gbl',im2double(n),'sym2',2,thr,sorh,keepapp);>> imwrite(r,'r.tif');>> imshow(f);现在的图片以及直方图为:结论:直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。
这种方法通常用来增加许多图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候。
通过这种方法,亮度可以更好地在直方图上分布。
这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。
图像平滑处理的空域算法和频域分析1 技术要求对已知图像添加高斯白噪声,并分别用低通滤波器(频域法)和邻域平均法(空域法)对图像进行平滑处理(去噪处理),并分析比较两种方法处理的效果。
2 基本原理2.1 图像噪声噪声在理论上可以定义为“不可预测,只能用概率统计方法来认识的随机误差”。
实际获得的图像一般都因受到某种干扰而含有噪声。
引起噪声的原因有敏感元器件的内部噪声、相片底片上感光材料的颗粒、传输通道的干扰及量化噪声等。
噪声产生的原因决定了噪声的分布特性及它和图像信号的关系。
根据噪声和信号的关系可以将其分为两种形式:(1)加性噪声。
有的噪声与图像信号g(x,y)无关,在这种情况下,含噪图像f(x,y)可表示为f(x,y)=g(x,y)+n(x,y)(2)乘性噪声。
有的噪声与图像信号有关。
这又可以分为两种情况:一种是某像素处的噪声只与该像素的图像信号有关,另一种是某像点处的噪声与该像点及其邻域的图像信号有关,如果噪声与信号成正比,则含噪图像f(x,y)可表示为f(x,y)=g(x,y)+n(x,y)g(x,y)另外,还可以根据噪声服从的分布对其进行分类,这时可以分为高斯噪声、泊松噪声和颗粒噪声等。
如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声,一般为加性噪声。
2.2 图像平滑处理技术平滑技术主要用于平滑图像中的噪声。
平滑噪声在空间域中进行,其基本方法是求像素灰度的平均值或中值。
为了既平滑噪声又保护图像信号,也有一些改进的技术,比如在频域中运用低通滤波技术。
(1)空域法在空域中对图像进行平滑处理主要是邻域平均法。
这种方法的基本思想是用几个像素灰度的平均值来代替每个像素的灰度。
假定有一幅N*N 个像素的图像f(x,y),平滑处理后得到一幅图像g(x,y)。
g(x,y)由下式决定式中,x,y=0,1,2,…,N-1;S 是(x,y)点邻域中点的坐标的集合,但其中不包括(x,y)点;M 是集合内坐标点的总数。
上式说明,平滑化的图像g(x,y)中每个像素的灰度值均由包含在(x,y)的预定邻域中的f(x,y)的几个像素的灰度值的平均值来决定。
(2)频域法低通滤波法是一种频域处理方法。
在分析图像信号的频率特性时,一幅图像的边缘、跳跃部分以及颗粒噪声代表图像信号的高频分量,而大面积的背景区则代表图像信号的低频分量。
用滤波的方法滤除其高频部分就能去掉噪声,使图像得到平滑。
由卷积定理可知其中F(u,v)是含有噪声的图像的傅立叶变换,G(u,v)是平滑处理后的图像的傅立叶变换,H(u,v)是传递函数。
选择传递函数H(u,v),利用H(u,v)使F(u,v)的高频分量得到衰减,得到G(u,v)后再经傅立叶反变换后就可以得到所希望的平滑图像g(x,y)了。
根据前面的分析,显然H(u,v)应该具有低通滤波特性,所以这种方法叫低通滤波法平滑化处理。
常用的低通滤波器有如下几种: a.理想低通滤波器一个理想的二维低通滤波器有一个参数 。
它是一个规定的非负的量,叫做理想低通滤波器的截止频率。
所谓理想低通滤波器是指以截频 为半径的圆内的所有频率都能无损地通过,而在截频之外的频率分量完全被衰减。
理想低通滤波器可以用计算机模拟实Mn m f y x g Sn m ∑∈=),(),(),(),(),(),(G v u F v u H v u ∙=0D 0现,但是却不能用电子元器件实现。
b.布特沃斯(Butterworth)低通滤波器一个n 阶布特沃斯低通滤波器的传递函数由下式表示式中, 为截止频率。
布特沃斯低通滤波器又称最大平坦低通滤波器。
它与理想低通滤波器不同,它的通带与阻带之间没有明显的不连续性。
也就是说,在通带和阻带之间有一个平滑的过度带,通常把H(u,v)下降到某一值的那一点定为截止频率 。
一般情况下常常采用下降到H(u,v)最大值的 那一点为截止频率点,该点也常称为半功率点,这样上式可修改成c.指数低通滤波器在图像处理中常用的另一种平滑滤波器是指数低通滤波器,由于指数低通滤波器有更快的衰减率,所以,经指数低通滤波器处理的图像比布特沃斯低通滤波器处理的图像稍模糊一些。
3 建立模型描述图像平滑处理用到两种方法,其中空域法使用邻域平均法处理,其流程图如图1所示⎥⎦⎤⎢⎣⎡+=D v u D nv u H 011),(),(2D 0D 021[]⎥⎦⎤⎢⎣⎡-+=D v u D nv u H 01211),(),(2图1 邻域平均法模型图频域法用二阶布特沃斯低通滤波器对图像滤除噪声,其程序流程图如图2所示:图2 低通滤波法模型图4 源程序代码(1)邻域平均法源程序clear;clc;close all;I=imread('tu.jpg'); %读取图像f=rgb2gray(I);%转化成灰度图subplot(2,3,1);% 分割2*3个窗口。
取第一个窗口,下面在第一个窗口处显示图像imshow (f);%显示灰度图colormap(gray);title('原始图')%给显示的图像命名为“原始图”J=imnoise(f,'gaussian',0,0.09);%给原始图加入参数为0.09的高斯白噪声subplot(2,3,2);% 分割2*3个窗口。
取第二个窗口,如果下面有绘图语句,就表示要%在第二个窗口中绘图imshow(J);%显示加了高斯白噪声的图像Jtitle('噪声图')%命名为“噪声图”[m n]=size(f); %获取灰度图的大小f=double(f);%转换f为双精度型c=1/9*[1 1 1;1 1 1;1 1 1]; %3*3模板for i=1:mfor j=1:nL=f(i:i,j:j).*c; %求点积G(i,j)=sum(sum(L));%求和endendsubplot(2,3,3);image(G);%取第三个窗口title('3*3模板')%命名为“3*3模板”c=1/25*[1 1 1 1 1;1 1 1 1 1;1 1 1 1 1]; %5*5模板for i=1:mfor j=1:nL=f(i:i,j:j).*c; %求点积G(i,j)=sum(sum(L));%求和endendsubplot(2,3,4);image(G);%在第四个窗口中显示图像title('5*5模板')% 命名为“5*5模板”c=1/49*[1 1 1 1 1 1 1;1 1 1 1 1 1 1;1 1 1 1 1 1 1]; %7*7模板for i=1:mfor j=1:nL=f(i:i,j:j).*c; %求点积G(i,j)=sum(sum(L));%求和endendsubplot(2,3,5);image(G);%在第五个窗口中显示图像title('7*7模板')% 命名为“7*7模板”(2)低通滤波法源程序clear;clc;close all;I=imread('tu.jpg'); %读取图像[m n p]=size(I);%获取图像矩阵大小I=double(I);将原来的图像矩阵转换为双精度型的I=I(1:m,1:n,1).*0.3+I(1:m,1:n,2).*0.51+I(1:m,1:n,1).*0.11;%将原图转换为灰度图subplot(2,3,1);image(I);colormap(gray); %分割2*3个窗口。
取第一个窗口,显示灰度图title('原始图')%命名为“原始图”Noise=wgn(m,n,25);%产生25dBm的高斯白噪声New = Noise + I;%将高斯白噪声与原始信号叠加subplot(2,3,2);image(New);%在第二个窗口中显示加了噪声的图像title('噪声图')%命名为“噪声图”g=fft2(New); % 傅立叶变换g=fftshift(g); % 转换数据矩阵[M,N]=size(g); %获取矩阵大小nn=2; % 定义二阶巴特沃斯(Butterworth)低通滤波器d0=20; %截止频率为20m=fix(M/2); n=fix(N/2);圆整函数for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);h=1/(1+0.414*(d/d0)^(2*nn)); % 计算低通滤波器传递函数result(i,j)=h*g(i,j);%传递函数与信号傅立叶变换函数相乘endendresult=ifftshift(result);J2=ifft2(result); %逆傅立叶变换J3=uint8(real(J2));%将输出图像转换为8位数据存储subplot(2,3,3);image(J3); %在第三个窗口中显示滤波后的图像title('截止频率20 ') %命名为“截止频率20”nn=2; % 定义二阶巴特沃斯(Butterworth)低通滤波器d0=100; %截止频率为100m=fix(M/2); n=fix(N/2);圆整函数for i=1:Mfor j=1:Nd=sqrt((i-m)^2+(j-n)^2);h=1/(1+0.414*(d/d0)^(2*nn)); % 计算低通滤波器传递函数result(i,j)=h*g(i,j); %传递函数与信号傅立叶变换函数相乘endendresult=ifftshift(result);J2=ifft2(result);%二维逆傅立叶变换J3=uint8(real(J2)); %转换为8位存储的图像subplot(2,3,4);image(J3); %在第四个窗口中显示绿波后的图像title('截止频率100 ')%命名为“截止频率100”5 调试过程及结论在MatLab中输入邻域平均法程序代码后运行程序,得到输出结果如图3所示:图3 邻域平均法输出图像由噪声图与滤波后的图像对比可看出,邻域平均法对抑制噪声有明显的效果,但随着邻域的加大,就是随着模板的加大,图像的模糊程度也愈加严重。
在MatLab中输入低通滤波法程序代码后运行程序,得到输出结果如图4所示:图4 低通滤波法输出图像巴特沃斯低通滤波器的去噪效果与所选的截止频率有关,由于一幅图像的边缘、跳跃部分以及颗粒噪声代表图像信号的高频分量,而大面积的背景区则代表图像信号的低频分量所以,截频设的太低会使图像变得越模糊,因为图像的许多细节信息也被滤掉了。
6 心得体会这次能力强化训练是《图像平滑处理的空预算法和频域分析》,需要有一定的对数字图像处理方面的知识,由于没有学习过《数字图像处理》这门课,已开始题目布置下来时感到无从下手,查阅了大量资料,对图像平滑处理有了一定的了解,对于MatLab刚开始接触,许多语法、函数都不会使用,于是和同学互相讨论,通过参考大量资源,站在巨人的肩膀上稍加整合创新,最终得出了自己的程序,程序调试运行后,发现最开始根本无法显示图像,检查原因,原来是对MatLab的符号规则不清楚,MatLab中的标点符号必须是在英文状态下输入,这在编写程序时必须小心!修改后得到了正确的显示,但是图像效果对比不明显,通过不断摸索试探,使用不同的图像显示函数,得到了对比鲜明的图像,对分析不同方法的优缺点提供了很大方便。