实验3 图像平滑实验

合集下载

图像平滑实验

图像平滑实验

图像平滑实验一、实验目的 1.熟练掌握空域滤波中常用平滑滤波器的原理2.理解邻域平均法、中值滤波法平滑降噪达到图像增强的原理3.利用MA TLAB 编程实现图像平滑处理二、实验原理平滑滤波是一种实用的图像处理技术,能减弱或消除图像中的高频分量,不影响低频分量。

因为高频率分量主要对应图像中的区域边缘等灰度值变化较快的部分,平滑滤波将这些分量滤去可减少局部灰度起伏,使图像变得比较平滑。

实际应用中,平滑滤波还可用于消除突发噪声,或者在提取较大目标前去除过小的细节或将目标内的小间断连接起来。

1. 邻域平均法用窗口像素的平均值取代中心像素原来的灰度值。

邻域的选取通常有4-邻域和8-邻域。

∑∈=A y x y x f L j i g ),(),(1),(2. 中值滤波 与加权平均方式的平滑滤波不同,中值滤波是抑制噪声的非线性处理方法。

对于给定的n 个数值{a 1,a 2,…,a n },将它们按大小有序排列。

当n 为奇数时,位于中间位置的那个数值称为这n 各数值的中值。

当n 为偶数时,位于中间位置的两个数值的平均值称为这n 个数值的中值。

中值滤波,就是图像中滤波后的某像素输出值等于该像素邻域中各像素灰度的中值。

三、实验内容与步骤1. 对lena.bmp 图像添加零均值“高斯”噪声,用3×3或9×9滑动平均模板进行降噪处理,观察平均降噪图像的效果。

1.1 对d:\mape_file\lena.bmp 图像添加零均值高斯噪声,观察噪声的影响参考代码如下:I=imread('d:\mape_file\lena.bmp');J=imnoise(I,'gaussian',0,0.02);subplot(1,2,1);imshow(I);title('原图');subplot(1,2,2);imshow(J);title('加噪处理后的图');尝试加入其它噪声,分析不同噪声的影响结果和特点。

实验三 图像的平滑与锐化

实验三 图像的平滑与锐化

实验三图像的平滑与锐化(实验类型:综合性;学时:4)一、实验目的1. 理解图像空域滤波的基本原理及方法,学会采用邻域平均滤波、中值滤波等方法对图像进行平滑增强,以消除或尽量减少噪声的影响,改善图像质量;2. 理解图象锐化的概念,掌握常用空域锐化增强技术,学会编写程序对图像进行锐化增强,感受不同的模板对图像锐化效果的影响。

二、实验环境Matlab 7.0三、实验原理1. 图像平滑MATLAB图像处理工具箱提供了基于卷积的图像滤波函数filter2。

filter2的语法格式为:Y = filter2(h, X)其中Y =filter2(h,X)返回图像X经算子h滤波后的结果,默认返回图像Y与输入图像X大小相同。

fspecial函数用于创建预定义的滤波算子,其语法格式为:h = fspecial(type)h = fspecial(type, parameters)参数type指定算子类型,parameters指定相应的参数,具体格式为:type='average',为均值滤波,参数parameters为n,代表模版尺寸,用向量表示,默认值为[3,3]。

type= 'gaussian',为高斯低通滤波器,参数parameters有两个,n表示模版尺寸,默认值为[3,3],sigma表示滤波器的标准差,单位为像素,默认值为0.5。

type= 'laplacian',为拉普拉斯算子,参数parameters为alpha,用于控制拉普拉斯算子的形状,取值范围为[0,1],默认值为0.2。

type= 'log',为拉普拉斯高斯算子,参数parameters有两个,n表示模版尺寸,默认值为[3,3],sigma为滤波器的标准差,单位为像素,默认值为0.5type= 'prewitt',为prewitt算子,用于边缘增强,无参数。

type= 'sobel',为的sobel算子,用于边缘提取,无参数。

数字图像处理实验三图像滤波实验(模板运算)

数字图像处理实验三图像滤波实验(模板运算)

实验三图像滤波实验(模板运算)一.实验目的:模板运算是空间域图象增强的方法,也叫模板卷积。

(1)平滑:平滑的目的是模糊和消除噪声。

平滑是用低通滤波器来完成,在空域中全是正值。

(2)锐化:锐化的目的是增强被模糊的细节。

锐化是用高通滤波器来完成,在空域中,接近原点处为正,在远离原点处为负。

二.实验内容:(1)利用线性空间滤波(均值滤波)对一幅图象进行平滑,验证模板尺寸和滤波参数对图象的模糊效果的影响。

(2)利用非线性空间滤波器(中值滤波)对一幅噪声图象(椒盐噪声)进行平滑去噪,同时检验两种滤波模板(分别使用一个5×5的线性邻域平均模板和一个非线性模板:3×3中值滤波器)对噪声的滤波效果。

(3)利用线性空间滤波器,对灰度图象分别利用二阶标准Laplacian算子和对角线Laplacian算子对其进行锐化操作,增强图像边缘,验证检测效果。

三.实验原理:1.用31×31均值滤波模板,并分别采用参数boundary_options默认值和‘replicate’对图像test_pattern进行平滑处理;用3×3,5×5,7×7均值滤波模板对图像lena平滑处理,观察不同参数、不同模板尺寸对滤波效果的影响。

1.线性空间滤波函数imfilter来实现线性空间滤波,语法为:g = imfilter(f, w, filtering_mode, boundary_options, size_options)其中,f是输入图像,w为滤波模板,g为滤波结果,filtering_mode用于指定在滤波过程中是使用相关运算(‘corr’)还是卷积运算(‘conv’),相关就是按模板在图像上逐步移动运算的过程,卷积则是先将模板旋转180度,再在图像上逐步移动的过程,显然,若模板中心对称,则相关和卷积运算是相同操作,默认为相关运算;boundary_options用于处理边界充零问题,默认为赋零,若该参数为’replicate’表示输出图像边界通过复制原图像边界的值来扩展;size_options可以是’full’或’same’,默认为’same’,表示输出图像与输入图像的大小相同。

图像的平滑与锐化

图像的平滑与锐化

昆明理工大学(数字图像处理)实验报告实验名称:图像的平滑与锐化专业:电子信息科学与技术姓名:学号:成绩:[实验目的]1、理解图像平滑与锐化的基本原理。

2、掌握图像滤波的基本定义及目的。

3、理解空间域滤波的基本原理及方法。

4、编程实现图像的平滑与锐化。

[实验原理]空间滤波器都是基于模板卷积,其主要工作步骤是:1)将模板在图中移动,并将模板中心与图中某个像素位置重合;2)将模板上的系数与模板下对应的像素相乘;3)将所有乘积相加;4)将和(模板的输出响应)赋给图中对应模板中心位置的像素。

