武汉科技大学 数字图像处理实验报告讲解
数字图像处理实验报告

数字图像处理实验报告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);实验结论通过本次实验,我已经能够理解数字图像处理的基本概念与原理,掌握数字图像处理的基本方法,熟练应用数字图像处理软件进行图像处理。
数字图像处理实验报告

数字图像处理实验报告实验⼀、图像的显⽰与格式变换1、实验⽬的1)熟悉常⽤的图像⽂件格式与格式转换;2)熟悉图像矩阵的显⽰⽅法(灰度、索引、⿊⽩、彩⾊);3)熟悉图像矩阵的格式转换2、实验内容练习图像读写命令imread和imwrite并进⾏图像⽂件格式间的转换。
特别是索引图像与1,4,8,16⽐特图像的存储与转换。
3、实验步骤a.⽤图像读命令(imread)从你的硬盘中读取图像(cameramen.tif);b.⽤图像显⽰功能(imshow)将刚读⼊的图像显⽰在⼀图像窗中;c.显⽰颜⾊条功能(colorbar)在图像的左边画⼀条颜⾊亮度显⽰条;d.⽤(imfinfo)功能得到(gray.bmp)图像的相关信息;e.⽤(colormap )获取当前图像的调⾊板,观察调⾊板中的颜⾊设置;f.⽤(getimage)功能从坐标轴取得当前图像数据;g.⽤(imagesc)功能显⽰图像从64-128的灰度值;h. ⽤(immovie)功能将⼀个4-D 图像创建多帧索引图的电影动画;i. ⽤(warp)功能将图像('testpat1.tif)显⽰到纹理映射柱⾯;思考:怎样让(cameraman.tif)图像如下图⼀样显⽰?四.实验结果及代码a.代码:>>X=imread(‘cameraman.tif’)b.代码:>>y=imshow(X)显⽰的图像为:c、代码:>>I = colorbar('cameraman.tif')H=imshow('cameraman.tif')显⽰的图像为d、代码:>>info=imfinfo(‘gray.bmp')显⽰结果为:Filename: [1x71 char]FileModDate: '16-Apr-2010 11:23:52'FileSize: 107786Format: 'bmp'FormatV ersion: 'V ersion 3 (Microsoft Windows 3.x)' Width: 409Height: 259BitDepth: 8ColorType: 'indexed'FormatSignature: 'BM'NumColormapEntries: 256Colormap: [256x3 double]RedMask: []GreenMask: []BlueMask: []ImageDataOffset: 1078BitmapHeaderSize: 40NumPlanes: 1CompressionType: 'none'BitmapSize: 106708HorzResolution: 0V ertResolution: 0NumColorsUsed: 0NumImportantColors: 0e、代码:>>x=imread(‘256.bmp’)color1=colormap %获取当前图象的调⾊板image (x)info=imfinfo(’256.bmp’)color2=info.Colormap %注意观察调⾊板有多少种颜⾊colormap(color2)f、代码:>>I=getimageg、代码:>> imagesc(x,[64 128])h、代码:>> load mri;mov = immovie(D,map); movie(mov,3)显⽰图像为:i.源代码:>>[x,y,z]=cylinder;I= imread('testpat1.tif');warp(x,y,z,I),图像显⽰为:思考:代码:>>X=inread('cameramen.tif'); Y=[X X];[x,-y,z]=cylinder;I=imread(Y);warp(x,y,z,I)显⽰图像为:实验⼆、图像增强⼀、实验⽬的1.理解图像直⽅图的含义;2.了解直⽅图的应⽤;3.掌握直⽅图均衡化的实现⽅法。
《数字图像处理》实验报告

