数字图像处理四个实验

合集下载

数字图像处理实验指导书

数字图像处理实验指导书

《数字图像处理》实验指导书数字图象处理实验的目的不仅是让学生通过用MATLAB等高级语言编写数字图像处理的一些基本算法程序,巩固和掌握图像处理技术的理论、方法和基本技能,提高实际动手能力,而且通过综合实习,让学生能探讨和应用数字图像处理技术去解决一些实际问题。

为学生进一步学习和应用数字图像技术解决实际问题奠定基础。

实验一、数字图像获取 (2)实验二、图像的傅立叶变换 (5)实验三、图像直方图增强 (7)实验四数字图像空间域平滑 (11)实验五数字图像锐化 (14)实验六、图像压缩 (17)实验七图像融合 (21)实验八图像分割 (23)实验一、数字图像获取一、实验目的1掌握使用扫描仪等数字化设备以及计算机获取数字图像的方法;2修改图像的存储格式。

二、实验原理用扫描仪获取图像也是图像的数字化过程的方法之一。

扫描仪按种类可以分为手持扫描仪,台式扫描仪和滚筒式扫描仪(鼓形扫描仪)。

扫描仪的主要性能指标有x、y方向的分辨率、色彩分辨率(色彩位数)、扫描幅面和接口方式等。

各类扫描仪都标明了它的光学分辨率和最大分辨率。

分辨率的单位是dpi,dpi 是英文Dot Per Inch的缩写,意思是每英寸的像素点数。

扫描仪工作时,首先由光源将光线照在欲输入的图稿上,产生表示图像特征的反射光(反射稿)或透射光(透射稿)。

光学系统采集这些光线,将其聚焦在CCD上,由CCD将光信号转换为电信号,然后由电路部分对这些信号进行A/D转换及处理,产生对应的数字信号输送给计算机。

当机械传动机构在控制电路的控制下,带动装有光学系统和CCD的扫描头与图稿进行相对运动,将图稿全部扫描一遍,一幅完整的图像就输入到计算机中去了。

图1.1扫描仪的工作原理扫描仪扫描图像的步骤是:首先将欲扫描的原稿正面朝下铺在扫描仪的玻璃板上,原稿可以是文字稿件或者图纸照片;然后启动扫描仪驱动程序后,安装在扫描仪内部的可移动光源开始扫描原稿。

为了均匀照亮稿件,扫描仪光源为长条形,并沿y方向扫过整个原稿;照射到原稿上的光线经反射后穿过一个很窄的缝隙,形成沿x方向的光带,又经过一组反光镜,由光学透镜聚焦并进入分光镜,经过棱镜和红绿蓝三色滤色镜得到的RGB三条彩色光带分别照到各自的CCD上,CCD将RGB光带转变为模拟电子信号,此信号又被A/D变换器转变为数字电子信号。

数字图像处理四个实验报告,带有源程序

数字图像处理四个实验报告,带有源程序

数字图像处理实验指导书学院:通信与电子工程学院专业:电子信息工程班级:学号:姓名:XX理工大学实验一 MATLAB数字图像处理初步一、实验目的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。

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

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

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

5.图像间如何转化。

二、实验原理及知识点1、数字图像的表示和类别一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。

灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。

例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。

因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。

图像关于x和y坐标以及振幅连续。

要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。

将坐标值数字化成为取样;将振幅数字化成为量化。

采样和量化的过程如图1所示。

因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。

作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。

图1 图像的采样和量化根据图像数据矩阵解释方法的不同,MA TLAB把其处理为4类:亮度图像(Intensity images)二值图像(Binary images)索引图像(Indexed images)RGB图像(RGB images)(1) 亮度图像一幅亮度图像是一个数据矩阵,其归一化的取值表示亮度。

若亮度图像的像素都是uint8类或uint16类,则它们的整数值范围分别是[0,255]和[0,65536]。

若图像是double类,则像素取值就是浮点数。

