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

合集下载

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告1. 引言数字图像处理是使用计算机来处理和优化图像的一种技术。

在本实验中,我们将探索几种常见的数字图像处理方法,并使用Python编程语言和相关库来实现。

2. 实验目的本实验的主要目的是:1.了解图像的基本特性和数字图像处理的基本原理;2.熟悉Python编程语言和相关图像处理库的使用;3.实现常见的图像处理算法并进行实验验证。

3. 实验方法在本实验中,我们使用Python编程语言和以下相关库来实现图像处理算法:•OpenCV:用于图像读取、显示和保存等基本操作;•Numpy:用于图像数据的处理和算术运算;•Matplotlib:用于图像的可视化和结果展示。

以下是实验涉及到的图像处理方法和步骤:1.图像读取和显示:使用OpenCV库读取图像,使用Matplotlib库显示图像;2.图像的灰度化:将彩色图像转换为灰度图像;3.图像的二值化:将灰度图像转换为黑白二值图像;4.图像的平滑处理:使用平滑滤波器对图像进行平滑处理,如均值滤波和高斯滤波;5.图像的边缘检测:使用边缘检测算法对图像进行边缘检测,如Sobel算子和Canny算子;6.图像的直方图均衡化:对灰度图像进行直方图均衡化,增强图像的对比度。

4. 实验过程和结果4.1 图像读取和显示首先,我们使用OpenCV库读取一张图像,并使用Matplotlib库显示该图像:import cv2import matplotlib.pyplot as plt# 读取图像img = cv2.imread('image.jpg')# 显示图像plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) plt.axis('off')plt.show()4.2 图像的灰度化接下来,我们将彩色图像转换为灰度图像:# 灰度化图像gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 显示灰度图像plt.imshow(gray_img, cmap='gray')plt.axis('off')plt.show()4.3 图像的二值化然后,我们将灰度图像转换为黑白二值图像:# 二值化图像_, binary_img = cv2.threshold(gray_img, 128, 255, cv2.THRESH_BINARY)# 显示二值图像plt.imshow(binary_img, cmap='gray')plt.axis('off')plt.show()4.4 图像的平滑处理接下来,我们使用平滑滤波器对图像进行平滑处理,例如使用5x5的均值滤波器和高斯滤波器:# 均值滤波mean_img = cv2.blur(img, (5, 5))# 高斯滤波gaussian_img = cv2.GaussianBlur(img, (5, 5), 0) # 显示平滑处理后的图像plt.figure(figsize=(10, 5))plt.subplot(121)plt.imshow(cv2.cvtColor(mean_img, cv2.COLOR_BGR2R GB))plt.title('Mean Filter')plt.axis('off')plt.subplot(122)plt.imshow(cv2.cvtColor(gaussian_img, cv2.COLOR_B GR2RGB))plt.title('Gaussian Filter')plt.axis('off')plt.show()4.5 图像的边缘检测然后,我们使用边缘检测算法对图像进行边缘检测,例如使用Sobel算子和Canny算子:# 边缘检测sobel_img = cv2.Sobel(gray_img, cv2.CV_8U, 1, 1, ksize=3)canny_img = cv2.Canny(gray_img, 50, 150)# 显示边缘检测结果plt.figure(figsize=(10, 5))plt.subplot(121)plt.imshow(sobel_img, cmap='gray')plt.title('Sobel Operator')plt.axis('off')plt.subplot(122)plt.imshow(canny_img, cmap='gray')plt.title('Canny Operator')plt.axis('off')plt.show()4.6 图像的直方图均衡化最后,我们对灰度图像进行直方图均衡化,以增强图像的对比度:# 直方图均衡化equalized_img = cv2.equalizeHist(gray_img)# 显示直方图均衡化结果plt.imshow(equalized_img, cmap='gray')plt.axis('off')plt.show()5. 实验总结通过本实验,我们熟悉了数字图像处理的基本方法和步骤,并使用Python编程语言和相关库实现了图像的读取、显示、灰度化、二值化、平滑处理、边缘检测和直方图均衡化等操作。

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告数字图像处理实验报告(一)实验目的1.理解数字图像处理的基本概念与原理。

2.掌握数字图像处理的基本方法。

3.掌握常用数字滤波器的性质和使用方法。

4.熟练应用数字图像处理软件进行图像处理。

实验器材计算机、MATLAB软件实验内容1.图像的读写与显示首先,我们需要在MATLAB中读入一幅图像,并进行显示。

% 导入图像文件I = imread('myimage.jpg');% 显示图像imshow(I);2.图像的分辨率与色彩空间转换数字图像处理中的一个重要概念是图像的分辨率,通常用像素数量表示。

图像的分辨率越高,代表着图像包含更多的像素,从而更具细节和清晰度。

在数字图像处理中,常常需要将一幅图像从一种色彩空间转换为另一种色彩空间。

RGB色彩空间是最常见的图像色彩空间之一,并且常常作为其他色彩空间的基础。

% 转换图像色彩空间J = rgb2gray(I);% 显示转换后的图像imshow(J);3.图像的增强与滤波图像的增强通常指的是对图像的对比度、亮度和清晰度等方面进行调整,以改善图像的质量和可读性。

数字图像处理中的滤波是一种常用的图像增强方法。

滤波器是一个能够对图像进行局部操作的矩阵,它能够提取或抑制特定的图像特征。