《数字图像处理》实验报告数字图像处理是一门将图像进行数字化处理的学科,它通过计算机算法和技术手段对图像进行分析、增强、压缩和重建等操作。
在本次实验中,我们学习了数字图像处理的基本概念和常用算法,并通过实验来探索其应用和效果。
首先,我们进行了图像的读取和显示实验。
通过使用Python中的OpenCV库,我们能够轻松地读取图像文件,并将其显示在屏幕上。
这为我们后续的实验奠定了基础。
同时,我们还学习了图像的像素表示方法,了解了图像由像素点组成的原理。
这使我们能够更好地理解后续实验中的算法和操作。
接下来,我们进行了图像的灰度化实验。
灰度化是将彩色图像转换为灰度图像的过程。
在实验中,我们使用了不同的算法来实现灰度化操作,包括平均值法、最大值法和加权平均法等。
通过比较不同算法得到的灰度图像,我们发现不同算法对图像的处理效果有所差异,这使我们深入理解了灰度化的原理和应用。
随后,我们进行了图像的直方图均衡化实验。
直方图均衡化是一种用于增强图像对比度的方法。
在实验中,我们使用了直方图均衡化算法来对图像进行处理,并观察了处理前后的效果变化。
通过实验,我们发现直方图均衡化能够显著提高图像的对比度,使图像更加清晰和鲜明。
在进一步探索图像处理技术的过程中,我们进行了图像的滤波实验。
滤波是一种常用的图像处理操作,它通过对图像进行卷积操作来实现。
在实验中,我们学习了不同类型的滤波器,包括均值滤波器、高斯滤波器和中值滤波器等。
通过比较不同滤波器对图像的处理效果,我们发现每种滤波器都有其适用的场景和效果。
此外,我们还进行了图像的边缘检测实验。
边缘检测是一种用于提取图像边缘信息的方法。
在实验中,我们学习了不同的边缘检测算法,包括Sobel算子、Canny算子和Laplacian算子等。
通过比较不同算法对图像的处理效果,我们发现每种算法都有其独特的特点和应用。
最后,我们进行了图像的压缩实验。
图像压缩是一种将图像数据进行压缩以减小文件大小的方法。
数字图像处理实验报告(全答案解析)..

数字图像处理实验报告(全答案解析)..实验⼀常⽤MATLAB图像处理命令⼀、实验⽬的1、熟悉并掌握MATLAB⼯具的使⽤;2、实现图像的读取、显⽰、代数运算和简单变换。
⼆、实验环境MATLAB 6.5以上版本、WIN XP或WIN2000计算机三、常⽤函数●读写图像⽂件1 imreadimread函数⽤于读⼊各种图像⽂件,如:a=imread('e:\w01.tif')2 imwriteimwrite函数⽤于写⼊图像⽂件,如:imwrite(a,'e:\w02.tif',’tif’)3 imfinfoimfinfo函数⽤于读取图像⽂件的有关信息,如:imfinfo('e:\w01.tif') ●图像的显⽰1imageimage函数是MATLAB提供的最原始的图像显⽰函数,如: a=[1,2,3,4;4,5,6,7;8,9,10,11,12]; image(a);2 imshowimshow函数⽤于图像⽂件的显⽰,如:i=imread('e:\w01.tif');imshow(i);title(‘原图像’)%加上图像标题3 colorbarcolorbar函数⽤显⽰图像的颜⾊条,如:i=imread('e:\w01.tif');imshow(i);colorbar;4 figurefigure函数⽤于设定图像显⽰窗⼝,如:figure(1); /figure(2);5 subplot把图形窗⼝分成多个矩形部分,每个部分可以分别⽤来进⾏显⽰。
Subplot(m,n,p)分成m*n个⼩窗⼝,在第p个窗⼝中创建坐标轴为当前坐标轴,⽤于显⽰图形。
6 plot绘制⼆维图形plot(y)Plot(x,y)xy可以是向量、矩阵。
图像类型转换1 rgb2gray//灰⾊把真彩图像转换为灰度图像i=rgb2gray(j)2 im2bw//⿊⽩通过阈值化⽅法把图像转换为⼆值图像I=im2bw(j,level)Level表⽰灰度阈值,取值范围0~1(即0.n),表⽰阈值取⾃原图像灰度范围的n%3 imresize改变图像的⼤⼩I=imresize(j,[m n])将图像j⼤⼩调整为m⾏n列图像运算1 imadd两幅图像相加,要求同样⼤⼩,同种数据类型Z=imadd(x,y)表⽰图像x+y2 imsubstract两幅图像相减,要求同样⼤⼩,同种数据类型Z=imsubtract(x,y)表⽰图像x-y3 immultiplyZ=immultiply(x,y)表⽰图像x*y4 imdivideZ=imdivide(x,y)表⽰图像x/y5:m = imadjust(a,[,],[0.5;1]) ;%图像变亮n = imadjust(a,[,],[0;0.5]) ;%图像变暗g=255-a;%负⽚效果四、实验内容(请将实验程序填写在下⽅合适的位置,实验图像结果拷屏粘贴)1、读⼊⼀幅RGB图像,变换为灰度图像和⼆值图像,并在同⼀个窗⼝内分成三个⼦窗⼝来分别显⽰RGB图像和灰度图像,注上⽂字标题。
数字图像处理实验报告材料