数字图像处理实验报告

数字图像处理实验报告

目录实验一:数字图像的基本处理操作 (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 直方图均衡化编码实现直方图均衡化算法(不能使用第三方直方图均衡化函数)。

代码如下:a=imread('e:\b.jpg');%读取图像b=rgb2gray(a); %转化为灰度图像imshow(b); %显示原图c=histeq(b); %直方图均衡化subplot(121),imshow(a);subplot(122),imshow(c); %显示处理后的图像图像如下:实验2 频率域滤波图像中含有周期性干扰,设计使用频率域分析方法检测和去除图像周期性干扰的算法(可以使用第三方傅里叶变换和反变换函数)。

代码如下:%频率域滤波clc;close all;f=imread('salt.bmp');f=im2double(f);F=fft2(double(f));%傅里叶变换F=fftshift(F);%将变换的原点移到频率矩形的中心[M,N]=size(f);%理想低通滤波D0=input('输入截止频率');h1=zeros(M,N);for i=1:Mfor j=i:Nif(sqrt(((i-M/2)^2+(j-N/2)^2))<D0)h1(i,j)=1;endendendG1=F.*hl;61=ifftshift(G1);g1=real(ifft2(G1));subplot(2,3,1);imshow(f);title('原图');subplot(2,3,2);imshow(g1);title('理想低通滤波’);%巴特沃斯低通滤波n=input('巴特沃斯滤波器的阶数 n=');n1=fix(M/2);n2=fix(N/2);h2=zeros(M,N);for i=1:Mfor j=1:Nd=sqrt((i-n1)^2+(j-n2)^2);h2=1./(1+(d./D0).^(2*n));endendG2=F.*h2;G2=ifftshift(G2);g2=real(ifft(G2));subplot(2,3,1);imshow(f);title('原图'); subplot(2,3,4);imshow(g3);title('低通滤波'); 图像如下:原图巴特沃斯低通理想低通实验3彩色图像去噪对RGB彩色空间和HIS彩色空间去噪效果进行比较分析。

《数字图像处理》实验教案

《数字图像处理》实验教案

《数字图像处理》实验教案一、实验目的与要求1. 实验目的(1)理解数字图像处理的基本概念和原理;(2)掌握常用数字图像处理算法和技巧;(3)培养实际操作能力和动手能力,提高解决实际问题的能力。

2. 实验要求(1)熟悉实验环境和相关软件;(2)了解实验原理和流程;二、实验环境与工具1. 实验环境(1)计算机操作系统:Windows 10/Linux/macOS;(2)编程语言:MATLAB/Python/C++等;(3)图像处理软件:Photoshop/OpenCV等。

2. 实验工具(1)编程环境:MATLAB/Python/C++开发工具;(2)图像处理软件:Photoshop/OpenCV;(3)实验教材和参考资料。

三、实验内容与步骤1. 实验一:图像读取与显示(1)打开图像处理软件,导入一幅图像;(2)了解图像的基本信息,如像素大小、分辨率等;(3)将图像显示在界面上,进行观察和分析。

2. 实验二:图像基本运算(1)对图像进行灰度化处理;(2)进行图像的直方图均衡化;(3)实现图像的滤波处理,如高斯滤波、中值滤波等。

3. 实验三:边缘检测(1)实现Sobel边缘检测算法;(2)实现Canny边缘检测算法;(3)分析不同边缘检测算法的效果和特点。

4. 实验四:图像分割(1)利用阈值分割法对图像进行分割;(2)利用区域生长法对图像进行分割;(3)分析不同图像分割算法的效果和特点。

5. 实验五:特征提取与匹配(1)提取图像的关键点,如角点、边缘点等;(2)利用特征匹配算法,如SIFT、SURF等,进行图像配准;(3)分析不同特征提取与匹配算法的效果和特点。

四、实验注意事项1. 严格遵循实验要求和步骤,确保实验的正确性;2. 注意实验环境和工具的使用,防止计算机和设备的损坏;3. 尊重知识产权,不得抄袭和剽窃他人成果;4. 实验过程中遇到问题,应及时请教老师和同学。

五、实验报告要求1. 报告内容:实验目的、实验环境、实验内容、实验步骤、实验结果及分析;2. 报告格式:文字描述清晰,条理分明,公式和图像正确无误;3. 报告篇幅:不少于2000字;4. 提交时间:实验结束后一周内。

数字图像处理实验教学报告.doc

数字图像处理实验教学报告.doc

数字图像处理实验报告实验内容:主要实现以下几个内容:⑴直方图均衡化(histogram equalization ) ⑵直方图匹配(histogram matching ) ⑶邻域平均(neighborhood averaging ) ⑷局域增强(local enhancement ) ⑸中值滤波(median filtering )。

二.实验目的:下载安装MATLAB 图像处理工具箱,对图像进行处理;学会用Matlab 中的下列函数对输入图像进行上述5类运算;感受各种不同的图像处理方法对最终图像效果的影响。

Imhist :对灰度图像画直方图 Histeq :是图像直方图均衡化处理 Nlfilter :实现双边滤波器mean2:图像处理工具箱中的函数,用来计算矩阵元素的平均数 std2:计算矩阵元素的标准差 fspecial :建立预定义的滤波算子 filter2:使用指定的滤波器进行滤波 medfilt2:中值滤波三.实验步骤1.仔细阅读Matlab 帮助文件中有关以上函数的使用说明,能充分理解其使用方法并能运用它们完成实验内容。

2.将桌面上文件1(a).jpg 图像文件用函数imread 读入Matlab 中,对其作直方图均衡化和直方图匹配运算,显示运算前后该图像的直方图,处理后的图像和灰度变换函数。

直方图反映灰度等级的分布情况,本实验指定的直方图如下:1400×rr ≤5 7000-310×r 5<r ≤20 900-5×r 20<r ≤180 -1440+8×r 180<r ≤225 3060-12×r225<r ≤2553.将文件2.jpg 图像文件读入Matlab ,用nlfilter 对其进行3×3邻域平均和计算邻域标准差,再对其黑暗部分的特征进行局域增强而保持明亮部分图像不变,显示增强后的效果图。

在进行局域增强时,应按下列算法进行:E ·f (x ,y ) if m Sxy ≤k 0M G and k 1D G ≤σSxy ≤k 2D G f (x ,y )otherwisen =g (x ,y )=适当调整k 0,k 1和k 2的值,使局域增强达到最佳效果。

数字图像处理实验

数字图像处理实验数字图像处理实验实验⼀:图像⾊彩编辑器⼀、图像⾊彩编辑器(ColorPicker)是⼀个基于对话框的应⽤程序,它具有以下功能:1、⾊彩编辑功能⽤户可以通过可以调整R、G、B的值来编辑颜⾊,亦可通过调整H、S、V的值来选取颜⾊。

颜⾊编辑的结果会马上反馈到颜⾊⾯板和颜⾊预览框中。

2、RGB颜⾊空间和HSV颜⾊空间的转换当改变RGB值,会得到相应的HSV值,并进⾏显⽰,反之亦然。

3、取⾊功能取⾊功能包含“⾯板取⾊”和“屏幕取⾊”。

⾯板取⾊就是⽤户可以在颜⾊⾯板中单击⿏标左键,选取⽬标点所表⽰的某种颜⾊。

屏幕取⾊则是允许⽤户获取整个屏幕上的任意⼀点的颜⾊值。

⽤户可以将⿏标移动到需要获取颜⾊的地⽅,然后按a键或A键即可以获取该点颜⾊值。

⼆、实验步骤1、创建新项⽬打开VC6.0,选择菜单中的[⽂件]——[新建]项⽬,在弹出的“新建项⽬”对话框中选择“MFC应⽤程序”模板,并在名称中输⼊“ColorPicker”,然后单击“确定”。

在“MFC 应⽤程序向导”的应⽤程序类型中选择“基本对话框”,其他选项采⽤系统默认设置,最后⽣成项⽬。

2、对话框设计设计对话框将解决各种控件的数量、摆放的位置和使⽤的名称等问题。

打开资源视图(ColorPicker Resources),点击对话框(Dialog),找到名为“IDD_COLORPICKER_DIALOG”的对话框资源,双击它进⼊编辑状态,并按照下图所⽰的图和表对该对话框进⾏编辑。

3、完成实例编程12 3 4 5 678 9 1011 12 13这⾥介绍⼀下组成ColorPicker 应⽤程序的每个⽂件的作⽤:(1)ColorPicker.vcproj这是使⽤应⽤程序向导⽣成的VC++ 项⽬的主项⽬⽂件。

它包含⽣成该⽂件的Visual C++ 的版本信息,以及有关使⽤应⽤程序向导选择的平台、配置和项⽬功能的信息。

(2)ColorPicker.h这是应⽤程序的主要头⽂件。

数字图像处理实验报告01245

数字图像处理实验报告01245数字图像处理实验报告一、实验名称图像读取和图像直方图统计二、实验目的 1. 强化巩固《数字图像处理》课程中学习的知识,将理论用于实践。

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

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

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

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

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

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

1) 在“Miaoqi.cpp”中添加 // 启动时不自动打开一个空文档cmdInfo.m_nShellCommand =CCommandLineInfo::FileNothing; 2) 在“ MiaoqiDoc.cpp ” 中添加重新加载菜单,对应函数ON_COMMAND(ID_FILE_REOPEN, OnFileReopen)的功能:-a) 点击“ResourceView”—“Miaoqiresources”—“Menu”—“IDR_MIAOQI_TYPE”,则跳出一个视图的框架,点击“文件”,将按钮拖拽到合适的位置,再右击,点击属性,设置重新加载相应的 ID 和 Caption。

b) 点击查看—建立类向导—“ID_File_Reopen”—“Command”—设置函数名“OnFileReopen”,点击确定。