% 对图像进行平滑滤波K = imgaussfilt(J, 1);% 显示滤波后的图像imshow(K);4.数字图像处理在实际应用中的例子数字图像处理在很多实际应用中被广泛应用。

这些应用包括医疗成像、计算机视觉、人脸识别、安防监控等。

下面是数字图像处理在人脸识别应用中的一个简单例子。

% 导入图像文件I = imread('face.jpg');% 进行人脸检测faceDetector = vision.CascadeObjectDetector;bbox = step(faceDetector, I);% 在图像上标记人脸位置IFaces = insertObjectAnnotation(I, 'rectangle', bbox, 'Face');imshow(IFaces);实验结论通过本次实验,我已经能够理解数字图像处理的基本概念与原理,掌握数字图像处理的基本方法,熟练应用数字图像处理软件进行图像处理。

南昌大学数字信号处理实验报告_二阶高斯低通滤波器的图像滤波

南昌大学数字信号处理实验报告_二阶高斯低通滤波器的图像滤波

Digital Image ProcessingProject title:Lowpass Filtering Project number:Proj04-03 Course number:Z6102X026 Student's name:Student's number:Date due:2012-06-28Date handed in:2012-06-11摘要通过二阶高斯低通滤波器对图像进行滤波作用,我们可以使用C 语言、C++语言、Matlab来实现对我们所需图像的滤波。

这里我们使用Matlab进行编程。

由题设,进行高斯低通滤波器并能够设置其二维高斯的大小范围及中心位置。

再采用题中要求的图像进行滤波。

也可将图像通过二维理想低通滤波器和巴特沃斯低通滤波器,并与之前的二阶高斯低通滤波器的滤波效果进行比较,从而得以合理的进行滤波器选择。

技术讨论:图像处理中,我们可知二阶高斯低通滤波器的传递函数形式为:())2v ,u exp()v ,u (H 22D σ-= 其中)v ,u (D 是距傅里叶变换原点的距离,该式是假设将变换移至频率区域的中心。

而σ表示高斯曲线扩展的程度。

若使得D 0=σ,则可以将滤波器表示为())02v ,u exp()v ,u (H D D 22-=,其中D 0是截止频率。

当D 0)v ,u (D =时,滤波器下降到它的最大值的0.607处。

高斯低通滤波器的傅里叶反变换也是高斯的。

实验结果分析:1,二维高斯低通滤波器如下列程序可知,先将原图显示出来,再绘制二维高斯低通滤波器进行滤波后的图像。

具体步骤得:绘制原图的频谱图-频谱中心化-选择合适设计参数-由传递函数设计算法-FFT逆变换-显示变换后的图像。

具体程序如下得:>> I1=imread('Fig0411(a).jpg');imshow(I1);title('原图');s=fftshift(fft2(I1));[M,N]=size(s); %分别返回s的行数到M中,列数到N中n=2; %对n赋初值%GLPF滤波,截止频率点半径d0=5,15,30d0=5; %初始化d0n1=floor(M/2); %对M/2进行取整n2=floor(N/2); %对N/2进行取整for i=1:Mfor j=1:Nd=sqrt((i-n1)^2+(j-n2)^2);%点(i,j)到傅氏变换中心的距离 h=1*exp(-1/2*(d^2/d0^2)); %高斯低通滤波函数s(i,j)=h*s(i,j); %高斯低通滤波后的频域表示endends=ifftshift(s); %对s进行反FFT移动s=uint8(real(ifft2(s))); figure; %创建图形图像对象imshow(s); %显示高斯低通滤波处理后的图像title('GLPF滤波(d0=5)');截止频率点半径d0=5时图像对比:截止频率点半径d0=15的图像对比:截止频率点班级d0=30的图像对比:2,二维理想低通滤波器如下列程序可知,先将原图显示出来,再绘制二维高斯低通滤波器进行滤波后的图像。

《数字图像处理》实验报告

《数字图像处理》实验报告

《数字图像处理》实验报告数字图像处理是一门将图像进行数字化处理的学科,它通过计算机算法和技术手段对图像进行分析、增强、压缩和重建等操作。

在本次实验中,我们学习了数字图像处理的基本概念和常用算法,并通过实验来探索其应用和效果。

首先,我们进行了图像的读取和显示实验。

通过使用Python中的OpenCV库,我们能够轻松地读取图像文件,并将其显示在屏幕上。

这为我们后续的实验奠定了基础。

同时,我们还学习了图像的像素表示方法,了解了图像由像素点组成的原理。

这使我们能够更好地理解后续实验中的算法和操作。

接下来,我们进行了图像的灰度化实验。

灰度化是将彩色图像转换为灰度图像的过程。

在实验中,我们使用了不同的算法来实现灰度化操作,包括平均值法、最大值法和加权平均法等。

通过比较不同算法得到的灰度图像,我们发现不同算法对图像的处理效果有所差异,这使我们深入理解了灰度化的原理和应用。

随后,我们进行了图像的直方图均衡化实验。

直方图均衡化是一种用于增强图像对比度的方法。

在实验中,我们使用了直方图均衡化算法来对图像进行处理,并观察了处理前后的效果变化。

通过实验,我们发现直方图均衡化能够显著提高图像的对比度,使图像更加清晰和鲜明。

在进一步探索图像处理技术的过程中,我们进行了图像的滤波实验。

滤波是一种常用的图像处理操作,它通过对图像进行卷积操作来实现。

在实验中,我们学习了不同类型的滤波器,包括均值滤波器、高斯滤波器和中值滤波器等。

通过比较不同滤波器对图像的处理效果,我们发现每种滤波器都有其适用的场景和效果。

此外,我们还进行了图像的边缘检测实验。

边缘检测是一种用于提取图像边缘信息的方法。

在实验中,我们学习了不同的边缘检测算法,包括Sobel算子、Canny算子和Laplacian算子等。

通过比较不同算法对图像的处理效果,我们发现每种算法都有其独特的特点和应用。

最后,我们进行了图像的压缩实验。

图像压缩是一种将图像数据进行压缩以减小文件大小的方法。

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

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

实验报告三姓名:胡文松学号: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]的数。

