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

合集下载

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告专业:学号:目录实验一MATLAB数字图像处理初步 (1)实验二图像的代数运算 (8)实验三图像增强—灰度变换 (16)实验四图像增强—直方图变换 (18)实验五图像增强—空域滤波 (22)实验六图像的傅立叶变换 (27)实验七图像增强—频域滤波 (32)实验八彩色图像处理 (40)实验九图像分割 (54)实验一 MATLAB数字图像处理初步一、实验目的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。

2.熟练掌握在MATLAB中如何读取图像。

3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。

4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。

5.图像间如何转化。

二、实验原理及知识点1、数字图像的表示和类别图1 图像的采样和量化根据图像数据矩阵解释方法的不同,MATLAB把其处理为4类:亮度图像(Intensity images)二值图像(Binary images)索引图像(Indexed images)RGB图像(RGB images)(1) 亮度图像(2) 二值图像(3) 索引图像(4) RGB图像三、实验内容及步骤1.利用imread( )函数读取一幅图像,假设其名为flower.tif,存入一个数组中;>> i=imread('flower.tif');2.利用whos 命令提取该读入图像flower.tif的基本信息;>>whos iName Size Bytes Class Attributesi 1x1 1 uint83.利用imshow()函数来显示这幅图像;>> imshow(i)4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;>> imfinfo ('flower.tif')ans =Filename:'C:\Program Files\MATLAB\R2011a\bin\flower.tif'FileModDate: '1-Apr-2013 08:32:36'FileSize: 286256Format: 'tif'FormatVersion: []Width: 517Height: 350BitDepth: 24ColorType: 'truecolor' FormatSignature: [73 73 42 0] ByteOrder: 'little-endian' NewSubFileType: 0 BitsPerSample: [8 8 8] Compression: 'PackBits' PhotometricInterpretation: 'RGB' StripOffsets: [70x1 double] SamplesPerPixel: 3 RowsPerStrip: 5 StripByteCounts: [70x1 double] XResolution: 96 YResolution: 96 ResolutionUnit: 'Inch' Colormap: [] PlanarConfiguration: 'Chunky' TileWidth: []TileLength: []TileOffsets: [] TileByteCounts: [] Orientation: 1FillOrder: 1 GrayResponseUnit: 0.0100 MaxSampleV alue: [255 255 255] MinSampleValue: [0 0 0] Thresholding: 1Offset: 285464ImageDescription: 'MATLAB Handle Graphics'5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为flower.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。

数字图像处理实验报告

数字图像处理实验报告

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

数字图像处理实验报告

数字图像处理实验报告