3) 在“Miaoqi Doc.cpp 中”添加代码,使在构造函数中初始化某些变量,在析构函数中撤销内存。

4) 点击“查看”—“建立类向导”,添加“BOOL MiaoqiDoc::CanCloseFrame(CFrameWnd*pFrame) ” 和“ void MiaoqiDoc::DeleteContents” 5) 按照实验指导书中的相应代码,完成“ MiaoqiDoc:: OnOpenDocument(LPCTSTR lpszPathName)”函数代码的添加,使之实现打开一个文件(即一副图像)的功能。

用matlab数字图像处理四个实验(2020年整理).pdf

数字图像处理实验指导书目录实验一MATLAB数字图像处理初步实验二图像的代数运算实验三图像增强-空间滤波实验四图像分割1实验一 MATLAB数字图像处理初步一、实验目的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。

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

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

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

5.图像间如何转化。

二、实验原理及知识点1、数字图像的表示和类别一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。

灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。

例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。

因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。

图像关于x和y坐标以及振幅连续。

要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。

将坐标值数字化成为取样;将振幅数字化成为量化。

采样和量化的过程如图1所示。

因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。

作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。

图1 图像的采样和量化根据图像数据矩阵解释方法的不同,MA TLAB把其处理为4类:➢亮度图像(Intensity images)➢二值图像(Binary images)➢索引图像(Indexed images)➢RGB图像(RGB images)(1) 亮度图像一幅亮度图像是一个数据矩阵,其归一化的取值表示亮度。