数字图像处理实验报告--平滑滤波

数字图像处理实验报告--平滑滤波

数字图像处理实验报告实验名称:线性平滑滤波器——领域平均与加权平均姓名:班级:学号:专业:电子信息工程(2+2)指导教师:***实验日期:2012年5月17日一,图像的平滑图像的平滑方法是一种实用的图像处理技术,能减弱或消除图像中的高频率分量,但不影响低频率分量。

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

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

它的主要目的是消除图像采集过程中的图像噪声,在空间域中主要利用邻域平均法、中值滤波法和选择式掩模平滑法等来减少噪声;在频率域内,由于噪声主要存在于频谱的高频段,因此可以利用各种形式的低通滤波器来减少噪声。

二,领域平均1.基础理论最简单的平滑滤波是将原图中一个像素的灰度值和它周围邻近8个像素的灰度值相加,然后将求得的平均值(除以9)作为新图中该像素的灰度值。

它采用模板计算的思想,模板操作实现了一种邻域运算,即某个像素点的结果不仅与本像素灰度有关,而且与其邻域点的像素值有关。

模板运算在数学中的描述就是卷积运算,邻域平均法也可以用数学公式表达:设为给定的含有噪声的图像,经过邻域平均处理后的图像为,则,M是所取邻域中各邻近像素的坐标,是邻域中包含的邻近像素的个数。

邻域平均法的模板为:,中间的黑点表示以该像素为中心元素,即该像素是要进行处理的像素。

在实际应用中,也可以根据不同的需要选择使用不同的模板尺寸,如3×3、5×5、7×7、9×9等。

邻域平均处理方法是以图像模糊为代价来减小噪声的,且模板尺寸越大,噪声减小的效果越显著。

如果是噪声点,其邻近像素灰度与之相差很大,采用邻域平均法就是用邻近像素的平均值来代替它,这样能明显消弱噪声点,使邻域中灰度接近均匀,起到平滑灰度的作用。

因此,邻域平均法具有良好的噪声平滑效果,是最简单的一种平滑方法。

图像滤波平滑实验报告

图像滤波平滑实验报告

图像滤波平滑实验报告引言图像滤波平滑是数字图像处理中的基本操作之一。

通过应用合适的滤波器,可以减少图像中的噪声、平滑细节,从而改善图像的质量和观感。

本实验旨在探究图像滤波平滑的原理和方法,并通过实验验证其效果。

实验目的1. 了解图像滤波平滑的基本原理。

2. 学习常用的图像滤波平滑方法及其优缺点。

3. 掌握图像滤波平滑的实际应用。

实验步骤本实验使用Python编程语言进行图像处理。

以下是具体的实验步骤:1. 下载并安装Python及相关库。

2. 导入所需的库,包括NumPy(用于处理数值计算)和OpenCV(用于图像处理)。

3. 读取待处理的图像。

4. 使用不同的滤波器对图像进行平滑处理。

5. 对比不同滤波器的效果,并进行分析。

实验结果与分析本实验选取了三种常用的图像滤波平滑方法:均值滤波、中值滤波和高斯滤波。

下面分别对它们的效果进行分析。

1. 均值滤波均值滤波是一种简单的滤波方法,它将每个像素的灰度值设置为周围像素的平均值。

它适用于轻度噪声的去除,但会模糊图像的细节。

实验结果显示,均值滤波可以有效地减少图像中的噪声,但同时也导致图像变得模糊。

2. 中值滤波中值滤波是一种非线性滤波方法,它将每个像素的灰度值设置为周围像素的中值。

相较于均值滤波,中值滤波能够更好地保留图像的边缘和细节。

实验结果显示,中值滤波在去除噪声的同时对图像的细节损失较小。

3. 高斯滤波高斯滤波是一种基于高斯函数的线性滤波方法,它将每个像素的灰度值设置为周围像素的加权平均值。

高斯滤波对于去除高斯噪声效果显著,同时也能保持图像细节的清晰度。

实验结果显示,高斯滤波对图像的平滑效果较好。

实验总结本实验通过对比不同的图像滤波平滑方法,发现不同的方法适用于不同场景的图像处理。

均值滤波适合轻度噪声、对图像细节要求较低的场景;中值滤波适合去除椒盐噪声、能较好地保留图像细节;而高斯滤波则适用于去除高斯噪声、较好地平滑图像。

在实际应用中,我们需要根据图像的特点和需求选择合适的滤波方法。

数字图像处理实验报告2

数字图像处理实验报告2

实验二: 数字图像的空间域滤波——平滑滤波1. 1. 实验目的2.掌握图像滤波的基本定义及目的。

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

4.掌握进行图像的空域滤波的方法。