目录实验一:数字图像的基本处理操作 (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()等函数。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-数字图像处理实验报告一、实验名称图像读取和图像直方图统计二、实验目的1.强化巩固《数字图像处理》课程中学习的知识,将理论用于实践。

2.学会利用C++程序语言实现数字图像处理中的“图像读取”和“图像直方图统计”功能,加深对这门课程的理解。

3.为以后更进一步学习数字图像处理的知识打下基础。

三、实验工具安装有VC 软件的电脑一台四、实验步骤(分实验一和实验二)(一)实验一:图像的读取1.按照实验指导书中的构建DIB函数库的方法,将此函数库的代码写进文本文档中,并另存为相应的“.cpp”文件和“.h”文件。

2.新建以“Miaoqi”为名字的工程,设置好相应选项。

3.接下来,在该工程中各个文件中添加相应代码。

点击“FileView”即可打开查看。

1)在“”中添加2)点击“查看”—“建立类向导”,添加“ON_WM_ERASEBKGND()”,“ON_COMMAND(ID_EDIT_COPY,OnEditCopy)”,“ON_COMMAND(ID_EDIT_PASTE,OnEditPaste)”,“ON_UPDATE_COMMAND_UI(ID_EDIT_COPY,OnUpdateEditCopy”, “ON_UPDATE_COMMAND_UI(ID_EDIT_ PASTE,OnUpdateEditPaste”。

并在中设置页数为1。

3)阅读实验指导书50页到页的内容,打开,完成以下函数相应代码的添加,以实现相应函数功能。

“void MiaoqiView::OnDraw(CDC*pDC)”,“BOOL MiaoqiView::OnEraseBkgnd(CDC*pDC) ”,“LRESULT MiaoqiView::OnDoRealize(WPARAM wParam, LPARAM)”,“void MiaoqiView::OnEditCopy()”,“void MiaoqiView::OnInitialUpdate() ”,“void MiaoqiView::CalcWindowRect(LPRECT lpClientRect, UINT nAdjustType)”,“void MiaoqiView::OnEditPaste() ”,“void CMiaoqiView::OnUpdateEditCopy(CCmdUI* pCmdUI) ”,“void CMiaoqiView::OnUpdateEditPaste(CCmdUI* pCmdUI)”,“void CChildFrame::ActivateFrame(int nCmdShow)”等。

数字图像处理实验报告

数字图像处理实验报告

实 验 内 容
3-2 根据直方图定义,通过结构化编程方式给出 3-1)中灰度图像像素点统计形式的直方图,并与利用 函数调用方式获得的直方图在两个不同窗口中进行比较,两窗口图像名称分别为”编程直方图”、”函 数调用直方图”; 参考函数 imread、size、bar、imhist、image I=imread('panda.jpg'); B=rgb2gray(I); A=uint8(B); [m n]=size(B); s=zeros(m,n); for i=1:m for j=1:n for rank=0:255 if B(i,j)==rank s(rank+1)=s(rank+1)+1; end
在水平和垂直方 列的方式同时显
I=imread('panda.jpg');
subplot(1,3,1);imshow(I)
subplot(1,3,2);imshow(I)
colorbar
subplot(1,3,3);imshow(I)
colorbar('horizontal')
实 验 1)、实验采用的原始图片要求是包含自己头像的照片,图片大小控制在 640×480 之内; 要 2)、实验中的当前工作目录采用 MATLAB 目录下的 work 文件夹。 求
学号
12109940423 指导教师
实验地点
1C06-329
实验成绩
图像灰度统计特性及其相关变换
12 级 1 班 杜云明
实 理解直方图的形成原理,掌握绘制灰度直方图的方法;熟悉图像灰度直方图的变换及直方图均衡化方 验 法;理解图像灰度变换处理在图像增强中的作用;熟悉图像灰度分布统计与图像视觉质量之间的关系; 目 通过工具箱函数调用和结构化编程两种方式实现图像的相关处理,在加深理解基本原理的同时,提高 的 编程实践的技巧和能力。

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告数字图像处理实验报告1一. 实验内容:主要是图像的几何变换的编程实现,具体包括图像的读取、改写,图像平移,图像的镜像,图像的转置,比例缩放,旋转变换等.具体要求如下:1.编程实现图像平移,要求平移后的图像大小不变;2.编程实现图像的镜像;3.编程实现图像的转置;4.编程实现图像的比例缩放,要求分别用双线性插值和最近邻插值两种方法来实现,并比较两种方法的缩放效果;5.编程实现以任意角度对图像进行旋转变换,要求分别用双线性插值和最近邻插值两种方法来实现,并比较两种方法的旋转效果.二.实验目的和意义:本实验的目的是使学生熟悉并掌握图像处理编程环境,掌握图像平移、镜像、转置和旋转等几何变换的方法,并能通过程序设计实现图像文件的读、写操作,及图像平移、镜像、转置和旋转等几何变换的程序实现.三.实验原理与主要框架:3.1 实验所用编程环境:Visual C++(简称VC)是微软公司提供的基于C/C++的应用程序集成开发工具.VC拥有丰富的功能和大量的扩展库,使用它能有效的创建高性能的Windows应用程序和Web应用程序.VC除了提供高效的C/C++编译器外,还提供了大量的可重用类和组件,包括著名的微软基础类库(MFC)和活动模板类库(ATL),因此它是软件开发人员不可多得的开发工具.VC丰富的功能和大量的扩展库,类的重用特性以及它对函数库、DLL库的支持能使程序更好的模块化,并且通过向导程序大大简化了库资源的使用和应用程序的开发,正由于VC具有明显的优势,因而我选择了它来作为数字图像几何变换的开发工具.在本程序的开发过程中,VC的核心知识、消息映射机制、对话框控件编程等都得到了生动的体现和灵活的应用.3.2 实验处理的对象:256色的BMP(BIT MAP )格式图像BMP(BIT MAP )位图的文件结构:具体组成图: BITMAPFILEHEADER位图文件头(只用于BMP文件) bfType=BM bfSize bfReserved1bfReserved2bfOffBitsbiSizebiWidthbiHeightbiPlanesbiBitCountbiCompressionbiSizeImagebi_PelsPerMeterbiYPelsPerMeterbiClrUsedbiClrImportant单色DIB有2个表项16色DIB有16个表项或更少256色DIB有256个表项或更少真彩色DIB没有调色板每个表项长度为4字节(32位)像素按照每行每列的顺序排列每一行的字节数必须是4的整数倍BITMAPINFOHEADER 位图信息头 Palette 调色板 DIB Pi_els DIB图像数据1. BMP文件组成BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成.2. BMP文件头BMP文件头数据结构含有BMP文件的类型(必须为BMP)、文件大小(以字节为单位)、位图文件保留字(必须为0)和位图起始位置(以相对于位图文件头的偏移量表示)等信息.3. 位图信息头BMP位图信息头数据用于说明位图的尺寸(宽度,高度等都是以像素为单位,大小以字节为单位, 水平和垂直分辨率以每米像素数为单位) ,目标设备的级别,每个像素所需的位数, 位图压缩类型(必须是 0)等信息.4. 颜色表颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD类型的结构,定义一种颜色.具体包含蓝色、红色、绿色的亮度(值范围为0-255)位图信息头和颜色表组成位图信息5. 位图数据位图数据记录了位图的每一个像素值,记录顺序是在扫描行内是从左到右,扫描行之间是从下到上.Windows规定一个扫描行所占的字节数必须是 4的倍数(即以long为单位),不足的以0填充.3.3 BMP(BIT MAP )位图的显示:①一般显示方法:1. 申请内存空间用于存放位图文件2. 位图文件读入所申请内存空间中3. 在函数中用创建显示用位图, 用函数创建兼容DC,用函数选择显示删除位图但以上方法的缺点是: 1)显示速度慢; 2) 内存占用大; 3) 位图在缩小显示时图形失真大,(可通过安装字体平滑软件来解决); 4) 在低颜色位数的设备上(如256显示模式)显示高颜色位数的图形(如真彩色)图形失真严重.②BMP位图缩放显示 :用视频函数来显示位图,内存占用少,速度快,而且还可以对图形进行淡化(Dithering )处理.淡化处理是一种图形算法,可以用来在一个支持比图像所用颜色要少的设备上显示彩色图像.BMP位图显示方法如下:1. 打开视频函数,一般放在在构造函数中2. 申请内存空间用于存放位图文件3. 位图文件读入所申请内存空间中4. 在函数中显示位图5. 关闭视频函数 ,一般放在在析构函数中以上方法的优点是: 1)显示速度快; 2) 内存占用少; 3) 缩放显示时图形失真小,4) 在低颜色位数的设备上显示高颜色位数的图形图形时失真小; 5) 通过直接处理位图数据,可以制作简单动画.3.4 程序中用到的访问函数Windows支持一些重要的DIB访问函数,但是这些函数都还没有被封装到MFC中,这些函数主要有:1. SetDIBitsToDevice函数:该函数可以直接在显示器或打印机上显示DIB. 在显示时不进行缩放处理.2. StretchDIBits函数:该函数可以缩放显示DIB于显示器和打印机上.3. GetDIBits函数:还函数利用申请到的内存,由GDI位图来构造DIB.通过该函数,可以对DIB的格式进行控制,可以指定每个像素颜色的位数,而且可以指定是否进行压缩.4. CreateDIBitmap函数:利用该函数可以从DIB出发来创建GDI位图.5. CreateDIBSection函数:该函数能创建一种特殊的DIB,称为DIB项,然后返回一个GDI位图句柄.6. LoadImage函数:该函数可以直接从磁盘文件中读入一个位图,并返回一个DIB句柄.7. DrawDibDraw函数:Windows提供了窗口视频(VFW)组件,Visual C++支持该组件.VFW中的DrawDibDraw函数是一个可以替代StretchDIBits的函数.它的最主要的优点是可以使用抖动颜色,并且提高显示DIB的速度,缺点是必须将VFW代码连接到进程中.3.5 图像的几何变换图像的几何变换,通常包括图像的平移、图像的镜像变换、图像的转置、图像的缩放和图像的旋转等.一、实验的目的和意义实验目的:本实验内容旨在让学生通过用VC等高级语言编写数字图像处理的一些基本算法程序,来巩固和掌握图像处理技术的基本技能,提高实际动手能力,并通过实际编程了解图像处理软件的实现的基本原理。