若亮度图像的像素都是uint8类或uint16类,则它们的整数值范围分别是[0,255]和[0,65536]。

若图像是double类,则像素取值就是浮点数。

数字图像处理实验——实验四

报告内容:(目的和要求、原理、步骤、数据、计算、小结等)图像处理综合性实验报告实验四综合实验一、实验目的1、掌握matlab编程语言进行编程。

2、用matlab及运用各种数字图像处理方法实现对图像的变换。

二、实验设备计算机、Matlab软件三、实验原理图像预处理是相对于图像识别、图像理解而言的一种前期处理。

不论采用何种装置,输入的图像往往不能令人满意。

例如,从美学的角度会感到图像中物体的轮廓过于鲜明而显得不协调;按检测对象物大小和形状的要求看,图像的边缘过于模糊;在相当满意的一幅图像上会发现多了一些不知来源的黑点或白点;图像的失真、变形等等。

总之,输入的图像在视觉效果和识别方便性等方面可能存在诸多问题,这类问题不妨统称为“质量”问题。

尽管由于目的、观点、爱好等的不同,图像质量很难有同意的定义和标准,但是,根据应用要改善图像质量却是一个共同的愿望。

改善图像质量的处理称为图像预处理,主要是指按需要对图像进行适当的变换突出某些游泳的信息,去除或削弱无用的信息,如改变图像对比度,去除噪声或强调边缘的处理等。