数字图像处理试验报告实验二:数字图像的空间滤波和频域滤波姓名:XX 学号:2XXXXXXX 实验日期:2017 年4月26 日1.实验目的1.掌握图像滤波的基本定义及目的。
2.理解空间域滤波的基本原理及方法。
3.掌握进行图像的空域滤波的方法。
4.掌握傅立叶变换及逆变换的基本原理方法。
5.理解频域滤波的基本原理及方法。
6.掌握进行图像的频域滤波的方法。
2.实验内容与要求1.平滑空间滤波:1)读出一幅图像,给这幅图像分别加入椒盐噪声和高斯噪声后并与前一张图显示在同一图像窗口中。
2)对加入噪声图像选用不同的平滑 (低通)模板做运算,对比不同模板所形成的效果,要求在同一窗口中显示。
3)使用函数imfilter 时,分别采用不同的填充方法 (或边界选项,如零填充、' replicate '、' symmetric'、' circular ')进行低通滤波,显示处理后的图像。
4)运用for 循环,将加有椒盐噪声的图像进行10 次,20 次均值滤波,查看其特点, 显示均值处理后的图像(提示:利用fspecial 函数的' average '类型生成均值滤波器)。
5)对加入椒盐噪声的图像分别采用均值滤波法,和中值滤波法对有噪声的图像做处理,要求在同一窗口中显示结果。
6)自己设计平滑空间滤波器,并将其对噪声图像进行处理,显示处理后的图像。
2.锐化空间滤波1)读出一幅图像,采用 3 X3的拉普拉斯算子w = [ 1, 1, 1; 1 -8 1; 1, 1,1]对其进行滤波。
2)编写函数w = genlaplacian(n) ,自动产生任一奇数尺寸n 的拉普拉斯算子,如 5 X5的拉普拉斯算子w = [ 1 1 1 1 11 1 1 1 11 1 -24 1 11 1 1 1 1分别采用1 1 1 11]5 X5, 9 X9, 15 X’ 5 和25 X25 大小的拉普拉斯算子对 b lurry_moon.tif3)进2 ..行锐化滤波,并利用式g(x, y) f (x, y) f (x, y)完成图像的锐化增强,观察其有何不同,要求在同一窗口中显示。
数字图像处理实验报告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 是与滤波器种类有关的具体参数。
数字图像处理 实验报告(完整版)