1. 2. 实验基本原理2.空间域增强空间域滤波是在图像空间中借助模板对图像进行领域操作, 处理图像每一个像素的取值都是根据模板对输入像素相应领域内的像素值进行计算得到的。

空域滤波基本上是让图像在频域空间内某个范围的分量受到抑制, 同时保证其他分量不变, 达到增强图像的目的。

空域滤波一般分为线性滤波和非线性滤波两类。

各种空域滤波器根据功能主要分为平滑滤波器和锐化滤波器。

平滑的目的可分为两类: 一类是模糊, 目的是在提取较大的目标前去除太小的细节或将目标内的小肩端连接起来;另一类是消除噪声。

锐化的目的是为了增强被模糊的细节。

结合这两种分类方法, 可将空间滤波增强分为四类:线性平滑滤波器(低通)非线性平滑滤波器(低通)线性锐化滤波器(高通)非线性锐化滤波器(高通)1)空间滤波器都是基于模板卷积, 其主要工作步骤是:2)将模板在图中移动, 并将模板中心与图中某个像素位置重合;3)将模板上的系数与模板下对应的像素相乘;4)将所有乘积相加;5)将和(模板的输出响应)赋给图中对应模板中心位置的像素。

3.平滑滤波器1)线性平滑滤波器线性低通平滑滤波器也称为均值滤波器, 这种滤波器的所有系数都是正数, 对3×3的模板来说, 最简单的是取所有系数为1, 为了保持输出图像任然在原来图像的灰度值范围内, 模板与象素邻域的乘积都要除以9。

MATLAB 提供了fspecial 函数生成滤波时所用的模板, 并提供filter2和imfilter 函数用指定的滤波器模板对图像进行运算。

函数fspecial 的语法格式为:h=fspecial(type);h=fspecial(type,parameters);其中参数type 指定滤波器的种类, parameters 是与滤波器种类有关的具体参数。

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

数字图形处理 实验 图像的平滑与锐化
在以上例子中,如果以上的角度Θ等于零,即代表图像该处拥有纵向边缘,左方较右方暗。
三、实验内容:
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维无约束极小化问题转化为一系列沿目标函数负梯度方向一维搜索寻优,这就成为梯度法的基本构想。据此我们将无约束优化迭代的通式 中的搜索方向 取为负梯度向量或单位负梯度向量,即可分别得到两种表达形式的梯度法迭代公式

图像平滑实验报告

图像平滑实验报告

图像平滑实验报告图像平滑实验报告一、引言图像平滑是数字图像处理中的一项重要任务,其目的是减少图像中的噪声,使图像更加清晰和易于分析。

在本实验中,我们将使用不同的平滑滤波器对一幅图像进行处理,并比较它们的效果。

二、实验方法1. 实验材料我们选择了一张包含噪声的测试图像作为实验材料,该图像包含了不同频率和强度的噪声。

2. 实验步骤(1)加载测试图像:我们使用Python的OpenCV库加载测试图像,并将其转换为灰度图像,以便于后续处理。

(2)添加噪声:为了模拟真实场景中的图像噪声,我们使用随机函数在图像中添加高斯噪声和椒盐噪声。

(3)平滑滤波器处理:我们选择了三种常用的平滑滤波器,包括均值滤波器、中值滤波器和高斯滤波器。

分别对添加噪声的图像进行处理,并记录处理后的图像。

(4)性能评估:使用图像质量评估指标,如均方误差(MSE)和峰值信噪比(PSNR),来评估不同滤波器的性能。

三、实验结果我们将实验结果分为以下几个部分进行讨论。

1. 均值滤波器均值滤波器是一种简单的平滑滤波器,它通过计算邻域像素的平均值来实现图像平滑。

在我们的实验中,我们选择了不同大小的邻域窗口进行均值滤波。

结果显示,随着邻域窗口大小的增加,噪声的减少效果也越明显。

然而,较大的窗口大小也会导致图像细节的模糊。

因此,在选择均值滤波器时,需要根据具体应用场景平衡噪声减少和图像细节保留之间的关系。

2. 中值滤波器中值滤波器是一种非线性平滑滤波器,它通过计算邻域像素的中值来实现图像平滑。

在我们的实验中,我们选择了不同大小的邻域窗口进行中值滤波。

结果显示,中值滤波器在去除椒盐噪声方面表现出色。

它能够有效地去除孤立的噪点,但对于较大的噪点区域效果不明显。

因此,中值滤波器在处理椒盐噪声图像时是一种有效的选择。

3. 高斯滤波器高斯滤波器是一种线性平滑滤波器,它通过对邻域像素进行加权平均来实现图像平滑。

在我们的实验中,我们选择了不同的滤波器尺寸和标准差。

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告一、引言数字图像处理是一门涉及图像获取、图像处理和图像分析的重要学科,广泛应用于计算机科学、电子工程、通信技术等领域。

本报告旨在介绍并总结我所进行的数字图像处理实验,讨论实验的目的、方法、结果和分析。

二、实验目的通过本次实验,旨在掌握和理解数字图像处理的基本原理和常见技术,包括灰度变换、空间域滤波、频域滤波等,以及层次分割、边缘检测和形态学处理等高级应用技术。

三、实验方法1. 寻找合适的图像在实验中,我选用了一张自然风景图像作为处理对象。

这张图像包含丰富的纹理和颜色信息,适合用于多种图像处理方法的验证和比较。