四、实验步骤1.对图像灰度非线性变换2.对某个图像进行直方图均衡化3.对图像进行直方图规定化4.对图像进行空间域低通滤波5.对图片进行低通滤波处理6.对图像进行空域高通滤波法7.通过各种频域低通滤波器方法对图像进行处理五、源程序清单、测试数据、结果1、灰度非线性变换图像灰度变换是图像增强的一种手段。

其中灰度非线性变换能使图像灰度的分布均匀,与人的视觉特性相匹配。

MATLAB语言编写的例程和图像运行结果如下:%GRAY TRANSFORMclc;I=imread('21.jpg');imshow(I);J=imadjust(I,[0.3 0.7],[0 1],1);%transfroms the values in the intensity image I to%values in J by linealy mapping values between %0.3 and 0.7 to values between 0 and 1figure;imshow(J);J=imadjust(I,[0.3 0.7],[0 1],1);%If GAMMA is less than 1,the mapping%is weighted toward higher (brighter)output values.figure;imshow(J);J=imadjust(I,[0.3 0.7],[0 1],1.5);% If GAMMA is greater than 1,the % mapping is weighted toward lower (darker)output values.figure;imshow(J);J=imadjust(I,[0.3 0.7],[0 1],1);% If TOP < BOTTOM,the output image % is reversed,as in a photogrphic negative.figure;imshow(J);2、对tire图像进行直方图均衡化图示:直方图均衡化是通过变换函数将原图的直方图调整为平坦的直方图。

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

数字图像处理实验报告班级:学号:姓名:目录实验一MATLAB数字图像处理初步实验二图像的代数运算实验三图像增强-空间滤波实验四图像分割实验五形态学运算实验一MATLAB数字图像处理初步一、实验目的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。

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

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

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

5.图像间如何转化。

二、实验原理及知识点数字图像:一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。

图像关于x和y坐标以及振幅连续。

要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。

将坐标值数字化成为取样;将振幅数字化成为量化。

因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。