数字图像处理 实验报告(完整版).doc

数字图像处理 实验报告(完整版).doc

数字图像处理实验一 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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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来进行简单图像处理的步骤。

首先应使用Imread函数来对图像进行数字化,将想要处理的图像存错为数字化的矩阵中,然后通过对矩阵进行数字上的运算,便可以得到各种处理效果;也可以用Rgb2gray函数,将一副RGB 图像先转化为灰度图像,以进行灰度直方图的构造和直方图均衡,再用Figure函数,将矩阵重现为一副处理后的图像。

Im2bw函数可以将Rgb图像转换为二值图像;Rgb2gray函数可以将Rgb图像转换为灰度图像。

将图像取反的做法是:将图像变为二值图像后,将二值矩阵的“0”值变为“1”,将“1”值变为“0”,产生的新矩阵即为原图像取反后的图像。

实验二:图像灰度级修正一、实验目的掌握常用的图像灰度级修正方法,即图象的灰度变换法和直方图均衡化法,加深对灰度直方图的理解。

观察图象的增强效果,对灰度级修正前后的图像加以比较。

二、实验内容编程实现图像的灰度变换。

改变图像输入、输出映射的灰度参数范围(拉伸和反比),观看图像处理结果。

对图像直方图均衡化处理,显示均衡前后的直方图和图像。