2. 灰度变换灰度变换是数字图像处理中常见的基础操作,可以通过对图像的像素灰度值进行线性或非线性变换,来调整图像的对比度、亮度等特征。

在实验中,我利用线性灰度变换方法将原始彩色图像转换为灰度图像,并进行对比度的调整,观察处理结果的变化。

3. 空间域滤波空间域滤波是一种基于像素邻域的图像处理方法,常用于图像去噪、边缘增强等应用。

我使用了平滑滤波和锐化滤波两种方法,并针对不同的滤波算子和参数进行了实验和比较,评估其对图像细节和边缘保留的影响。

4. 频域滤波频域滤波是一种基于图像的频谱特征的图像处理方法,广泛应用于图像增强、去噪和特征提取等方面。

我利用傅里叶变换将图像从空间域转换到频域,采用理想低通滤波器和巴特沃斯低通滤波器进行图像的模糊处理,并进行了实验对比和分析。

5. 高级应用技术在实验中,我还研究了数字图像处理中的一些高级应用技术,包括层次分割、边缘检测和形态学处理。

通过应用不同的算法和参数,我实现了图像区域分割、提取图像边缘和形态学形状变换等效果,评估处理结果的准确性和稳定性。

四、实验结果与分析通过对以上实验方法的实施,我获得了一系列处理后的图像,并进行了结果的比较和分析。

在灰度变换实验中,我发现线性变换对图像的对比度有较大影响,但对图像的细节变化不敏感;在空间域滤波实验中,平滑滤波可以有效降噪,但会导致图像细节损失,而锐化滤波可以增强图像的边缘效果,但也容易引入噪声;在频域滤波实验中,理想低通滤波对图像的模糊效果明显,而巴特沃斯低通滤波器可以在一定程度上保留图像的高频细节信息;在高级应用技术实验中,边缘检测和形态学处理对提取图像边缘和形状变换非常有效,但参数的选择会对结果产生较大影响。

数字图像处理实验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 的像素值。

南昌大学数字图像处理实验报告参考模板

南昌大学数字图像处理实验报告参考模板

实验报告实验课程:数字图像处理学生姓名:涂汉江学号:6100410181专业班级:数媒101班2013年 06月 08日南昌大学实验报告---(1)数据图像显示的Vc程序设计学生姓名:涂汉江学号:6100410181 专业班级:数媒101班实验类型:□验证■综合□设计□创新实验日期:2013.06.01 实验成绩:一.实验目的位图图片显示的C语言实现。

二.实验要求用C语言编写简单的程序用来打开位图文件。

三.实验环境PC机VC6.0四.实验原理无五.实验代码及结果//主要代码部分void CCOpenImageDoc::OnFileOpen(){// TODO: Add your command handler code hereCFileDialog dlg(TRUE,0,0,OFN_HIDEREADONLY, _T("位图文件|*.bmp|所有文件|*.*||"));if(dlg.DoModal()==IDOK){FileName=dlg.GetPathName();if(fileheader) delete fileheader;if(infoheader) delete infoheader;if(pal) delete pal;if(BMPData) delete BMPData;if(flag) flag=false;if(!file.Open(FileName,CFile::modeRead)) return;fileheader=new BITMAPFILEHEADER[1];infoheader=new BITMAPINFOHEADER[1];file.Read(fileheader,sizeof(BITMAPFILEHEADER));if(fileheader->bfType!=0x4D42) return;file.Read(infoheader,sizeof(BITMAPINFOHEADER));if(infoheader->biCompression!=0) return;linebytes=WIDTHBYTES(infoheader->biBitCount*infoheader->biWidth);if(infoheader->biBitCount==8){pal=new RGBQUAD[256];BMPData=new BYTE[linebytes*infoheader->biHeight];file.Read(pal,256*4);file.Read(BMPData,linebytes*infoheader->biHeight);flag=true;}else if(infoheader->biBitCount==24){BMPData=newBYTE[linebytes*infoheader->biHeight];file.Read(BMPData,linebytes*infoheader->biHeight);flag=true;}else return;file.Close();UpdateAllViews(NULL);}}//结果截图六.实验小结BMP文件格式比一开始做的DAT文件复杂,有一个文件头来记录相关的图片信息,而且文件里图片的存储方式是和正常的扫描顺序相反的,也就是说输出的时候要倒过来输出,所以也需要注意。

南昌大学 数字图像处理实验程序2~7所有打包

南昌大学 数字图像处理实验程序2~7所有打包