三、实验内容及步骤1.利用imread( )函数读取一幅图像,存入一个数组中;I=imread('lily'.tif');2.利用whos 命令提取该读入图像flower.tif的基本信息;whos I3.利用imshow()函数来显示这幅图像;imshow(I);4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;imfinfo('lily.tif');5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为flower.jpg;imwrite(I,'flower.jpg','quality',50);6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flower.bmp。

imwrite(I,'flower.bmp');7.用imread()读入图像:Lenna.jpg 和camera.jpg;M=imread('Lenna.jpg'); N=imread('camera.jpg');8.用imfinfo()获取图像Lenna.jpg和camema.jpg 的大小;imfinfo('Lenna.jpg'); imfinfo('camera.jpg');9.用figure,imshow()分别将Lenna.jpg和camema.jpg显示出来,观察两幅图像的质量。

figure(2),imshow('Lenna.jpg') imshow('camera.jpg')10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征P=imread('pic200.bmp')Q=im2bw(P)imshow(Q)四、实验仪器与软件(1) PC计算机(2) MatLab软件/语言包括图像处理工具箱(Image Processing Toolbox)(3) 实验所需要的图片五、思考题(1) 简述MatLab软件的特点。

答:MatLab具有易学习使用、适用范围广、功能强、开放性强、支持图像、数据格式丰富的特点。

(2)MatLab软件可以支持哪些图像文件格式?答:支持的图像文件格式有JPEG/BMP/PCX/TIFF/PNG/GIF/HDF等多种图像格式。

(3)说明函数imread 的用途格式以及各种格式所得到图像的性质。

答:imread的常见调用格式为:A = imread(filename,fmt);其作用是将文件名用字符串filename表示的,扩展名用fmt表示的图像文件中的数据读到矩阵A中。

如果filename所指的为灰度级图像,则A为一个二维矩阵;如果filename 所指的为RGB图像,则A为一个m×n×3的三维矩阵。

Filename表示的文件名必须在MATLAB 的搜索路径范围内,否则需指出其完整路径。

(4)为什么用I = imread(‘lena.bmp’) 命令得到的图像I 不可以进行算术运算?答:MATLAB系统默认的算术运算是针对双精度类型(double)的数据,而上述命令产生的矩阵的数据类型是无符号8位(MATLAB为图像提供的特殊的数据类型),直接进行运算会溢出。

实验二图像基本运算一、实验目的1.了解图像的算术运算在数字图像处理中的初步应用。

2.体会图像算术运算处理的过程和处理前后图像的变化。

二、实验原理图像的代数运算是图像的标准算术操作的实现方法,是两幅输入图像之间进行的点对点的加、减、乘、除运算后得到输出图像的过程。

如果输入图像为A(x,y)和B(x,y),输出图像为C(x,y),则图像的代数运算有如下四种形式:C(x,y) = A(x,y) + B(x,y)C(x,y) = A(x,y) - B(x,y)C(x,y) = A(x,y) * B(x,y)C(x,y) = A(x,y) / B(x,y)图像的代数运算在图像处理中有着广泛的应用,它除了可以实现自身所需的算术操作,还能为许多复杂的图像处理提供准备。

使用MATLAB的基本算术符(+、-、*、/ 等)可以执行图像的算术操作,但是在此之前必须将图像转换为适合进行基本操作的双精度类型。

注意:无论进行哪一种代数运算都要保证两幅输入图像的大小相等,且类型相同。

三、实验步骤1.图像的加法运算在MATLAB中,如果要进行两幅图像的加法,或者给一幅图像加上一个常数,可以调用imadd函数来实现。

I = imread(‘Sunset.jpg’);J = imread(‘Winter.jpg’);K = imadd(I,J);imshow(K);叠加结果如图所示。

待叠加的两幅图像叠加后的图像效果2.图像的减法运算在MATLAB中,使用imsubtract函数可以将一幅图像从另一幅图像中减去,或者从一幅图像中减去一个常数。

imsubtract函数将一幅输入图像的像素值从另一幅输入图像相应的像素值中减去,再将这个结果作为输出图像相应的像素值。

M= imread(‘camerman.tif’);B= imopen(M, str el(‘disk’,15));N= imsubtract(M, B);subplot(1,2,1);imshow(M);subplot(1,2,2);imshow(B);原始图像减去背景图像3. 图像的乘法运算在MATLAB中,使用immultiply函数实现两幅图像的乘法。

immultiply函数将两幅图像相应的像素值进行元素对元素的乘法操作(MATLAB点乘),并将乘法的运算结果作为输出图形相应的像素值。

I = imread(‘lily.tif’);J = immultiply(I,1.2);subplot(1,2,1);imshow(I);subplot(1,2,2);imshow(J);原图和乘以因子1.2的图像4.图像的除法运算在MATLAB中使用imdivide函数进行两幅图像的除法。

imdivide函数对两幅输入图像的所有相应像素执行元素对元素的除法操作(点除),并将得到的结果作为输出图像的相应像素值。

M= imread(‘cameraman.tif’);I = double(M);J= I * 0.43 + 90;N= uint8(J);注:无符号八位整数的强制转换Q= imdivide(M, N);Imshow(Q, []);原图和减背景后的图像相除的图像效果四、思考题由图像算术运算的运算结果,思考图像减法运算在什么场合上发挥优势?答:图像减法也称为差分方法,是一种常用于检测图像变化及运动物体的图像处理方法。

图像减法可以作为许多图像处理工作的准备步骤。

例如,可以使用图像减法来检测一系列相同场景图像的差异。

图像减法与阈值化处理的综合使用往往是建立机器视觉系统最有效的方法之一。

在利用图像减法处理图像时往往需要考虑背景的更新机制,尽量补偿由于天气、光照等因素对图像显示效果造成的影响。

实验三图像增强—空域滤波一、实验目的进一步了解MatLab软件/语言,学会使用MatLab对图像作滤波处理,使学生有机会掌握滤波算法,体会滤波效果。

了解几种不同滤波方式的使用和使用的场合,培养处理实际图像的能力,并为课堂教学提供配套的实践机会。

二、实验要求(1)完成对于给定图像+噪声,使用平均滤波器、中值滤波器对不同强度的高斯噪声和椒盐噪声,进行滤波处理;能够正确地评价处理的结果;能够从理论上作出合理的解释。

(2)利用MATLAB软件实现空域滤波的程序:三、实验设备与软件(1) IBM-PC 计算机系统(2) MatLab 软件/语言包括图像处理工具箱(Image Processing Toolbox)(3) 实验所需要的图片四、实验内容与步骤a) 调入并显示原始图像lenna.tif 。