数字图像处理实验一 MATLAB数字图像处理初步一、显示图像1.利用imread( )函数读取一幅图像,假设其名为lily.tif,存入一个数组中;2.利用whos 命令提取该读入图像flower.tif的基本信息;3.利用imshow()函数来显示这幅图像;实验结果如下图:源代码:>>I=imread('lily.tif')>> whos I>> imshow(I)二、压缩图像4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为lily.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。
6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flily.bmp。
7.用imread()读入图像Sunset.jpg和Winter.jpg;8.用imfinfo()获取图像Sunset.jpg和Winter.jpg的大小;9.用figure,imshow()分别将Sunset.jpg和Winter.jpg显示出来,观察两幅图像的质量。
其中9的实验结果如下图:源代码:4~6(接上面两个) >>I=imread('lily.tif')>> imfinfo 'lily.tif';>> imwrite(I,'lily.jpg','quality',20);>> imwrite(I,'lily.bmp');7~9 >>I=imread('Sunset.jpg');>>J=imread('Winter.jpg')>>imfinfo 'Sunset.jpg'>> imfinfo 'Winter.jpg'>>figure(1),imshow('Sunset.jpg')>>figure(2),imshow('Winter.jpg')三、二值化图像10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二○一四~二○一五学年第一学期电子信息工程系实验报告书班级:电子信息工程(DB)1102班姓名学号:课程名称:数字图像处理二○一四年十一月一日实验一图像直方图处理及灰度变换(2学时)实验目的:1. 掌握读、写、显示图像的基本方法。
2. 掌握图像直方图的概念、计算方法以及直方图归一化、均衡化方法。
3. 掌握图像灰度变换的基本方法,理解灰度变换对图像外观的改善效果。
实验内容:1. 读入一幅图像,判断其是否为灰度图像,如果不是灰度图像,将其转化为灰度图像。
2. 完成灰度图像的直方图计算、直方图归一化、直方图均衡化等操作。
3. 完成灰度图像的灰度变换操作,如线性变换、伽马变换、阈值变换(二值化)等,分别使用不同参数观察灰度变换效果(对灰度直方图的影响)。
实验步骤:1. 将图片转换为灰度图片,进行直方图均衡,并统计图像的直方图:I1=imread('pic.jpg'); %读取图像I2=rgb2gray(I1); %将彩色图变成灰度图subplot(3,2,1);imshow(I1);title('原图');subplot(3,2,3);imshow(I2);title('灰度图');subplot(3,2,4);imhist(I2); %统计直方图title('统计直方图');subplot(3,2,5);J=histeq(I2); %直方图均衡imshow(J);title('直方图均衡');subplot(3,2,6);imhist(J);title('统计直方图');原图灰度图0100020003000统计直方图100200直方图均衡0统计直方图100200仿真分析:将灰度图直方图均衡后,从图形上反映出细节更加丰富,图像动态范围增大,深色的地方颜色更深,浅色的地方颜色更前,对比更鲜明。
从直方图上反应,暗部到亮部像素分布更加均匀。
2. 将图片进行阈值变换和灰度调整,并统计图像的直方图: I1=imread('rice.png');I2=im2bw(I1,0.5); %选取阈值为0.5I3=imadjust(I1,[0.3 0.9],[]); %设置灰度为0.3-0.9 subplot(3,2,1);imshow(I1); title('原图'); subplot(3,2,3);imshow(I2); title('阈值变换'); subplot(3,2,5);imshow(I3); title('灰度调整'); subplot(3,2,2);imhist(I1); title('统计直方图'); subplot(3,2,4);imhist(I2); title('统计直方图'); subplot(3,2,6);imhist(I3); title('统计直方图');原图阈值变换灰度调整统计直方图10020004统计直方图1010002000统计直方图100200仿真分析:进行阈值变换后,图像上只有“黑”和“白”两种颜色,原图中颜色过渡的细节没有了,但是亮部和暗部之间的对比更加强烈了;从直方图上可以看到像素集中“黑”与“白”两个部分,而两者之间是没有像素的。
进行灰度调整后,无论从图像上反映还是从值方图上反映,都能看出像素的亮度整体上有所改变。
3.对图像进行伽马变换: I=imread('coffee.jpg'); J=im2double(I);H1=power(J+10.^(-100),0.4); %进行伽马值为0.4的伽马变换 H2=power(J+10.^(-100),0.6); %进行伽马值为0.6的伽马变换 H3=power(J+10.^(-100),0.8); %进行伽马值为0.8的伽马变换 H4=power(J,2); %进行伽马值为3的伽马变换 H5=power(J,3); %进行伽马值为4的伽马变换 H6=power(J,4); %进行伽马值为5的伽马变换 figure(1)subplot(2,2,1)imshow(I); title('原图');subplot(2,2,2)imshow(H1); title('伽马值0.4');subplot(2,2,3)imshow(H2); title('伽马值0.6');subplot(2,2,4)imshow(H3); title('伽马值0.8');figure(2)subplot(2,2,1)imshow(I); title('原图');subplot(2,2,2)imshow(H4); title('伽马值2');subplot(2,2,3)imshow(H5); title('伽马值3');subplot(2,2,4)imshow(H6); title('伽马值4');原图伽马值0.4伽马值0.6伽马值0.8伽马值2伽马值3伽马值4仿真分析:该图片为亮图片,而伽马值小于1时会增加图片亮度,伽马值大于1时会降低图片亮度,对亮图片使用伽马值大于1的效果明显更好,从实际仿真效果来看,当伽马值过大时会导致整个图片亮度严重下降,图片细节有所丢失,此幅图最适合伽马值为2左右的伽马变换。
实验总结:此次实验是第一次进行“数字图像处理”的实验,由于较长一段时间没有使用MATLAB,导致在实验开始时操作比较生疏,再加上对数字图像处理的相关代码不够熟练,整个实验做得比较慢。
总体而言,本次的实验内容比较简单,通过一系列基本的命令实现了由彩色图像、转换为黑白图像、灰度调整、阀值变换、直方图均衡和统计直方图等一系列功能,命令中并无太多的参数修改,结果也直观可见,通过这些实验内容,让我初步对一些图像的处理效果有了一定的认识。
实验二图像平滑(2学时)实验目的:1. 理解图像平滑的概念,掌握噪声模拟和图像平滑滤波函数的使用方法。
2. 理解图像均值滤波、中值滤波、高斯滤波的算法原理,了解不同滤波方法的适用场合。
实验内容:1. 对给定的同一幅图像,加上不同强度的高斯噪声,分别使用均值滤波器、中值滤波器、高斯平滑滤波器对加噪后的图像进行滤波处理。
2. 对给定的同一幅图像,加上不同强度的椒盐噪声,分别使用均值滤波器、中值滤波器、高斯平滑滤波器对加噪后的图像进行滤波处理。
实验步骤:1. 对给定的同一幅图像,加上不同强度的高斯噪声,分别使用均值滤波器、中值滤波器、高斯平滑滤波器对加噪后的图像进行滤波处理:I1=imread('eight.tif');J1=imnoise(I1,'gaussian',0.02); %添加值为0.02的高斯噪声subplot(3,2,1)imshow(I1); title('原图')subplot(3,2,2)imshow(J1);title('添加高斯噪声')K1=medfilt2(J1); %用中值滤波器进行滤波subplot(3,2,3)imshow(K1);title('用中值滤波器进行滤波')H=fspecial('average',[3 3]);L1=imfilter(J1,H,'replicate'); %用均值滤波器进行滤波subplot(3,2,4)imshow(L1);title('用均值滤波器进行滤波')H=fspecial('gaussia',[3 3],1);M1=imfilter(J1,H,'conv'); %用高斯平滑滤波器进行滤波subplot(3,2,5)imshow(M1);title('用高斯平滑滤波器进行滤波')原图添加高斯噪声用中值滤波器进行滤波用均值滤波器进行滤波用高斯平滑滤波器进行滤波仿真分析:因为高斯噪声是以随机大小的幅度污染所有的点,所以无论中值如何选择效果都不理想,而高斯噪声服从正态分布,均值为0,均值滤波效果更加理想.从图片中明显看到均值滤波对图片背景的还原效果比中值滤波较好吗,高斯平滑滤波效果也较为理想。
2. 对给定的同一幅图像,加上不同强度的椒盐噪声,分别使用均值滤波器、中值滤波器、高斯平滑滤波器对加噪后的图像进行滤波处理:I1=imread('eight.tif');J1=imnoise(I1,'salt & pepper',0.05); %添加值为0.05的椒盐噪声subplot(3,2,1)imshow(I1);title('原图')subplot(3,2,2)imshow(J1);title('添加椒盐噪声')K1=medfilt2(J1); %用中值滤波器进行滤波subplot(3,2,3)imshow(K1);title('用中值滤波器进行滤波')H=fspecial('average',[3 3]);L1=imfilter(J1,H,'replicate'); %用均值滤波器进行滤波subplot(3,2,4)imshow(L1);title('用均值滤波器进行滤波')H=fspecial('gaussia',[3 3],1);M1=imfilter(J1,H,'conv'); %用高斯平滑滤波器进行滤波subplot(3,2,5)imshow(M1);title('用高斯平滑滤波器进行滤波')原图添加椒盐噪声用中值滤波器进行滤波用均值滤波器进行滤波用高斯平滑滤波器进行滤波仿真分析:椒盐噪声只在画面中的部分点上随机出现,所以根据中值滤波原理可知,通过数据排序的方法,将图像中未被噪声污染的点代替噪声点值的概率比较大,所以中值滤波效果非常明显,基本上可以还原出原图。
而因为椒盐噪声均值不为0,所以均值滤波效果不佳,高斯平滑滤波相较而言效果也较差。
实验总结:在有前一次实验经验积累的基础上,此次实验完成速度明显提高,经过上一次实验对MATLAB操作地复习,整体操作也比较流畅。
这次实验的内容仍然比较简单,都是利用MATLAB 自带的算法进行图像处理操作。
在实验过程中,通过对一副图像进项添加噪声和滤波处理,对比了均值滤波器、中值滤波器、高斯平滑滤波器三种滤波方式对不同噪声进行处理时的效果差异;并且通过修改噪声的数值,也可以明显观察到不同滤波器对噪声滤除的效果;也复习了“数字图像处理”和“数字信号处理”的相关知识。