说明:程序都是经过调试很久后弄上来的,是最后的上交给老师的版本,昌大学弟学妹们可放心使用~!实验二、图像灰度变换、图像取反、直方图均衡%% 图像灰度变换a = imread('G:\shuzituxiangshiyan\1\me.jpg');A=rgb2gray(a);stretchlim(A); %看看原图本来的灰度范围.B = imadjust(A,stretchlim(A),[]); %默认为[0 1]C=GrayTransf(A,0,1); %调用自己编写的GrayTransf函数.D=imadjust(A,stretchlim(A),[0.1 0.8]); %灰度变换至[0. 0.8]E=GrayTransf(A,0.1,0.8); %调用自己编写的GrayTransf函数.figure(1);subplot(3,2,1),imshow(a),title('原图');subplot(3,2,2),imshow(A),title('灰度原图');subplot(3,2,3),imshow(B),title('变换到区间[0 1]图');subplot(3,2,4),imshow(C),title('调用函数变换到区间[0 1]图');subplot(3,2,5),imshow(D),title('变换到区间[0.1 0.8]图');subplot(3,2,6),imshow(E),title('调用函数变换到区间[0.1 0.8]图');%% 图像取反a = imread('G:\shuzituxiangshiyan\1\me.jpg');A=rgb2gray(a);d=A;[m,n]=size(d);fori=1:mfor j=1:ne(i,j)=255-d(i,j); %用225减像素值,实现黑白转换.endendfigure(2);subplot(2,2,1);imshow(d);title('原始灰度图');subplot(2,2,2);imshow(e);title('反变换图像');subplot(2,2,3);imhist(d);title('反变换图像灰度分布');subplot(2,2,4);imhist(e);title('反变换图像灰度分布');%% 另一种反变换a = imread('G:\shuzituxiangshiyan\1\me.jpg');A=rgb2gray(a);f=A;g=imadjust(f,[],[1 0]); %前面那个中括号,默认是[0 1],后面调整为[1 0],相当于是反过来了. figure(3);subplot(2,2,1);imshow(f);title('原始灰度图像');subplot(2,2,2);imshow(g);title('反变换图像');subplot(2,2,3);imhist(f);title('图像灰度分布');subplot(2,2,4);imhist(g);title('反变换图像灰度分布');%% 再一种反变换a = imread('G:\shuzituxiangshiyan\1\me.jpg');A=rgb2gray(a);h=A;i=ones(2,1); %定义一个一行两列的矩阵.i=stretchlim(h); %把原灰度图像的灰度级敢为矩阵赋值给a矩阵. a是个列矩阵.j=i'; %转为行矩阵.k=[0,1;1,0];l=j*k; %实现矩阵值调换,即[x y]变为[y x]J = imadjust(h,i,l);figure(4);subplot(2,2,1);imshow(h);title('原灰度图像');subplot(2,2,2);imshow(J);title('反变换图像');subplot(2,2,3);imhist(h);title('灰度图像');subplot(2,2,4);imhist(J);title('反变换图像');%% Gamma变换a = imread('G:\shuzituxiangshiyan\1\me.jpg');A=rgb2gray(a);m=A;O=GrayGamma(m,0.5);P=GrayGamma(m,1);Q=GrayGamma(m,2);figure(5);subplot(2,2,1);imshow(m);title('原灰度图像');subplot(2,2,3);imshow(O);title('r=0.5');subplot(2,2,2);imshow(P);title('r=1');subplot(2,2,4);imshow(Q);title('r=2');figure(6);subplot(2,2,1);imhist(m);title('原灰度图像');subplot(2,2,3);imhist(O);title('r=0.5');subplot(2,2,2);imhist(P);title('r=1');subplot(2,2,4);imhist(Q);title('r=2');[r s]=size(m);M=reshape(m,1,r*s);p=reshape(P,1,r*s);o=reshape(O,1,r*s);q=reshape(Q,1,r*s);figure(7);plot(M,o,'r');hold onplot(M,p,'g');hold onplot(M,q,'b');title('r=2红,r=1绿,r=2蓝');figure(8);subplot(2,2,1);plot(M,o,'r');title('r=0.5');subplot(2,2,2);plot(M,p,'g');title('r=1');subplot(2,2,3);plot(M,q,'b');title('r=2');%% 直方图均衡a = imread('G:\shuzituxiangshiyan\1\LH.jpg'); % 这里故意选择了比较暗一点的图像实验!A=rgb2gray(a);n=A;R=GrayEqualize(n);figure(9);subplot(2,2,1);imshow(n);title('原灰度图像');subplot(2,2,3);imhist(n);title('原图像灰度直方图');subplot(2,2,2);imshow(R);title('均衡后灰度图');subplot(2,2,4);imhist(R);title('均衡后灰度直方图');figure(10);subplot(2,2,1);imshow(n);title('原灰度图像');o=histeq(n);subplot(2,2,3);imhist(n);title('原图像灰度直方图');subplot(2,2,2);imshow(o);title('均衡后灰度图');subplot(2,2,4);imhist(o);title('自带均衡函数灰度直方图');imwrite(o,'megrayeq.jpg'); % imwrite(tu,'tudemingzi.jpg'); %imwrite()有保存图的功能.保存在程序一起的文件夹下面.% % 直方图均衡方法的基本原理是:对在图像中像素个数多的灰度值(即对画面起主要作用的灰度值)进行展宽.% % 而对像素个数少的灰度值(即对画面不起主要作用的灰度值)进行归并。

南昌大学-数字图像处理实验报告1-8(全)

南昌大学-数字图像处理实验报告1-8(全)

NANCHANG UNIVERSITY数字图象处理实验报告专业:通信工程班级:121班学号:6100212024学生姓名:徐万然2015年4月20日目录实验1:图像信号的数字化实验2:图像灰度级修正实验3:图像的平滑滤波实验4:图像的锐化处理实验5:图像的伪彩色处理实验6:图像的几何变化实验7:图像的复原处理实验8:图像的正交变换实验一:图像信号的数字化一、实验目的通过本实验了解图像的数字化参数取样频率(象素个数)、量化层数与图像质量的关系。

二、实验内容编写并调试图像数字化程序,要求参数k,n 可调。

其中k为亚抽样比例;n 为量化比特数;选择任意图像进行处理,在显示器上观察各种数字化参数组合下的图像效果。