三、实验程序同实验一四、实验结果五、实验分析及心得这个实验是上个实验的后续步骤,通过实验一我掌握了一副图像数字化的步骤,以及图像取反的实现。

本次实验将使用图像灰度级修正相关的函数:imadjust。

它的用法是:J = imadjust(I,[low_in; high_in],[low_out; high_out])将图像I中的亮度值映射到J中的新值,即将low_in至high_in之间的值映射到low_out 至high_out之间的值。

low_in 以下与high_in 以上的值被剪切掉了,也就是说,low_in 以下的值映射到low_out,high_in 以上的值映射到high_out。

它们都可以使用空的矩阵[],默认值是[0 1]。

实验程序中我将[low_in; high_in]参数分别设置为[0,1]、[0,0.8]以达到不同的灰度级修正效果。

从实验结果来看,后面一次的灰度级修正效果更好,图像整体显得更加亮,更加饱和。

实验三:图像的平滑滤波一、实验目的学习如何对已被噪声污染的图像进行“净化”。

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

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

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

三、实验程序同实验一四、实验结果五、实验分析及心得这个实验是上个实验的后续步骤,通过实验一我掌握了一副图像数字化的步骤,通过实验二掌握了对一副图像进行灰度变换的方法和步骤。

本次实验所做的是图像的平滑滤波,涉及到的函数有:imnoise、imfilter。

Imnoise函数为Matlab中添加噪声的函数,我在程序中使用的噪声类型为:gaussian(高斯噪声)。

Imfilter函数为Matlab中的滤波器函数,其中我采用的模板为5*5的均值模板。

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

课后分析得知,均值滤波器对椒盐、高斯等噪声类型的滤波效果是非常显著的,所以此次实验中选用的滤波器种类非常合理。

实验四:图像的锐化处理一、实验目的学习如何用锐化处理技术来加强图像的目标边界和图像细节,对图像进行梯度算子、拉普拉斯算子、Sobel算子设计,使图像的某些特征(如边缘、轮廓等)得以进一步的增强及突出。

锐化处理技术可以在空间域中进行,也可以在频域中运用高通滤波技术进行处理。

二、实验内容编写Robert梯度滤波函数。