b) 利用imnoise 命令在图像lenna.tif 上加入高斯(gaussian) 噪声 、椒盐噪声高斯噪声 椒盐噪声c)利用预定义函数fspecial 命令产生平均(average)滤波器111191111---⎡⎤⎢⎥--⎢⎥⎢⎥---⎣⎦ d )分别采用3x3和5x5的模板,分别用平均滤波器以及中值滤波器,对加入噪声的图像进行处理并观察不同噪声水平下,上述滤波器处理的结果;e )选择不同大小的模板,对加入某一固定噪声水平噪声的图像进行处理,观察上述滤波器处理的结果。

高斯噪声均值滤波图像:3×3的均值模版 5×5的均值模版椒盐噪声均值滤波图像:3×3的均值模版5×5的均值模版五、思考题(1) 简述高斯噪声和椒盐噪声的特点。

答:高斯噪声是指噪声服从高斯分布,即某个强度的噪声点个数最多,离这个强度越远噪声点个数越少,且这个规律服从高斯分布。

高斯噪声是一种加性噪声,即噪声直接加到原图像上,因此可以用线性滤波器滤除。

椒盐噪声类似把椒盐撒在图像上,因此得名,是一种在图像上出现很多白点或黑点的噪声,如电视里的雪花噪声等。

椒盐噪声可以认为是一种逻辑噪声,用线性滤波器滤除的结果不好,一般采用中值滤波器滤波可以得到较好的结果。

(2)结合实验内容,定性评价平均滤波器/中值滤波器对高斯噪声和椒盐噪声的去噪效果?答:相对而言,对于椒盐噪声,采用中值滤波更好。

(3)结合实验内容,定性评价滤波窗口对去噪效果的影响?答:不同的滤波窗口针对不同的噪声有不同的效果。

因此,针对不同的噪声类型,选择不同的滤波窗口也很重要。

实验四图像分割一、实验目的使用MatLab 软件进行图像的分割。

相关文档
最新文档