三、实验程序f=imread('Water lilies.jpg');%读入一张图片f1=rgb2gray(f);%将rgb值转换为灰度图subplot(3,3,1),imshow(f),title('灰度图');%显示这幅图像f2=im2bw(f1);%将图像转换为二值图subplot(3,3,2),imshow(f2),title('二值图');%显示这幅图像f3=~f2;%对图像进行取反操作subplot(3,3,3),imshow(f3),title('取反图');%显示这幅图像f4=imnoise(f,'gaussian');%subplot(3,3,4),imshow(f4),title('加高斯噪声图');%对象进行预操作,加入高斯噪声h=ones(5,5)/25;%设计一个5*5的均值滤波器f5=imfilter(f4,h);%对图像进行均值滤波subplot(3,3,5),imshow(f5),title('平滑滤波图');%显示这幅图像f6=imadjust(f,[0,1],[0,1]);%对图像灰度值进行归一化处理subplot(3,3,6),imshow(f6),title('灰度级修正图1');%显示这幅图像f7=imadjust(f,[0,0.8],[0,1]);%降低输入的灰度值subplot(3,3,7),imshow(f7),title('灰度级修正图2');%显示这幅图像四、实验结果五、实验分析及心得通过本次的实验,我学会了使用MA TLAB来进行简单图像处理的步骤。

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告数字图像处理实验报告实验⼀数字图像基本操作及灰度调整⼀、实验⽬的1)掌握读、写图像的基本⽅法。

2)掌握MATLAB语⾔中图像数据与信息的读取⽅法。

3)理解图像灰度变换处理在图像增强的作⽤。

4)掌握绘制灰度直⽅图的⽅法,理解灰度直⽅图的灰度变换及均衡化的⽅法。

⼆、实验内容与要求1.熟悉MATLAB语⾔中对图像数据读取,显⽰等基本函数特别需要熟悉下列命令:熟悉imread()函数、imwrite()函数、size()函数、Subplot()函数、Figure()函数。

1)将MATLAB⽬录下work⽂件夹中的forest.tif图像⽂件读出.⽤到imread,imfinfo等⽂件,观察⼀下图像数据,了解⼀下数字图像在MATLAB中的处理就是处理⼀个矩阵。

将这个图像显⽰出来(⽤imshow)。

尝试修改map颜⾊矩阵的值,再将图像显⽰出来,观察图像颜⾊的变化。

2)将MATLAB⽬录下work⽂件夹中的b747.jpg图像⽂件读出,⽤rgb2gray()将其转化为灰度图像,记为变量B。

2.图像灰度变换处理在图像增强的作⽤读⼊不同情况的图像,请⾃⼰编程和调⽤Matlab函数⽤常⽤灰度变换函数对输⼊图像进⾏灰度变换,⽐较相应的处理效果。

3.绘制图像灰度直⽅图的⽅法,对图像进⾏均衡化处理请⾃⼰编程和调⽤Matlab函数完成如下实验。

1)显⽰B的图像及灰度直⽅图,可以发现其灰度值集中在⼀段区域,⽤imadjust函数将它的灰度值调整到[0,1]之间,并观察调整后的图像与原图像的差别,调整后的灰度直⽅图与原灰度直⽅图的区别。

2) 对B 进⾏直⽅图均衡化处理,试⽐较与源图的异同。

3) 对B 进⾏如图所⽰的分段线形变换处理,试⽐较与直⽅图均衡化处理的异同。

图1.1 分段线性变换函数三、实验原理与算法分析1. 灰度变换灰度变换是图像增强的⼀种重要⼿段,它常⽤于改变图象的灰度范围及分布,是图象数字化及图象显⽰的重要⼯具。

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告数字图像处理实验报告一、引言数字图像处理是计算机科学与工程领域中的一个重要研究方向。

通过使用数字化技术,对图像进行采集、传输、存储和处理,可以实现对图像的增强、恢复、分析和识别等功能。

本实验旨在通过对数字图像处理算法的实践应用,探索图像处理的原理和方法。

二、实验目的本实验的主要目的是掌握数字图像处理的基本概念和算法,并通过实际操作加深对图像处理原理的理解。

具体目标包括:1. 学习使用图像处理软件,如Photoshop或Matlab等。

2. 掌握图像增强的方法,如直方图均衡化、滤波和锐化等。

3. 理解图像压缩和编码的原理,如JPEG和PNG等格式。

4. 了解图像分割和边缘检测的基本算法,如阈值分割和Canny边缘检测等。

三、实验过程1. 图像增强图像增强是指通过一系列算法和技术,改善图像的质量和视觉效果。

在实验中,我们可以使用直方图均衡化算法来增强图像的对比度和亮度。

该算法通过将图像的像素值映射到一个更大的范围内,使得图像的亮度分布更加均匀。

2. 图像滤波图像滤波是指通过一系列滤波器对图像进行处理,以实现去噪、平滑和锐化等效果。

在实验中,我们可以使用平滑滤波器(如均值滤波器和高斯滤波器)来去除图像中的噪声。

同时,我们还可以使用锐化滤波器(如拉普拉斯滤波器和Sobel滤波器)来增强图像的边缘和细节。

3. 图像压缩和编码图像压缩是指通过减少图像的数据量来减小图像文件的大小,从而实现存储和传输的效率提升。

在实验中,我们可以使用JPEG和PNG等压缩算法来对图像进行压缩和编码。