1、图像的平滑目的:减少噪声方法:空域法:邻域平均法、低通滤波、多幅图像求平均、中值滤波(1)邻域平均(均值滤波器)所谓的均值滤波是指在图像上对待处理的像素给一个模板,该模板包括了其周围的邻近像素。

将模板中的全体像素的均值来替代原来的像素值的方法。

(2)中值滤波(统计排序滤波)一般地 , 设有一个一维序列 f1 , f2 , f3 ,…, fn ,取该窗口长度(点数)为 m (m为奇数 ),对一维序列进行中值滤波,就是从序列中相继抽取m 个数 fi-v , … , fi-1, fi,fi+1 , … , fi+v;其中 fi 为窗口的中心点值 ,v = ( m - 1 )/ 2 。

再将这 m 个点 值按 其数值大小排序,取中间的 那个数作为滤波输出 ,用数学公式表示为:yi = med fi-v,…,fi-1,fi,fi+1,…,fi+v其中i ∈Z,v=(m-1)/2 。

中值滤波一般采用一个含有奇数个点的滑动窗口,将窗口中各点灰度值的中值来替代指定点(一般是窗口的中心点)的灰度值。

二维中值滤波可有下式表示 :yi = med { fij }中值滤波的性质有 :(1) 非线性 , 两序列 f ( r ) , g ( r )med{ f ( r ) + g ( r ) } ≠ med{ f ( r ) } + med{ g ( r ) }(2) 对尖峰性干扰效果好,即保持边缘的陡度又去掉干扰,对高斯分 布噪声效果差;(3) 对噪声延续距离小于W/2的噪声抑制效果好,W 为窗口长度。

图像的平滑处理与锐化处理

图像的平滑处理与锐化处理

数字图像处理作业题目:图像的平滑处理与锐化处理姓名:***学号:************专业:计算机应用技术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 =,即方差变小,说明噪声强度减弱了,抑制了噪声。

三图像的平滑与锐化

三图像的平滑与锐化

实验三 图像的平滑与锐化一.实验目的1.掌握图像滤波的基本定义及目的;2.理解空域滤波的基本原理及方法;3.掌握进行图像的空域滤波的方法。