编写Sobel算子滤波函数。

编写拉普拉斯边缘增强滤波函数。

观察频域中用高低通滤波技术对图像进行的平滑和锐化处理。

三、实验程序ima=imread('图像锐化.jpg'); %读入图像I=imread('图像锐化.jpg');ima=rgb2gray(ima);%如果是彩色图像,则转为灰度图像ima=double(ima);bw1 = edge(ima,'roberts');%roberts算子锐化figure;subplot(221);imshow(uint8(ima));title('原始图像');subplot(222);imshow(bw1);title('roberts算子锐化');bw2 = edge(ima,'sobel'); %sobel算子锐化subplot(223);imshow(bw2);title('sobel算子锐化');w8=[1 1 1;1 -8 1;1 1 1];f=im2double(I);g8=f-imfilter(f,w8,'replicate');subplot(224);imshow(g8);title('中心为-8的拉普拉斯滤波');四、实验结果五、实验分析及心得本次实验着重图像的边缘处理,其中涉及的函数有:edge、imfilter。

Edge函数为Matlab中的边缘检测函数,其用法为:BW = edge(I) 采用I作为它的输入,并返回一个与I相同大小的二值化图像BW,在函数检测到边缘的地方为1。

Imfilter函数为滤波器函数,用法上次实验已经叙述过。

因为Edge函数的输入需要是一个灰度图像或者二值图像,所以先通过Rgb转灰度函数,将图像变为灰度图像,然后通过“Roberts”,“Sobel”算法对图像进行边缘检测,从实验结果的图像中可以看出,Sobel算子在检测丰富信息的图像时,效果更佳。

而在拉普拉斯变换前,给定好了一个中心为-8,其余为1的3*3模板,进行滤波后能看出,图像的边缘已经更加突出,达到了实验预期的效果。

实验五:图像的伪彩色处理一、实验目的学习和掌握伪彩色处理基本方法,将灰度图像转换为多种颜色的彩色图像。

根据图像特点,了解伪彩色处理技术在实际中的应用。

二、实验内容编写密度分割函数,实现灰度图像的伪彩色显示。

编写灰度级彩色变换函数,实现灰度图像的伪彩色显示。

三、实验程序i1 = imread('图像锐化.jpg');s = rgb2gray(i1);I=double(s);[m,n]=size(I);c=256;for i=1:mfor j=1:nif I(i,j)<=c/4R(i,j)=0;G(i,j)=4*I(i,j);B(i,j)=c/2;else if I(i,j)<=c/2R(i,j)=0;G(i,j)=c/2;B(i,j)=-4*I(i,j)+2*c;else if I(i,j)<=3*c/4R(i,j)=4*I(i,j)-2*c;G(i,j)=c/2;B(i,j)=0;elseR(i,j)=c/2;G(i,j)=-4*I(i,j)+4*c;B(i,j)=0;endendendendendfor i=1:mfor j=1:nout(i,j,1)=R(i,j);out(i,j,2)=G(i,j);out(i,j,3)=B(i,j);endendout=out/256;subplot(1,2,1),imshow(out);title('伪彩色处理后图像');subplot(1,2,2),imshow(s);title('原始图像');四、实验结果五、实验分析及心得图像的伪彩色处理在数字图像处理中的使用是非常广泛的,所以本次实验的应用价值很高。

伪彩色处理的程序参考了网上给的循环写法,具体步骤是:先将Rgb图像转换为灰度图像,然后通过两个循环的嵌套,将每个范围内的像素赋予一定的颜色值,最后组成一个处理后的矩阵,经过图像显示函数,即可将灰度图像转换为伪彩色图像。

伪彩色也可以使用Matlab中给定的灰度分层函数和颜色赋值函数进行,这种方法我会留置实验后,在电脑上重新做一遍,然后将两种方法的效果进行对比。

实验六:图像的几何变化一、实验目的学习和掌握图像几何空间变换和灰度插值的基本方法,对图像进行相应的几何变换操作。

二、实验内容编程实现图像的比例缩放。

编程实现图像任意角度的旋转变换。

分别用MATLAB函数提供的三种插值方法实现图像的缩放和旋转。

相关文档
最新文档