JPEG算法通过对图像的频域进行离散余弦变换和量化,实现对图像的有损压缩。

而PNG算法则采用无损压缩的方式,通过对图像的差值编码和哈夫曼编码,实现对图像的高效压缩。

4. 图像分割和边缘检测图像分割是指将图像分成若干个区域,以实现对图像的目标提取和图像分析的目的。

而边缘检测是指通过检测图像中的边缘和轮廓,实现对图像的形状分析和目标识别。

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

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

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

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

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

(2)非线性滤波器数字图像处理中最著名的统计排序滤波器是中值滤波器,MATLAB工具箱提供了二维中值滤波函数medfilt2,语法为:g = medfilt2(f, [m n], padopt) [m n]n]定义了一个大小为m×n的邻域,中值就在该邻域上计算;而参数padopt指矩阵[m 定了三个可能的边界填充选项:’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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告三
姓名:胡文松学号: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]的数。

alpha默认为0.5。

三.实验内容及结果
(1)选择一副图像fig620.jpg,分别选择3×3,7×7,25×25等平均模板进行均值滤波模糊处理,并对不同尺寸的滤波器模板操作后的图像进行比较。

(1)选择一副图像fig620.jpg,分别选择3×3,7×7,25×25等平均模板进行高斯滤波模糊处理,并对不同尺寸的滤波器模板操作后的图像进行比较。

(2)选择一副图像circuit.jpg,对图像加入椒盐噪声,检验两种滤波模板(3×3平均模板和3×3的非线性模板中值滤波器)对噪声的滤波效果。

源程序和结果:
clc;
%--------------------进行均值滤波模糊处理--------------------
I=imread('E:\教学材料\数字图像处理\图片\fig620.jpg');
figure;
subplot(2,2,1); imshow(I); title('原图'); %输出原图
Y1=imfilter(I,fspecial('average',3)); %进行3×3模板的均值滤波
Y2=imfilter(I,fspecial('average',7)); %进行7×7模板的均值滤波
Y3=imfilter(I,fspecial('average',25)); %进行25×25模板的均值滤波subplot(2,2,2); imshow(Y1);title('3×3模板均值滤波');
subplot(2,2,3); imshow(Y2);title('7×7模板均值滤波');
subplot(2,2,4); imshow(Y3);title('25×25模板均值滤波');
%------------------进行高斯滤波模糊处理---------------------
OriImage=imread('E:\教学材料\数字图像处理\图片\fig620.jpg');
figure;
subplot(2,2,1); imshow(OriImage); title('原图'); %输出原图
sigma =1.6; %设置标准差grayImg=rgb2gray(OriImage);
gausFilter1 = fspecial('gaussian',[3 3],sigma); %进行3×3模板的高斯滤波gausFilter2 = fspecial('gaussian',[7 7],sigma); %进行3×3模板的高斯滤波gausFilter3 = fspecial('gaussian',[25 25],sigma); %进行3×3模板的高斯滤波blur1=imfilter(grayImg,gausFilter1,'replicate');
blur2=imfilter(grayImg,gausFilter2,'replicate');
blur3=imfilter(grayImg,gausFilter3,'replicate');
subplot(2,2,2); imshow(blur1);title('3×3模板高斯滤波');
subplot(2,2,3); imshow(blur2);title('7×7模板高斯滤波');
subplot(2,2,4); imshow(blur3);title('25×25模板高斯滤波');
%------------加入椒盐噪声并检验两种滤波模板的滤波效果----------------
I=imread('E:\教学材料\数字图像处理\图片\circuit.jpg');
I=rgb2gray(I); %将真彩图像转化成灰度图像J=imnoise(I,'salt & pepper',0.02); %对指定的图像加入椒盐噪声
figure;
subplot(2,2,1); imshow(I); title('原图');
subplot(2,2,2); imshow(J); title('噪声图像');
K1=imfilter(J,fspecial('average',3)); %对图像进行均值模版滤波subplot(2,2,3); imshow(K1); title('平均模板滤波图像');
L=medfilt2(J,[3 3]); %中值滤波
subplot(2,2,4); imshow(L); title('非线性模板中值滤波图像'); 运行上述程序,得到以下图像:
图一
图二
图三
四、结果分析
(1)图一:采用均值滤波器对图像处理能达到去噪的效果,并且一般滤波器的模板越大去噪效果越好,但是应该适中,当模板选择的过大时,处理的效果就会下降,因此我们应该根据具体的要求选择合适的模板来处理图像。

(2)图二:采用高斯滤波器对图像处理能达到去噪的效果,与均值滤波器相同,随着所用的滤波器尺寸的增大,图像的细节锐化程度相应降低图像变得模糊起来。

但相较于均值滤波器,其模糊程度较小。

但是高斯滤波同时受到标准差sigma的影响。

(3)图三:中值滤波对去除“椒盐”噪声可以起到很好的效果,因为椒盐噪声只在画面中的部分点上随机出现,所以根据中值滤波原理可知,通过数据排序的方法,将图像中未被噪声污染的点代替噪声点的值的概率比较大,因此噪声的抑制效果很好。

中值滤波与均值滤波相比,在去除图像椒盐噪声的同时,还能够保持图像比较清晰的轮廓。

从实验结果可以看出,通过3*3的均值滤波器,图像中的噪声点有明显的消除。

但是3*3的非线性模板中值滤波器上对噪声的滤除效果更完美。

相关文档
最新文档