二.实验基本原理图像噪声从统计特性可分为平稳噪声和非平稳噪声两种。

统计特性不随时间变化的噪声称为平稳噪声;统计特性随时间变化的噪声称为非平稳噪声。

另外,按噪声和信号之间的关系可分为加性噪声和乘性噪声。

假定信号为S (t ),噪声为n (t ),如果混合叠加波形是S (t )+n (t )形式,则称其为加性噪声;如果叠加波形为S (t )[1+n (t )]形式, 则称其为乘性噪声。

为了分析处理方便,往往将乘性噪声近似认为加性噪声,而且总是假定信号和噪声是互相独立的。

1.均值滤波均值滤波是在空间域对图像进行平滑处理的一种方法,易于实现,效果也挺好。

设噪声η(m,n)是加性噪声,其均值为0,方差(噪声功率)为2σ,而且噪声与图像f(m,n)不相关。

除了对噪声有上述假定之外,该算法还基于这样一种假设:图像是由许多灰度值相近的小块组成。

这个假设大体上反映了许多图像的结构特征。

∑∈=s j i j i f M y x g ),(),(1),( (3-1)式(2-1)表达的算法是由某像素领域内各点灰度值的平均值来代替该像素原来的灰度值。

可用模块反映领域平均算法的特征。

对模板沿水平和垂直两个方向逐点移动,相当于用这样一个模块与图像进行卷积运算,从而平滑了整幅图像。

模版内各系数和为1,用这样的模板处理常数图像时,图像没有变化;对一般图像处理后,整幅图像灰度的平均值可不变。

(a) 原始图像 (b) 邻域平均后的结果图3-1 图像的领域平均法2.中值滤波中值滤波是一种非线性处理技术,能抑制图像中的噪声。

它是基于图像的这样一种特性:噪声往往以孤立的点的形式出现,这些点对应的象素很少,而图像则是由像素数较多、面积较大的小块构成。

在一维的情况下,中值滤波器是一个含有奇数个像素的窗口。

数字图像处理实验报告

数字图像处理实验报告

目录实验一:数字图像的基本处理操作 (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.了解MATLAB的操作环境和基本功能。

2.掌握MATLAB中图像增强与平滑的函数的使用方法。

3.加深理解图像增强与平滑的算法原理。

二、实验内容(一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。

熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。

(可将每段程序保存为一个.m文件)1.直方图均衡clear all; close all % Clear the MATLAB workspace of any variables% and close open figure windows。

I = imread('pout.tif'); % R eads the sample images ‘ pout.tif’, and stores it inimshow(I) % an array named I.display the imagefigure, 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.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 file执行结果如下:Command窗口:ans =Filename: 'pout2.png'FileModDate: '29-Apr-2006 15:33:34'FileSize: 36938Format: 'png'FormatVersion: []Width: 240Height: 291BitDepth: 8ColorType: 'grayscale'FormatSignature: [137 80 78 71 13 10 26 10]Colormap: []Histogram: []InterlaceType: 'none'Transparency: 'none'SimpleTransparencyData: []BackgroundColor: []RenderingIntent: []Chromaticities: []Gamma: []XResolution: []YResolution: []ResolutionUnit: []XOffset: []YOffset: []OffsetUnit: []SignificantBits: []ImageModTime: '29 Apr 2006 07:33:34 +0000'Title: []Author: []Description: []Copyright: []CreationTime: []Software: []Disclaimer: []Warning: []Source: []Comment: []OtherText: []上述命令窗口显示的是图片pout2.png的相关信息,包括文件名- 'pout2.png'、文件最后修改时间-'29-Apr-2006 15:33:34'、文件大小-36938、图片格式-'png'、格式版本、图片宽度-240、图片高度-291、图像像素值所占用的二进制位数-8、图像类型- 'grayscale'等等。

图像增强与平滑实验报告

图像增强与平滑实验报告

河南工业大学实验报告课程数字信号处理实验名称图像增强与平滑院系____信息科学与工程学院 ___ 专业班级__ 电科1001 __姓名______ __王闯______ 学号______201048360119___指导老师:王贵才日期 2013.05.16一.实验目的1.了解MATLAB的操作环境和基本功能。

2.掌握MATLAB中图像增强与平滑的函数的使用方法。

3.加深理解图像增强与平滑的算法原理。

二.实验内容及要求(一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。

熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。

1.直方图均衡化clear all; close all % Clear the MATLAB workspace of any variables% and close open figure windows.I = imread('pout.tif'); % R eads the sample images ‘ pout.tif’, and stores it in% an array named Iimshow(I) %display the imagefigure, imhist(I) % Create a histogram of the image and display it in% a new figure window.[I2,T] = histeq(I); % Histogram equalization.%[J,T] = histeq(I,...) returns the grayscale transformation that maps gray levels in the %intensity image I to gray levels in J.figure, imshow(I2) % Display the new equalized image, I2, in a new figure window.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');J = imadjust(I,[0 0.2],[0.5 1]);imshow(I)figure, imshow(J)[X,map] = imread('forest.tif');figure,imshow(X,map)I2 = ind2gray(X,map);J2 = imadjust(I2,[],[],0.5);figure,imshow(I2)figure, imshow(J2)J3 = imadjust(I2,[],[],1.5);figure, imshow(J3)help imadjust% Display the imadjust() function information.3.空域平滑滤波(模糊、去噪)clear all; close allI = imread('eight.tif');h1 = ones(3,3) / 9;h2 = ones(5,5) / 25;I1 = imfilter(I,h1);I2 = imfilter(I,h2);figure(1), imshow(I), title('Original Image');figure(2), imshow(I1), title('Filtered Image With 3*3 ') figure(3), imshow(I2), title('Filtered Image With 5*5 ') % 加入Gaussian 噪声J1 = imnoise(I,'gaussian',0,0.005);% 加入椒盐噪声J2 = imnoise(I,'salt & pepper',0.02);% 对J1、J2进行平均值平滑滤波K1 = imfilter(J1,fspecial('average',3));K2 = imfilter(J2,fspecial('average',3));figure(4);subplot(2,2,1), imshow(J1) , title('gaussian');subplot(2,2,2), imshow(J2), title('salt & pepper ');subplot(2,2,3), imshow(K1), title('average ');subplot(2,2,4), imshow(K2);% 对J1、J2进行中值滤波K3 = medfilt2(J1,[3 3]);K4 = medfilt2(J2,[3 3]);figure(5);subplot(2,2,1), imshow(J1) , title('gaussian');subplot(2,2,2), imshow(J2), title('salt & pepper ');subplot(2,2,3), imshow(K3), title('Median filtering ');subplot(2,2,4), imshow(K4)4.空域锐化滤波clear all; close allI = imread('moon.tif');w=fspecial('laplacian',0.2)w8=[1,1,1;1,-8,1;1,1,1]I1= imfilter(I,w, 'replicate');figure(1); imshow(I), title('Original Image');figure(2), imshow(I1), title('Laplacian Image');f = im2double(I);f1= imfilter(f,w, 'replicate');figure(3), imshow(f1,[]), title('Laplacian Image');f2= imfilter(f,w8, 'replicate');f4 = f-f1;f8 = f-f2;figure(4), imshow(f4);figure(5), imshow(f8);w =0.1667 0.6667 0.16670.6667 -3.3333 0.66670.1667 0.6667 0.1667w8 = 1 1 11 -8 11 1 15.图像的伪彩色处理—密度分割clear all, close allI = imread('ngc4024m.tif');X = grayslice(I,16);imshow(I), title('Original Image') figure, imshow(X,jet(16)), title('Index Color Image')三.实验过程及结果采用MATLAB 底层函数编程实现以下灰度线性变换假定原图像f (x , y )的灰度范围为[a , b ],希望变换后图像 g (x , y )的灰度范围扩展至[c , d ],则线性变换可表示为:c a y x f ab c d y x g +---=]),([),( 用MA TLAB 底层函数编程实现上述变换函数。

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告光信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.运行图像处理程序,并保存处理结果图像。

数字图像处理报告——图像的平滑和傅里叶变化

数字图像处理报告——图像的平滑和傅里叶变化

数字图像处理报告——图像的平滑和傅里叶变化第一篇:数字图像处理报告——图像的平滑和傅里叶变化数字图像处理实验报告课程数字图像处理实验名称图像平滑处理噪声和傅里叶变换专业班级姓名学号实验日期 2010.12 教师审批签字目录一,实验目的和要求.............................................3 二,实验内容和原理.............................................3~4 三,相关函数......................................................4 四,源程序代码及运行结果....................................5~12 4.1给图像添加椒盐噪声或者高斯噪声.......................................5 4.2对被噪声污染的图像进行中值滤波和均值滤波........................6 4.3进行空间域的平滑............................................................7 4.4,开发自己的空间域的均值滤波,模板大小使用3×3...............8 4.5,自己的空间域的图像锐化--算子锐化.................................9 4.6,傅里叶变换和傅里叶反变换.............................................10 4.7,巴特沃斯低通滤波.........................................................11 五,心得体会.........................................................13 六,参考文献. (13)图像平滑处理噪声和傅里叶变换一、实验目的和要求1、实验目的(1)熟悉Matlab软件、编程以及图像处理工具箱。

数字图形处理 实验 图像的平滑与锐化

数字图形处理 实验 图像的平滑与锐化

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.中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。

方法是去某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。

图像的平滑滤波---数字图像处理实验报告南昌大学

图像的平滑滤波---数字图像处理实验报告南昌大学

实验报告三姓名:胡文松学号:6103413007 班级:生物医学工程131 实验日期:2016/5/11 实验成绩:实验题目:图像的平滑滤波一.实验目的(1)熟练掌握空域平滑滤波的原理、方法及其MATLAB实现。

(2)分析模板大小对空域平滑滤波的影响,线性和非线性方法对空域平滑滤波增强效果的影响,比较不同滤波器的处理效果,分析其优缺点。

二.实验原理(1)线性空间滤波函数imfilter来实现线性空间滤波,语法为:g = imfilter(f, w, filtering_mode, boundary_options, size_options)其中,f是输入图像,w为滤波模板,g为滤波结果,filtering_mode用于指定在滤波过程中是使用相关运算(‘corr’)还是卷积运算(‘conv’),相关就是按模板在图像上逐步移动运算的过程,卷积则是先将模板旋转180度,再在图像上逐步移动的过程。

(2)非线性滤波器数字图像处理中最著名的统计排序滤波器是中值滤波器,MATLAB工具箱提供了二维中值滤波函数medfilt2,语法为:g = medfilt2(f, [m n], padopt)矩阵[m n]定义了一个大小为m×n的邻域,中值就在该邻域上计算;而参数padopt指定了三个可能的边界填充选项:’zeros’(默认值,赋零),’symmetric’按照镜像反射方式对称地沿延其边界扩展,’indexed’,若f是double类图像,则以1来填充图像,否则以0来填充图像。

(3)线性空间滤波器MATLAB工具箱支持一些预定义的二维线性空间滤波器,这些空间滤波器可通过函数fspecial实现。

生成滤波模板的函数fspecial的语法为:w = fspecial(‘type’, parameters) ;其中,’type’表示滤波器类型,parameters进一步定义了指定的滤波器。

fspecial(‘laplacian’, alpha) 一个大小为3×3的拉普拉斯滤波器,其形状由alpha指定,alpha是范围[0, 1]的数。

数字图形处理 实验 图像的平滑与锐化

数字图形处理 实验 图像的平滑与锐化
在以上例子中,如果以上的角度Θ等于零,即代表图像该处拥有纵向边缘,左方较右方暗。
三、实验内容:
1.在主菜单中添加图像增强的菜单项,并添加相应的图像平滑与图像锐化两个子菜单项。
2.利用类向导添加相应的消息响应函数。实现图像的平滑与锐化操作。
3.打开一幅图像,先进行平滑,然后再进行锐化操作。观察图像的变化情况。
1.邻域平均法的思想是用像素及其指定邻域内像素的平均值或加权平均值作为该像素的新值,以便去除突变的像素点,从而滤除一定的噪声。邻域平均法的数学含义可用下式表示:
(1)
上式中: 是以 为中心的邻域像素值; 是对每个邻域像素的加权系数或模板系数; 是加权系数的个数或称为模板大小。邻域平均法中常用的模板是:
(1)
(2)
式中, , 分别为函数 在迭代点 处的梯度和梯度的模;两式中 均为最优步长因子,各自分别通过一维极小化 和 。
按照梯度法迭代公式(1)或(2)进行若干次一维搜索,每次迭代的初始点取上次迭代的终点,即可使迭代点逐步逼近目标函数的极小点。其迭代的终止条件可采用点距准则或梯度准则,即当 或 时终止迭代。
h=m_DibHead->biHeight;
long i,j;
unsigned char *lpdst=new unsigned char [w*h];
memset(lpdst,0,w*h);
int abs[9]={0};
for(i=1;i<h-1;i++)
for(j=1;j<w-1;j++)
{
int m,n;
3.通过变量轮换法、共轭方向法等的讨论,我们知道对多维无约束问题优化总是将其转化为在一系列选定方向 进行一维搜索,使目标函数值步步降低直至逼近目标函数极小点,而 方向的选择与迭代速度、计算效率关系很大。人们利用函数在其负梯度方向函数值下降最快这一局部性质,将n维无约束极小化问题转化为一系列沿目标函数负梯度方向一维搜索寻优,这就成为梯度法的基本构想。据此我们将无约束优化迭代的通式 中的搜索方向 取为负梯度向量或单位负梯度向量,即可分别得到两种表达形式的梯度法迭代公式

数字图像处理实验03图像的平滑滤波

数字图像处理实验03图像的平滑滤波

一、数字图像处理实验实验三 图像的平滑滤波一、实验目的图像平滑主要目的是减少噪声。

噪声有很多种类,不同的噪声有不同的抑制措施。

本实验要求用平滑线性滤波和中值滤波2种最典型、最常用的处理算法进行程序设计,学习如何对已被噪声污染的图像进行“净化”。

通过平滑处理,对结果图像加以比较,得出自己的实验结论。

二、实验内容1.编写并调试窗口尺寸为m m ×的平滑滤波函数。

2.编写并调试窗口尺寸为m m ×的中值滤波函数。

三、实验原理图像平滑滤波可分为空间域和频率域两种方法。

在空间域内可以用邻域处理来减少噪声。

在频率域,因为噪声频谱多在高频段,可以采用各种形式的低通滤波办法来减少噪声。

空间域邻域处理包括:(1)定义中心点),(y x ;(2)仅对预先定义的以),(y x 为中心点的邻域内的像素进行运算;(3)令运算结果为该点处处理的响应;(4)对图像中的每一点重复此步骤。

移动中心点会产生新的邻域,而每个邻域对应于输入图像上的一个像素。

通常邻域是远比图像尺寸小的一规则形状,如正方形 m m × 或近似表示圆等形状的多边形。

若邻域的大小为n m ×,则总共需要mn 个系数。

这些系数排列为一个矩阵,我们称其为滤波器、掩模、滤波掩模、模板或窗口。

对于一个大小为n m ×的模板,假定12+=a m 且12+=b n ,其中a 和b 为非负整数。

所有假设都是基于模板的大小应均为奇数的原则,处理奇数尺寸的模板会更加直观,因为它们都有唯一的一个中心点。

若对邻域中像素的计算为线性运算时,则此运算称为线性空间滤波(也称为空间卷积);否则,我们称此运算为非线性空间滤波。

1. 平滑线性滤波空间域图像平滑线性滤波器是一种最常用的线性低通滤波器,其处理方法是在待处理图像),(y x f 中逐点地移动模板,在每个点),(y x 处的响应是模板系数与直接在模板下的相应像素的乘积之和,作为处理后图像),(y x g 的像素值。

实验三图像分析实验——图像分割、形态学及边缘与轮廓分析

实验三图像分析实验——图像分割、形态学及边缘与轮廓分析

实验三图像分析实验——图像分割、形态学及边缘与轮廓分析一、实验条件PC机数字图像处理实验教学软件大量样图二、实验目的1、熟悉图像形态学分析的基本原理,观察不同形态学方法处理的结果;2、熟悉图像阈值分割、区域生长、投影及差影检测和模板匹配的基本原理,观察处理的结果;3、熟悉图像边缘检测、Hough平行线检测、轮廓提取及跟踪和种子填充的基本原理,观察处理的结果;4、了解图像矩、空穴检测、骨架提取的基本原理,观察处理的结果。

三、实验原理本次实验侧重于演示观察,由于内容繁多,并且系统中已有部分实验项目的原理说明,因此实验原理及编程实现步骤这里不再详细叙述,有兴趣的同学可以查阅数字图像处理方面的有关书籍。

四、实验内容1、图像形态学分析内容包括:图像膨胀、图像腐蚀、开运算、闭运算和图像细化针对二值图像进行处理,有文字说明,实验步骤中将详细介绍其使用方法。

2、图像分割内容包括:阈值分割、区域生长、投影检测、差影检测和模板匹配阈值分割:支持灰度图像。

从图库中选择图像分割中的源图, 然后执行图像分析→图像分割→阈值分割, 比较原图和分割后的图, 对照直方图分析阈值分割的特点。

对源图再执行一次图像变换→点运算→阈值变换, 比较分析阈值变换和阈值分割的结果。

区域生长:支持灰度图像。

操作方法与阈值分割类似,比较分析其与阈值分割的不同。

投影检测:只支持二值图像。

从图库中选择投影检测中的源图, 然后执行图像分析→投影检测→水平投影, 然后再垂直投影, 记录下检测部分的水平和垂直方向的位置。

如有必要, 在检测之前, 对图像进行平滑消噪。

差影检测:支持灰度图像。

从图库中选择图像合成中的源图, 然后执行图像分析→图像合成→图像相减, 在弹出的文件对话框中选择图库图像合成中的模板图像,观察分析差影结果。

模板匹配:支持灰度图像。

从图库中选择模板匹配中的源图, 然后执行图像分析→模式识别→模板匹配, 在弹出的文件对话框中选择图库模板匹配中的模板图像, 观察分析结果。

实验三图像的平滑与锐化

实验三图像的平滑与锐化

实验三 图像的平滑与锐化一.实验目的1.掌握图像滤波的基本定义及目的;2.理解空域滤波的基本原理及方法;3.掌握进行图像的空域滤波的方法。

二.实验基本原理图像噪声从统计特性可分为平稳噪声和非平稳噪声两种。

统计特性不随时间变化的噪声称为平稳噪声;统计特性随时间变化的噪声称为非平稳噪声。

另外,按噪声和信号之间的关系可分为加性噪声和乘性噪声。

假定信号为S (t ),噪声为n (t ),如果混合叠加波形是S (t )+n (t )形式,则称其为加性噪声;如果叠加波形为S (t )[1+n (t )]形式, 则称其为乘性噪声。

为了分析处理方便,往往将乘性噪声近似认为加性噪声,而且总是假定信号和噪声是互相独立的。

1.均值滤波均值滤波是在空间域对图像进行平滑处理的一种方法,易于实现,效果也挺好。

设噪声η(m,n)是加性噪声,其均值为0,方差(噪声功率)为2σ,而且噪声与图像f(m,n)不相关。

除了对噪声有上述假定之外,该算法还基于这样一种假设:图像是由许多灰度值相近的小块组成。

这个假设大体上反映了许多图像的结构特征。

∑∈=s j i j i f M y x g ),(),(1),( (3-1)式(2-1)表达的算法是由某像素领域内各点灰度值的平均值来代替该像素原来的灰度值。

可用模块反映领域平均算法的特征。

对模板沿水平和垂直两个方向逐点移动,相当于用这样一个模块与图像进行卷积运算,从而平滑了整幅图像。

模版内各系数和为1,用这样的模板处理常数图像时,图像没有变化;对一般图像处理后,整幅图像灰度的平均值可不变。

(a) 原始图像 (b) 邻域平均后的结果图3-1 图像的领域平均法2.中值滤波中值滤波是一种非线性处理技术,能抑制图像中的噪声。

它是基于图像的这样一种特性:噪声往往以孤立的点的形式出现,这些点对应的象素很少,而图像则是由像素数较多、面积较大的小块构成。

在一维的情况下,中值滤波器是一个含有奇数个像素的窗口。

Matlab图像处理图像平滑与滤波

Matlab图像处理图像平滑与滤波

实验三、图像平滑与滤波一、实验题目:图像平滑与滤波二、实验目的:在熟悉图像平滑的基本原理和方法的基础上,在理论指导下,能在MATLAB 环境下对图像进行平滑处理。

本实验要求用线性平滑滤波、中值平滑滤波、频域低通滤波的方法进行程序设计。

经过平滑处理,对结果图像加以比较,得出自己的实验结论。

三、实验内容:(1)利用MATLAB为用户提供的专门函数实现均值滤波。

(2)利用MATLAB为用户提供的专门函数实现中值滤波。

(3)编写频域理想低通、巴特沃斯低通及高斯低通滤波函数。

四、预备知识:(1)熟悉平滑滤波原理。

(2)熟悉频域滤波原理。

(3)熟悉在MATLAB环境下对图像文件的I/O操作。

五、实验原理:平滑滤波技术用于平滑图像中的噪声。

平滑噪声可以在空间域中进行,基本方法是求像素灰度的平均值或中值。

也可以在频域中用基于傅立叶的分析方法进行。

这里对常用滤波函数进行简要介绍。

(1)噪声产生函数:imnoise图像平滑主要是针对图像的各种噪声而言的,因此需要模拟数字图像的各种噪声来分析滤波效果。

MATLAB的图像处理工具箱提供了imnoise函数,可以用该函数给图像添加不同种类噪声,其调用格式为:J = imnoise(I, ’type’, parameters)I是输入图像,J是对I添加噪声后的输出图像。

表5.1列出了imnoise函数能够产生的五种噪声及其对应参数。

表5.1 噪声种类及参数说明TYPE PARAMETERS 说明gaussian m,v 均值为m,方差为v的高斯噪声。

默认值m=0,v=0.01localvar v 均值为0,方差为v的高斯白噪声passion 无泊松噪声salt & pepper d 噪声强度为d的椒盐噪声。

默认值为0.05 speckle v 均值为0,方差为v的均匀分布随机噪声例1.5.1给图像加上椒盐噪声,可以使用下列语句。

>> I=imread('ckt-board.tif');>> J=imnoise(I,'salt & pepper',0.2);%给图像加入椒盐噪声>> subplot(1,2,1);imshow(I);title('原始图像');>> subplot(1,2,2);imshow(J);title('加入椒盐噪声的图像');其显示结果如图1.5.1所示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.如何把边缘部分与噪声部分区分开,只消除噪声是图像平滑的关键所在。
3.要求多幅图像的噪声点的分布不同,差别越大,效果越好
实验3 图像平滑实验
学校:天津科技大学
学院:计算机科学与技术
学号:15101220
姓名:岳泽健
指导老师:任德华
提交时间:2018年6月5日
}
}
namedWindow("image");
namedWindow("newImage");
imshow("image", image);
imshow("newImage", newImage);
waitKey();
return 0;
}
四.
1.不同空间域卷积模板的滤波效果滤波的平滑程度不同,当空间域模板太小时,无法滤除噪点,当空间域模板太大时又会使得图像失真。
//for (int j = 0;j<image.size().width;j++)
//{
//newImage.at<uchar>(i, j) = saturate_cast<uchar>(image.at<uchar>(i, j) * k+b);
//}
//方法二
for (int i = 0;i<image.size().height;i++)
uchar* data = image.ptr<uchar>(i);
uchar* dataNext = image.ptr<uchar>(i+1);
uchar* newdata = newImage.ptr<uchar>(i);
float sum = 0;
for (int j = 1;j<image.size().width-1;j++)
实验3 图像平滑实验
一、实验目的
1.通过实验掌握图像去噪的基本方法;
2.学会根据情况选用不同方法。
二、实验内容及要求
1.实验内容
请在如下面方法中选择多个,完成图像去噪操作,并进行分析、比较。
(1)对静态场景的多幅图片取平均;
(2)空间域模板卷积(不同模板、不同尺寸);
三.
1.
// lab.cpp :定义控制台应用程序的入口点。
sum = sum / 9;
newdata[j] = saturate_cast<uchar>(sum);
}ቤተ መጻሕፍቲ ባይዱ
}
namedWindow("image");
namedWindow("newImage");
imshow("image", image);
imshow("newImage", newImage);
//Mat_<uchar>::iterator newit = newImage.begin<uchar>();
//for (; it != itEnd; ++it,newit++)
//*newit = saturate_cast<uchar>(*it * k + b);
////方法1
//for (int i = 0;i<image.size().height;i++)
//{
//newImage.at<uchar>(i, j) = saturate_cast<uchar>(image.at<uchar>(i, j) * k+b);
//}
//方法二
for (int i = 1;i<image.size().height-1;i++)
{
uchar* dataPre= image.ptr<uchar>(i-1);
{
Mat image = imread("d:\\1.bmp", 0);
Mat newImage(image.size().height, image.size().width, CV_8UC1, Scalar(0));
int k = 2, b = 0;
//方法3
//Mat_<uchar>::iterator it = image.begin<uchar>(), itEnd = image.end<uchar>();
newImage = image.clone();
int k = 2, b = 0;
//方法3
//Mat_<uchar>::iterator it = image.begin<uchar>(), itEnd = image.end<uchar>();
//Mat_<uchar>::iterator newit = newImage.begin<uchar>();
{
uchar* data = image.ptr<uchar>(i);
uchar* newdata = newImage.ptr<uchar>(i);
for (int j = 0;j<image.size().width;j++)
{
newdata[j] = saturate_cast<uchar>(data[j] * k+b);
{
sum = 0;
sum += data[j] + data[j - 1] + data[j + 1];
sum += dataPre[j] + dataPre[j - 1] + dataPre[j + 1];
sum += dataNext[j] + dataNext[j - 1] + dataNext[j + 1];
//
#include "stdafx.h"
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main()
{
Mat image = imread("d:\\1.bmp", 0);
Mat newImage(image.size().height, image.size().width, CV_8UC1, Scalar(0));
waitKey();
return 0;
}
2.
图像平滑
// lab.cpp :定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main()
//for (; it != itEnd; ++it,newit++)
//*newit = saturate_cast<uchar>(*it * k + b);
////方法1
//for (int i = 0;i<image.size().height;i++)
//for (int j = 0;j<image.size().width;j++)
相关文档
最新文档