数字图像处理实验指导书(2014年版)
数字图像处理实验指导书
实验一:图像文件类型转换实验目的:理解数字图像文件的几种基本类型掌握在MATLAB中进行图象文件类型转换的方法观察图象转换前后的效果加深对图象文件类型的理解熟悉图象格式、颜色系统间的转换实验内容:1)灰度图像与索引图像的相互转换2)RGB图像与索引图像的相互转换3)将图像转换为二值化图像实验方法:利用MATLAB工具进行实验一、灰度图像到索引图像的转换启动MATLAB,新建一个自己的工作文件夹(如下图中的“MYFIG”)。
并把它设置在当前的工作路径(Current Directory)下。
1)在该文件夹中拷入个灰度图片,比如“2.jpg”文件。
2)在MATLAB命令输入窗中,调用函数info=imfinfo('2.jpg')观查2.jpg是否为灰度图像在ColorType: 'grayscale' 属性行如此显示,则说明以2.jpg命名的文件为灰度图像。
3)输入如下命令完成转换RGB=imread('2.jpg'); % 将图像“2.jpg”的数据赋给变量RGBfigure(3); % 设定显示窗口3imshow(RGB); % 显示原“2.jpg”文件figure(1); % 设定显示窗口1[RGB1,map1]=gray2ind(RGB,128); % 指定灰度级128,进行灰度图像到索引图像转换imshow(RGB1,map1) ; % 显示索引图像1figure(2); % 设定显示窗口2[RGB2,map2]=gray2ind(RGB,16); % 指定灰度级16,进行灰度图像到索引图像转换imshow(RGB2,map2) ; % 显示索引图像2imwrite(RGB1,map1,'3.bmp'); % 将索引图像1保存为名为“3.bmp”的文件imwrite(RGB2,map2,'4.bmp'); % 将索引图像2 保存为名为“4.bmp”的文件运行并观察结果和现象。
数字图像处理实验指导书
《数字图像处理》实验指导书数字图象处理实验的目的不仅是让学生通过用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变换器转变为数字电子信号。
《数字图像处理》实验指导书1
《数字图像处理》实验指导书前言本实验指导书可作为电子信息工程、通信工程、生物医学工程等专业《数字图像处理》课程的实验指导书。
实验指导书共提供了6个实验,要求在VB环境下实现。
实验名称与学时安排详见下表。
实验名称与学时安排表实验教学基本要求:1、在实验前,认真准备,熟悉和掌握相关实验内容的基本算法和程序设计技术。
2、根据实验目的和要求,按时认真完成各实验的上机操作。
3、实验结束后,要及时提交经调试正确的程序源代码、生成的可执行文件、实验报告书等文档。
实验一图象的读取保存及图像的二值化处理一、实验目的1、熟悉《数字图像处理》的实验平台。
2、了解VB对图像进行处理的基本方法。
3、熟悉彩色图像变成灰度图象以及灰度图像转换成二值图像的基本原理及处理过程。
二、实验准备1、复习彩色图像变成灰度图象以及灰度图像的二值化处理的基本原理。
2、阅读下列内容,了解VB对图像进行处理的基本方法。
(1)读取图像通过扫描仪、摄像机等输入计算机以.bmp、.ico或.wmf存储的图像文件,可用LoadPicture函数把图像文件装入窗体、图片框或图像框中,例如:picture1.picture=loadpicture(“c:\image\flower.bmp”)可以把路径为c:\image\flower.bmp的图像文件装入图片框picture1中。
为了使图片框的大小与图像相匹配,应将图片框的autosize属性设置为True。
(2)用Point方法获取彩色图像的颜色值Point方法的功能是获取图像上指定像素的颜色值。
格式为:Object.Point(x,y)其中,Object表示获取颜色的对象名,(x,y)为取得颜色的坐标位置。
Point 方法将指定位置的像素的颜色值返回一个长整形数。
例如,求图片框picture 1中图像在位置(x,y)的像素颜色值(col)时,可写为:dim col as longcol=picture1.Point(x,y)(3)用Pset方法画点Pset方法的功能是在指定的位置画一个指定颜色的点。
数字图像处理实验指导书-河北工业大学2014实验一
数字图像处理实验指导书河北工业大学计算机科学与软件学院实验一 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类,则像素取值就是浮点数。
规定双精度型归一化亮度图像的取值范围是[0,1](2) 二值图像一幅二值图像是一个取值只有0和1的逻辑数组。
数字图像处理实验指导书-河北工业大学2014-实验五
数字图像处理实验指导书河北工业大学计算机科学与软件学院实验五 图像频率域平滑和锐化一、实验目的:1.掌握怎样利用傅立叶变换进行频域滤波 2.掌握频域滤波的概念及方法 3.熟练掌握频域空间的各类滤波器 4.利用MATLAB 程序进行频域滤波二、实验原理及知识点频域滤波分为低通滤波和高通滤波两类,对应的滤波器分别为低通滤波器和高通滤波器。
频域低通过滤的基本思想:G(u,v)=F(u,v)H(u,v)F(u,v)是需要钝化图像的傅立叶变换形式,H(u,v)是选取的一个低通过滤器变换函数,G(u,v)是通过H(u,v)减少F(u,v)的高频部分来得到的结果,运用傅立叶逆变换得到钝化后的图像。
频率域平滑:图像的平滑除了在空间域中进行外,也可以在频率域中进行。
由于噪声主要集中在高频部分,为去除噪声改善图像质量,滤波器采用低通滤波器H(u,v)来抑制高频成分,通过低频成分,然后再进行逆傅立叶变换获得滤波图像,就可达到平滑图像的目的。
常用的频率域低滤波器H(u,v)有四种: 1.理想低通滤波器具有传递函数:⎩⎨⎧>≤=00),(0),(1),(D v u D D v u D v u H其中,0D 为指定的非负数,(,)D u v 为(u,v)到滤波器的中心的距离。
0(,)D u v D =的点的轨迹为一个圆。
2. 巴特沃兹低通滤波器(BLPF)(在距离原点0D 处出现截至频率)的传递函数为nn D v u D D v u D v u H 2020]),([414.011]),()[12(11),(+=-+=与理想地通滤波器不同的是,巴特沃兹率通滤波器的传递函数是在0D 处是是连续性衰减,因此采用该滤波器滤波在抑制噪声的同时,图像边缘的模糊程度大大减小,没有振铃效应产生。
3.指数低通滤波器:}]),([347.0exp{}]),()][21exp{[ln(),(00nn D v u D D v u D v u H -==4.梯形低通滤波器⎪⎩⎪⎨⎧>≤<--≤=1101010),(0),()(]),([),(1),(D v u D D v u D D D D D v u D D v u D v u H 频率域锐化 :图像的边缘、细节主要位于高频部分,而图像的模糊是由于高频成分比较弱产生的。
数字图像处理实验指导书
实验须知一、预习要求1.实验前认真阅读实验教程中有关内容,明确实验目的、内容和实验任务。
2.每次实验前做好充分的预习,对所需预备知识做到心中有数。
3.实验前应编好源程序,并对调试过程、实验结果进行预测。
二、实验要求1.实验课请勿迟到,缺席。
2.爱护设备,保持清洁,不随意更换设备。
3.认真完成实验任务,实验结果经教师检查。
4.发生事故,应立即切断电源,并马上向教师报告,检查原因,吸取教训。
5.实验完毕,请整理实验设备,再离开实验室。
三、报告要求每次实验后,应递交一份实验报告,报告中应包含下列内容:1.实验名称、实验人姓名、学号、班级,所用设备号。
2.实验目的、任务。
3.写出实验调试情况,包括上机时遇到的问题及解决办法、实验结果分析等,并附上调试好的程序清单(应加适量注释)。
4.总结实验中的心得体会,提出对实验内容、方案等的建议、意见或设想等。
实验一图像变换算法一、实验目的1、理解几何运算的基本概念与定义;2、掌握在MA TLAB中进行插值的方法3、运用MATLAB语言进行图像的插值缩放和插值旋转。
二、实验原理几何运算可改变图像中各物体之间的空间关系。
这种运算可以被看成是将(各)物体在图像内移动。
一个几何运算需要两个独立的算法。
首先,需要一个算法来定义空间变换本身,用它来描述每个像素如何从其初始位置“移动”到终止位置,即每个像素的“运动”。
同时,还需要一个用于灰度插值的算法,这是因为,在一般情况下,输入图像的位置坐标(x,y)为整数,而输出图像的位置坐标为非整数,反过来也如此。
因此插值就是对变换之后的整数坐标位置的像素值进行估计。
MATLAB提供了一些函数实现这些功能。
插值是常用的数学运算,通常是利用曲线拟合的方法,通过离散的采样点建立一个连续函数来逼近真实的曲线,用这个重建的函数便可以求出任意位置的函数值。
最近邻插值是最简便的插值,在这种算法中,每一个插值输出像素的值就是在输入图像中与其最临近的采样点的值。
数字图像处理实验指导书
《数字图像处理》实验指导书王永堃沈阳理工大学信息学院前言数字图像处理是电子信息科学与技术专业学生必修的专业基础课之一。
通过本课程的学习,使学生能够掌握有关数字图像处理的基本概念、方法、原理及应用,能够培养和增强学生技能的创新意识和创新思维,提高实际动手能力和创新能力,为学生进一步学习专业课程奠定基础。
数字图像处理由理论教学和实验教学环节组成,理论教学环节是基础,实验教学环节是对理论教学环节的延伸、充实和完善,实验教学在数字图像处理课程中具有重要地位与作用。
实验题目和学时说明。
实验一编写一幅灰度图像直方图统计程序;实验二图象编码实验;实验三用Photoshop软件对图像进行增强操作;实验四图象分割实验。
实验五数字图像变换实验六数字图像增强实验七二维数字滤波器设计实验八基于DSP的灰度阈值变换1目录实验一编写一幅灰度图像直方图统计程序 .................................. 4一实验目的......................................................................... 4二实验原理......................................................................... 4三实验内容......................................................................... 4四实验要求......................................................................... 4五实验程序......................................................................... 4六思考题 ............................................................................ 6实验二图象编码实验................................................................. 8一实验目的......................................................................... 8二实验内容......................................................................... 8三实验步骤......................................................................... 81 余弦变换编码.............................................................. 82 行程编码 .................................................................... 93 JPEG编码 ................................................................... 9四思考题 .........................................................................10实验三用Photoshop软件对图像进行增强操作.........................112一实验目的......................................................................11二实验内容......................................................................11三实验步骤......................................................................11四思考题 .........................................................................13实验四图象分割实验..............................................................15一实验目的......................................................................15二实验内容......................................................................15三实验方法......................................................................161边缘检测 ...................................................................162 模板匹配 .................................................................16四思考题 .........................................................................17实验五数字图像变换……………………………………………..1 4 实验六数字图像增强……………………………………………….1 6 实验七二维数字滤波器设计……………………………………….1 7 实验八基于DSP的灰度阈值变换………………………………….1 83实验一编写一幅灰度图像直方图统计程序一实验目的了解数字图像灰度直方图的概念和计算方法,掌握用MATLAB 画数字图像灰度直方图的方法。
数字图像处理实验指导书-河北工业大学2014-实验六 图像分割
实验六图像分割
一、实验目的
使用MatLab 软件进行图像的分割。
使学生通过实验体会一些主要的分割算子对图像处理的效果,以及各种因素对分割效果的影响。
二、实验要求
要求学生能够自行评价各主要算子的分割性能。
完成图像的处理并要求正确评价处理结果,能够从理论上作出合理的解释。
三、实验内容与步骤
(1)使用Roberts 算子的图像分割实验
调入并显示图像中图像;使用Roberts 算子对图像进行边缘检测处理; Roberts 算子为一对模板:
(2)使用Roberts 算子的图像分割实验
调入并显示图像中图像;使用Roberts 算子对图像进行边缘检测处理; Roberts 算子为一对模板:
(3)使用Prewitt 算子的图像分割实验
(4)使用Sobel 算子的图像分割实验
(5)使用拉普拉斯算子的图像分割实验
四、实验设备及软件
1.计算机;
2.MATLAB程序;
3.移动式存储器(软盘、U盘等)。
4.记录用的笔、纸。
五、实验报告要求
1.叙述实验过程;
2.提交实验的原始图像和结果图像。
六、思考题/问答题
1. 评价一下Roberts 算子、Prewitt 算子、Sobel 算子对于噪声条件下边界检测的性能。
2. 实验中所使用的五种算子所得到的边界有什么异同?。
数字图像处理实验指导书
数字图像处理实验指导书前言数字图像处理技术的研究内容涉及工程学、计算机科学、信息科学、统计学、物理学、生物医学工程和社会科学等领域 它已成为高等理工院校电子信息工程、通信工程、生物医学工程、信号与信息处理等学科的一门重要的专业技术课。
作为人类获取信息的重要来源及利用信息的重要手段 数字图像处理技术被广泛应用于工业、农业、交通、气象、生物医学、军事、公安、机器人视觉、导航、多媒体信息网络通信等领域 给人类带来了巨大的经济和社会效益。
考虑到实际需要,在注重理论与实践的前提下,编写了这本实验指导资料。
本书以实践为基础,利用MATLAB 图像处理工具箱在数学运算和算法验证上的优势,结合教学实际,安排了熟悉matlab编程环境和图像基本操、图像变换、图像增强和滤波增强、图像滤波恢复、图像的压缩编码、图像的边缘检测和分割、图像分割后的目标对象的参数测量以及伪彩色图像处理等部分的相关实验8个。
通过具体的上机实践,激发同学们的学习激情在学习和实践中充分体验数字图像处理的内涵和它的魅力。
实验一熟悉matlab编程环境和图像基本操作一、实验目的及要求1.熟悉MATLAB编程环境2.熟悉图像的基本操作方法:读取、显示、保存、3.熟悉简单二值图像的创建以及图像的像素平移变换二、实验任务1.从电脑中读取一幅图片并显示,然后保存到一个制定路径2.创建一幅二值灰度图像,背景灰度级为0,图像中间矩形框的灰度级为255 3.对二值图像中矩形框的像素进行平移变换三、示例代码[iname,ipath]=uigetfile({'*.jpg';'*.bmp';'*.tif';'*.*'},'load image',''); %读取图片I=[ipath,iname];image=imread(I);imshow(image); %显示图片imwrite(image, 'picture.jpg'); %保存图片bwimage=zeros(256,256,'uint8'); %创建二值图像bwimage([100:156],[100:156])=255;imshow(bwimage);[M,N]=size(bwimage);shiftdis=80; %定义像素平移量R=[1,0,shiftdis;0,1,shiftdis;0,0,1]; %定义平移矩阵temp=[0,0,1]'resultimage=zeros(M,N,'uint8');for i=100:156 %平移转换for j=100:156temp(1)=i;temp(2)=j;transdot=R*temp;resultimage(transdot(1),transdot(2))=bwimage(i,j);endendfigure;imshow(resultimage);实验二图像变换(傅里叶、离散余弦)一、实验目的及要求1.熟悉傅里叶变换和离散余弦变换的原理2.掌握傅里叶变换和离散余弦变换的算法和应用二、实验任务1.从电脑中读取一幅图片并显示2.将读取的彩色图片转换为灰度图3.对灰度图分别进行傅里叶变换和离散余弦变换三、示例代码[iname,ipath]=uigetfile({'*.jpg';'*.bmp';'*.tif';'*.*'},'load image','');I=[ipath,iname];image=imread(I);imshow(image);figure;igray=rgb2gray(image); %将彩色图转换为灰度图imshow(igray,[]);figure;X=fft2(igray); %二维傅里叶变换X2=abs(X.^2);imshow(log(X2),[]);figure;Y=fftshift(X); %将低频点移动到中心Y=abs(Y);imshow(log(Y),[]);figure;imagecos=dct2(igray); %离散余弦变换imshow(log(abs(imagecos)))实验三图像的空域增强和滤波增强一、实验目的及要求1.熟悉图像的直方图计算方法和直方图均衡化原理2.熟悉图像的巴特沃斯滤波和理想低通滤波原理2.掌握图像的直方图计算的实现和直方图均衡化算法、图像的巴特沃斯滤波和理想低通滤波算法和应用二、实验任务1.从电脑中读取一幅图片并显示2.将读取的彩色图片转换为灰度图3.计算灰度图的统计直方图并进行直方图均衡化以增强图像4. 对灰度图进行维纳滤波三、示例代码[iname,ipath]=uigetfile({'*.jpg';'*.bmp';'*.tif';'*.*'},'load image','');I=[ipath,iname];image=imread(I);imshow(image);figure;igray=rgb2gray(image); %彩色图转换为灰度图imshow(igray,[]);figure;imhist(igray); %计算灰度图的统计直方图figure;eq_igray=histeq(igray); %灰度统计直方图均衡化imshow(eq_igray);figure; %显示均衡化化后的直方图imhist(eq_igray);%巴特沃斯滤波和理想低通滤波[iname,ipath]=uigetfile({'*.jpg';'*.bmp';'*.tif';'*.*'},'load image','');I=[ipath,iname];I1=imread(I);imshow(I1);title('原始图像');I1=rgb2gray(I1);figure;imshow(I1);I2=imnoise(I1,'salt & pepper');figure;imshow(I2);title('噪声图像');f=double(I2);g=fft2(f);%二维傅里叶变换g=fftshift(g);%转换数据矩阵[N1,N2]=size(g);n=2;d0=50;n1=fix(N1/2);n2=fix(N2/2);for i=1:N1for j=2:N2d=sqrt((i-n1)^2+(j-n2)^2);h=1/(1+0.414*(d/d0)^(2*n)); %计算巴特沃斯低通滤波转换函数result1(i,j)=h*g(i,j);if(g(i,j)>50) %进行理想低通滤波result2(i,j)=0;elseresult2(i,j)=g(i,j);endendendresult1=ifftshift(result1); %巴特沃斯低通滤波后反变换result2=ifftshift(result2); %理想低通滤波后反变换X2=ifft2(result1);X3=uint8(real(X2));figure;imshow(X3);title('Butterworth 滤波图像');X4=ifft2(result2);X5=uint8(real(X4));figure;imshow(X5);title('理想低通滤波器');实验四图像的滤波恢复一、实验目的及要求1.熟悉图像恢复的基本原理2.熟悉图像的维纳滤波恢复原理2.掌握图像的维纳滤波恢复算法和应用二、实验任务1.从电脑中读取一幅图片并显示2.将读取的彩色图片转换为灰度图3.人为对灰度图增加噪声4.利用维纳滤波算法对噪声图像进行恢复以提高显示质量三、示例代码d=15; %设定长度h=zeros(2*d+1,2*d+1);h(d+1,1:2*d+1)=1/(2*d); %设定函数h[iname,ipath]=uigetfile({'*.jpg';'*.bmp';'*.tif';'*.*'},'load image','');I=[ipath,iname];f=imread(I);imshow(f);f=rgb2gray(f);figure;imshow(f);[m,n]=size(f); %计算图像大小(尺寸)fe=zeros(m+2*d,n+2*d); %扩增ffe(1:m,1:n)=f;he=zeros(m+2*d,n+2*d);he(1:2*d+1,1:2*d+1)=h; %扩增hF=fft2(fe);H=fft2(he);ns=5*rand(m+2*d,n+2*d); %产生噪声g=ifft2(F.*H)+ns; %产生噪声且加载噪声的图像G=fft2(g);K=0; %É设定K值F_est=((H.^2)./(H.^2+K)).*G./H; %维纳滤波f_est=real(ifft2(F_est)); %恢复后的图像imshow(f); 显示原始图像figure;imshow(g(d+1:m+d,d+1:n+d),[min(g(:)) max(g(:))]); %、显示模糊后加噪声的图像figure;imshow(f_est(1:m,1:n),[min(f_est(:)) max(f_est(:))]);%显示恢复后的图像实验五图像的压缩编码一、实验目的及要求1.熟悉图像的压缩编码的基本原理和方法2.在MATLAB实现用离散余弦变换(DCT)对图像进行压缩编码2.在MATLAB实现用行程编码(RLE)对图像进行压缩编码二、实验任务1.从电脑中读取一幅图片2.利用DCT对图像进行压缩编码3.利用RLE对图像进行压缩编码三、示例代码%%DCT图像压缩编码[iname,ipath]=uigetfile({'*.jpg';'*.bmp';'*.tif';'*.*'},'load image','');IPATH=[ipath,iname];I=imread(IPATH);I=rgb2gray(I);I=im2double(I); %将原图像转换为双精度数据类型T=dctmtx(8); %产生二维DCT变换矩阵B=blkproc(I,[8 8],'P1*x*P2',T,T'); %计算二维DCT 矩阵T,转置T’(函数p1*x*p2的参数)mask=[ 1 1 1 1 0 0 0 01 1 1 0 0 0 0 01 1 0 0 0 0 0 01 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0]; %二值掩膜,用来压缩DCT系数,只保留DCT系数中左上角的10个B2=blkproc(B,[8 8],'P1.*x',mask); %只保留DCT变换的10个系数I2= blkproc(B2,[8,8],'P1*x*P2',T',T); %逆DCT,重构图像imshow(I);title('原图像'); %显示原图figure;imshow(I2);title('DCT压缩图像'); %显示压缩后的图像。
数字图像处理实验指导书
数字图像处理实验指导书臧兰云电子工程学院实验一图像基本运算一、实验目的:1、了解数字图像处理基础2、掌握数字图像处理的基本运算方法3、学习利用matlab进行数字图像处理的基本方法二、实验内容:1、根据图像采样原理,试对lena图像分别进行4和16倍减采样,查看其减采样效果。
2、对一幅图像加入椒盐噪声,并通过减法运算提取出噪声。
3、两幅二值图像进行逻辑与、或、非运算。
4、实现把一幅图像旋转45°,并分别采用把转出显示区域的图像截去和扩大显示区域范围以显示图像的全部两种方式。
5、选取一幅大小为256*256像素的图像,分别将图比例放大1.5倍,比例缩小0.7倍,非比例放大到420*384像素,非比例缩小到150*180像素。
三、思考与总结:1、将一幅图像如果进行4倍、16倍和64倍增采样会出现什么情况?是否有其他方法可以实现图像的采样?2、图像的选转会导致图像的失真吗?若有,有什么办法可以解决这个问题?3、由非比例缩放得到的图片能够恢复到原图片吗?为什么?实验二图像变换及增强一、实验目的:1、掌握图像变换的应用2、掌握数字图像处理的空间域及频域的增强方法二、实验内容:1、构造一幅图像并对其旋转一定的角度,求原始图像及旋转后图像的频谱图。
2、对一幅灰度图像进行均衡化,灰度等级为8级。
3、对一幅灰度图像采用多种方法实现平滑、锐化滤波。
4、对一幅图像进行幂次变换。
三、思考与总结:1、图像变换在图像处理中的应用?2、什么是傅里叶变换的旋转性?3、以上实验分别可以应用到那些实际问题中? 实验三图像压缩编码一、实验目的:1、掌握图像压缩编码的概念2、比较图像压缩编码的各种方法二、实验内容:1、计算一幅灰度图像的熵。
2、选择一种方法对图像进行压缩,并计算压缩比。
三、思考与总结:1、注释程序功能2、以上实验可以应用到那些实际问题中?实验四图像分割及彩色图像处理一、实验目的:1、掌握图像分割的基本原理2、掌握彩色图像处理方法二、实验内容:1、用全局阈值法对图像进行分割2、实现sobel算子及Roberts等算子的边缘提取算法3、生成一幅大小为256*256的RGB图像。
数字图像处理实验指导书(2014版)
齐鲁工业大学数字图像处理上机实验指导书电气工程与自动化学院电子信息工程系2014年3月10日实验一Matlab图像处理工具箱的初步练习实验目的:熟悉常用的图像文件格式与格式转换;熟悉图像矩阵的显示方法(灰度、索引、黑白、彩色);熟悉图像矩阵的格式转换。
实验内容:1.熟悉图像文件的读取、显示和保存;2.熟悉常用的图像文件格式,以及各种格式的转换;3.了解图像数据的存储形式,掌握在Matlab中获取图像数据的方法。
4.编写一个简单的图像处理程序(求反色图像)。
实验步骤:1.熟悉图像文件的读取、显示、保存以及格式转换1)读图像:分别读取不同格式的图像(灰度图像和索引图像和真彩色图像),观察工作空间,把得到的信息记录下来,理解其中的含义。
需要用到的主要函数:imread、load2)将1)中读入的图像显示出来。
需要用到的主要函数:imshow3)将1)中读入的图像分别转换成灰度图像、真彩色图像、二值图像,显示并保存成分别保存成数据文件(.mat)和图像文件(.jpg/.tif/.png)到你的文件夹中,观察工作空间,学会如何将图像数据显示在命令窗口。
需要用到的主要函数:ind2gray、ind2rgb、im2bw、save、imwrite4)从matlab的images文件夹中读取一幅真彩色图像(green.jpg)将其转换到HSV空间和YCrCb空间,并将这些图像保存成图像文件,到你的文件夹中。
需要用到的主要函数:imread、rgb2hsv、rgb2Ycbcr、imwrite注意:load函数和imread函数、save函数和imwrite函数的区别。
2.学习使用help功能。
打开image processing工具箱,看demo3.编写程序求一幅灰度图像的反色图像;图1 原图与反色图实验报告要求:实验报告要求包括实验目的、实验内容(概括)、实验步骤(要有具体的程序段)、每一步骤得到的实验结果和数据,以及对实验结果的分析,最后写出实验总结。
数字图像处理实验指导书
实验一数字图像处理编程根底一、实验目的1, 了解MATLAB图像处理工具箱;2.掌握MATLAB的根本应用方法;3,掌握MATLAB图像存储/图像数据类型/图像类型;4.掌握图像文件的读/写/信息查询;5.掌握图像显示--显示多幅图像、4种图像类型的显示方法;6.编程实现图像类型间的转换.二、实验原理略.三、实验内容1,实现对图像文件的读/写/信息查询,图像显示--显示多幅图像、4种图像类型的显示方法、图像类型间的转换.2.运行图像处理程序,并保存处理结果图像.四、分析思考归纳总结Matlab各个根本指令.Dither采用“抖动〞方法从RGB图像创立索引图像grayslice从灰度图像通过阈值处理创立索引图像gray2ind从灰度图像创立索引图像ind2gray从索引图像创立灰度图像rgb2ind从RGB图像创立索引图像ind2rgb从索引图像创立RGB图像rgb2gray从RGB图像创立灰度图像实验二图像几何变换实验一、实验目的1.学习几种常见的图像几何变换,并通过实验体会几何变换的效果;2.掌握图像平移、剪切、缩放、旋转、镜像等几何变换的算法原理及编程实现;3.掌握matlab编程环境中根本的图像处理函数.二、实验原理1.初始坐标为〔x,y〕的点经过平移〔x°,y o〕,坐标变为〔x',y'〕,两点之间的关系为:x′ x x0,以矩阵形式表示为:y y y.x' 1 0 x0 xy' 0 1y o y1 0 0 112 .图像的镜像变换是以图象垂直中轴线或水平中轴线交换图像的变换,分为垂直镜像变换和水平镜像变换,两者的矩阵形式分别为:x' 1 0 0 x x' 1 0 0 xy' 0 1 0 y y' 0 1 0 y1 0 0 1 1 1 0 0 1 13 .图像缩小和放大变换矩阵相同:4 ' S X0 0 x5 ' 0 S y 0 y1 0 0 11当S x " S y 1时,图像缩小;当S x 1, S y 1时,图像放大.4.图像旋转定义为以图像中某一点为原点以逆时针或顺时针方向旋转一定角度.其变换矩阵为:x' cos sin 0 xy' sin cos 0 y1 0 0 1 1该变换矩阵是绕坐标轴原点进行的,如果是绕一个指定点旋转,那么先要将坐标系平移到该点,进行旋转,然后再平移回到新的坐标原点.三、实验内容1.启动MATLAB程序,对图像文件分别进行平移、垂直镜像变换、水平镜像变换、缩放和旋转操作.2.运行图像处理程序,并保存处理结果图像.四、分析思考图像旋转是点运算还是领域运算,在本实验中你采用了哪种插值法,试比拟不同的插值法的效果.实验三图像增强实验一、实验目的1,掌握根本的图像增强方法,观察图像增强的效果,加深对灰度直方图的理解.2,掌握对数和和指数增强,直方图均衡化方法,重点掌握图像直方图增强的原理和程序设计.二、实验原理对数变化能对原图像的动态范围进行压缩,其数学表达如下:t C log(1 |s|)其中C为尺寸比例常数.指数变化一般的表示形式:g(x,y)b c[f(x,y) a] 1 (a,b,c用于调整曲线的位置和形状的参数.)利用直方图统计的结果,使图像的直方图均衡的方法称为直方图均衡化,直方图均衡化可以到达增强图像显示效果的作用. 通过直方图统计,可以观察出,图像中各种亮度所占的比例大局部布不均匀, 设法增加在直方图统计中所占比例高的象素和其他比例少的象素之间亮度差,可以提升图像的显示效果.简单来说,直方图增强的方法就是压缩直方图中比例少的象素所占用的灰度范围, 多出来的灰度空间根据统计比例分配给直方图中比例高的象素使用. 这种方法主要是针对人眼对灰度差异越大的图像越容易分辨的特点而进行的增强.三、实验内容1.实现对数增强或指数增强.2.实现图像直方图均衡化增强.四、分析思考思考为什么进行图像直方图均衡化后,能够增强图像效果.实验四图像滤波实验一、实验目的掌握中值滤波方法,掌握图像锐化方法,比拟各个梯度算子锐化的效果.掌握频域滤波方法,观察低通滤波和高通滤波的效果.二、实验原理中值滤波是一种非线性平滑滤波,它是用一个有奇数点的滑动窗口,将窗口中央点的值用窗口各点的中值代替.图像的锐化是使边缘和轮廓线模糊的图像变得清楚, 使其细节更加清楚.从数学上看,图像模糊的实质是图像受到平均或者积分运算的影响,因此对其进行逆运算〔如微分运算〕就可以使图像清楚.在频域上卷积被表示为乘积,因此在频域上对图像进行滤波就变得更加直观了.在频域上进行滤波的步骤:1)计算需增强的图像的傅里叶变化.2)将其与1个传递函数相乘.3)再将结果进行傅里叶逆变化可以得到增强的图像.三、实验内容1.选择测试图像分别添加高斯、椒盐、泊松噪声,实现中值滤波;2.选择测试图像实现两种常用梯度算子〔Sobe算子、Prewitt 算子〕;3.选择测试图像实现理想低通滤波;4.选择测试图像实现巴特沃斯高通滤波四、分析思考依次给出“均值滤波器、中值滤波器、laplace滤波器〞是线性还是非线性的.实验五图像分割实验一、实验目的1.掌握梯度边缘检测算子,了解拉普拉斯边缘检测算子和Canny 边缘检测算子;2.掌握边界跟踪方法及其原理;3.掌握自动阈值法和分水岭法二、实验原理图像分割是根据一定的规那么把图像划分成假设干个互不相交、具有一定性质的区域,把人们关注的局部从图像中提取出来, 进一步加以研究分析和处理.图像分割的结果是图像特征提取和识别等图像理解的根底,对图像分割的研究一直是数字图像处理技术研究中的热点和焦点.图像分割使得其后的图像分析,识别等高级处理阶段所要处理的数据量大大减少,同时又保存有关图像结构特征的信息. 图像分割在不同的领域也有其它名称,如目标轮廓技术、目标检测技术、阈值化技术、目标跟踪技术等,这些技术本身或其核心实际上也就是图像分割技术.边缘是图像上灰度变化最剧烈的地方,传统的边缘检测就是利用了这个特点,对图像各个像素点进行微分或求二阶微分来确定边缘像素点.一阶微分图像的峰值处对应着图像的边缘点;二阶微分图像的过零点处对应着图像的边缘点.根据数字图像的特点,处理图像过程中常采用差分来代替导数运算,对于图像的简单一阶导数运算,由于具有固定的方向性,只能检测特定方向的边缘,所以不具有普遍性.为了克服一阶导数的缺点,我们定义图像的梯度为梯度算子,它是图像处理中最常用的一阶微分算法.图像梯度的最重要性质是梯度的方向是在图像灰度最大变化率上,它恰好可以反映出图像边缘上的灰度变化.三、实验内容1.实现三种梯度算子(Roberts> Sobel、Prewitt)的边缘检测.2,实现对一张二值图像的边界跟踪.3.实现分水岭算法.四、分析思考如何实现彩色图像的边缘检测?梯度算子和拉普拉斯算子、Canny算子本质区别实验六运动目标检测实验一、实验目的掌握背景差值法对运动目标的检测原理及其程序设计, 并实现背景更新;了解图像图像差分法和基于光流的分割方法.二、实验原理背景差值法假设图像背景是静止不变的,用 b 〔x,y 〕表示,定义图 像序列为f 〔x,y,i 〕,其中〔x,y 〕为图像位置的坐标;i 为图像帧数.将每 一帧图像的灰度值减去背景的灰度值可得到一个差值图像:id(x,y,i) f(x,y,i) b(x, y)通过设置阈值T 可得到二值化差值图像:其中取值为1和0的像素点分别对应于前景〔运动目标区〕和背 景〔非运动目标区〕.三、实验内容1,实现背景差值法对运动目标的检测; 2.实现背景的更新. 四、分析思考如何去除背景噪声,当场景受光照等环境因素影响时,该如何处 理背景.bid(x, y,i)1 如果|id(x,y,i)| T 0 其他。
数字图像处理实验指导书
实验五:图像压缩一. 实验目的通过调用Matlab有关二维余弦变换和小波变换函数对图像进行压缩与重构, 从而对图像压缩的变换域主要方法和图像压缩的效果有更为直观的认识.二. 实验设备装有Matlab软件的PC机.三. 实验内容和原理1.使用二维离散余弦变换(DCT)进行图像压缩。
显示原图像、DCT系数图像、重构图像与误差图像(原图像与重构图像之差),并计算均方误差MSE。
原始图像被转换成为8⨯8大小的块进行压缩与重构,重构时IDCT仅使用DCT系数的子集。
压缩后,仅保留具有较大方差的若干个DCT系数,丢弃其它的有较小方差的DCT系数,因为它们对重构的影响较小。
压缩应该做到在最合理地近似原图像的情况下使用最少的系数。
MATLAB程序如下:%Exam3%function Exam3(trueImage,Cnum)%trueImage:待压缩的原图像%Cnum:压缩时保留的系数的个数trueImage=double(trueImage)/255;%转化为双精度型figure;imshow(trueImage);title('original image');%显示原始图像%以下为对图像进行DCT变换,%得到图像的DCT系数矩阵及DCT系数方差矩阵dctm=dctmtx(8);%计算DCT矩阵,返回8⨯8DCT变换矩阵imageDCT=blkproc(trueImage,[8 8],'P1*x*P2',dctm,dctm.');%对图像实行不同的块处理DCTvar=im2col(imageDCT,[8 8],'distinct').';%重排图像块为矩阵列%求矩阵的行数DCTvar=(sum(DCTvar.*DCTvar)-(sum(DCTvar)/n).^2)/n;[dum,order]=sort(DCTvar);%排序%以下为显示系数图像%1表示保留的系数,0表示丢弃的系数Cnum=64-Cnum;mask=ones(8,8);%全1矩阵mask(order(1:Cnum))=zeros(1,Cnum);im8x8=zeros(9,9);im8x8(1:8,1:8)=mask;im128x128=kron(im8x8(1:8,1:8),ones(16));%Kronecher张量积figure;imshow(im128x128);title('DCT coefficients');%显示DCT系数图像%以下为重构及显示图像dctm=dctmtx(8);newImage=blkproc(imageDCT,[8 8],'P1*(x.*P2)*P3',dctm.',mask(1:8,1:8),dctm);figure;imshow(newImage);title('reconstructed image');figure;imshow(trueImage-newImage+0.45);title('error image');%显示误差图像error=(trueImage.^2-newImage.^2);MSE=sum(error(:))/prod(size(trueImage))%计算归一化图像的均方误差2. 使用小波变换进行图像压缩利用小波变换进行图像压缩过程如下:(1)对图像进行小波分解。
《数字图象处理》实验指导书
《数字图象处理》实验和大作业指导书计算机科学与工程学院目录目录 (1)实验一:数字图像读取及色彩、亮度、对比度变化 (2)实验二:数字图像变换与伽马校正 (3)实验三:数字图像的噪声去除 (4)实验四:图像的空间域锐化(拉普拉斯算子) (5)实验五:频率域低通和高通滤波 (6)实验六:数字图像复原 (7)实验七:人脸皮肤颜色分层 (8)大作业 (9)实验一:数字图像读取及色彩、亮度、对比度变化一、实验目的:了解数字图像的存储格式,并学会对图像的某些视觉特征作简单处理。
二、实验要求:1.从最常用的“.BMP”图像格式中读取图像数据;2.对数字图像的表示方式(如RGB、YUV)及各种表示方式之间的转换有初步了解;3.根据输入参数改变数字图像的色彩、亮度、对比度。
三、实验步骤:1.根据BMP格式,将图像内容读入内存数组;2.通过访问数字图像RGB三个通道的对应矩阵,改变数字图像的色彩;3.将数字图像的RGB表示转换为YUV表示;Y=0.30R+0.59G+0.11BU=0.70R-0.59G-0.11BV=-0.30R-0.59G+0.89B4.通过访问Y(亮度)通道,改变数字图像的亮度;5.通过Y(亮度)通道作灰度的线性变换,改变数字图像的对比度。
四、实验图像:实验二:数字图像变换与伽马校正一、实验目的:了解数字图像的灰度反变换和γ(0.4,0.6,0.8)校正。
二、实验要求:1. 对图像进行灰度变换。
2. 对图像进行γ校正。
三、实验步骤:1. 将BMP图像内容读入内存数组。
2. 调整图像的灰度,对图像进行灰度变换(反变换)。
3. 对图像进行γ较正,分别取值为0.4,0.6,0.8.四、实验图像:灰度变换γ较正实验三:数字图像的噪声去除一、实验目的:学会用滤波器去除图像中的噪声。
二、实验要求:1.用均值滤波器去除图像中的噪声; 2.用中值滤波器去除图像中的噪声; 3.比较两种方法的处理结果三、实验步骤:1.根据BMP 格式,将图像内容读入内存数组; 2.用均值滤波器去除图像中的噪声;3.用中值滤波器去除图像中的噪声;将两种处理方法的结果与原图比较; 4.注意两种处理方法对边缘的影响。
《数字图像处理》实验指导书2014
电子信息学院《数字图像处理》实验指导书适用专业:通信工程、电子信息工程贵州大学二OO 七年八月通过本课程的学习要求学生学习和掌握数字图像处理中的一些基本理论和处理方法:图像的基本运算,图像的增强处理(平滑滤波、锐化滤波、频域滤波)及基本的图像变换和简单的图像分割处理方法。
为了使学生更好的理解和深刻掌握以上知识,培养学生对数字图像的分析和处理能力设置了以下几个实验项目:实验一图像的基本运算及常用变换;实验二数字图像的增强处理;实验三数字图像分割处理。
其中实验二和实验三为综合设计性实验。
学生应认真阅读《数字图像处理》教材中的与实验相关的章节内容,提前做好实验预习,做到每个实验前明确实验目的、掌握实验的基本内容及操作方法;在实验中正确使用实验设备,认真观察实验结果;实验后根据要求做好总结,上交实验报告。
实验一:图像的基本运算及常用变换 (1)实验二:数字图像的增强处理 (6)实验三:数字图像复原处理 (9)实验报告的基本内容及要求 (11)实验一:图像的基本运算及常用变换实验学时:2实验类型:验证实验要求:必修一、实验目的通过本实验的学习使学生熟悉MATLAB图像处理工具箱的编程和使用;掌握数字图像的基本算术运算和逻辑运算的原理和应用;掌握常用的变换:二维离散傅立叶变换、二维离散余弦变换的正反变换,及一些性质的验证。
二、实验内容1、彩色图像文件的读取和显示。
2、利用8邻域平均法对图像去噪。
3、编写程序。
读取图像manface1.jpg和manface2.jpg。
用两图像相减的方式获取运动轨迹4、二维离散傅立叶变换的平移性质验证。
5、二维离散余弦变换的应用。
三、实验原理1、图像文件的读取:imread函数语法:A = imread(‘filename’,fmt)[X,map] = imread(‘filename’,fmt)[...] = imread(‘filename’)[...] = imread(...,idx) (CUR, ICO, and TIFF only)[...] = imread(...,ref) (HDF only)[...] = imread(...,'BackgroundColor',BG) (PNG only)[A,map,alpha] = imread(...) (PNG only)2、图像文件的显示:imshow函数当用户调用imshow函数显示一幅图像时,该函数将自动设置图像窗口、坐标轴和图像属性。
数字图像处理实验指导书
实验一 Matlab图像处理工具箱的初步练习一、实验目的和任务1、初步了解与掌握MA TLAB语言的基本用法;2、掌握MA TLAB语言中图象数据与信息的读取方法;3、掌握在MA TLAB语言中图像类型的转换。
二、实验仪器、设备及材料1、计算机2、MatLab软件/语言包括图像处理工具箱(Image Processing Toolbox)3、实验所需要的图片三、实验原理将数字图像的RGB表示转换为YUV表示;Y=0.30R+0.59G+0.11BU=0.70R-0.59G-0.11BV=-0.30R-0.59G+0.89B四、实验步骤1、阅读资料并熟悉MatLab的基本操作2、读取MATLAB中的图象数据3、显示MATLAB中的图象文件。
用MATLAB在自建的文件夹中建立m文件,在这个文件的程序中,将MA TLAB目录下work文件夹中的tree.tif 图象文件读出,用到imread,imfinfo等命令,观察一下图象数据,了解一下数字图象在MA TLAB中的处理就是处理一个矩阵的本质。
4、将3中的图象显示出来(用imshow)。
5、对MA TLAB目录下work文件夹中的flowers.tif进行真彩色图像、索引色图像、灰度图像、二值图像之间的相互变换,并显示。
6、进行真彩色图像RGB(lenacolor.jpg)、YIQ图像、HSV图像、YcbCr图像的相互转换,并显示。
五、实验报告要求1、描述实验的基本步骤;2、用图片给出步骤4、5、6中取得的实验结果;六、实验所需图片lenacolor.jpg七、实验注意事项1、学生应提前预习2、请大家在E盘建一个目录(matlab),在每次启动时都要将这个目录加入到MATLAB的搜索路径中,添加的方法为File----Set Path----Tool---Add Path八、思考题1、图像之间转换的基础是什么,为什么可以实现相互的转换九、附录MATLAB简介 (1)MATLAB全称是Matrix Laboratory(矩阵实验室),一开始它是一种专门用于矩阵数值计算的软件,从这一点上也可以看出,它在矩阵运算上有自己独特的特点。
《数字图像处理》实验指导书2014
《数字图像处理》实验指导书华北水利水电大学信息工程学院2014年5月目录实验守则 (1)实验一图像增强和平滑 (2)实验二图像的几何变换 (7)实验三图像形态学处理 (9)实验四图像分割和边缘检测 (5)实验五数字图像处理使用 (12)附录 1 MATLAB简介 (16)实验守则为了加强实验室管理,提高实验教学质量,培养学生理论联系实际的学风,提高实际操作技能,确保人身和设备的安全,特制定如下守则:1.实验前要认真预习,了解实验目的、实验原理、实验线路、实验步骤及欲测的物理量。
熟悉和实验有关的仪器设备的用途、使用方法及注意事项。
能回答指导教师的提问。
2.实验时应听从教师指导,严格按实验步骤进行,如实记录实验数据,积极思考和分析实验中发生的现象。
实验中如遇事故应立即关断电源、保持现场,报告指导教师及时处理。
如有损坏仪器或器件,要填写事故原因及报损单。
3.实验完毕应立即关断电源,把实验记录交指导教师检查合格后方可拆除线路。
如发现实验记录有不当和错误之外,应立即重作。
要把所有仪器、仪表、工具、导线整理好。
经指导教师清点后方可离开实验室。
4.要爱护公物。
实验室所有的仪表、工具、器件等一律不得擅自带出。
实验中如需更换仪器、仪表、工具、器件等,必须经指导教师同意。
不得擅自更换或乱拿他组物品。
未经允许,不得擅自拆卸实验用的仪器、设备。
5.实验时要严肃认真,讲究文明、礼貌,要保持安静和室内整洁,不随地吐痰和乱抛杂物。
实验完毕要打扫实验室卫生。
6.书写实验报告时,语言要力求简练,书写应端正,作图应正规。
实验报告一般应包括以下内容:(1) 实验目的;所用仪器、仪表、器件的名称及规格型号;实验电路原理图。
(2) 实验项目(指导书中的详细内容不必抄录);测试记录表;波形图及现象记录。
(3) 实验数据整理,计算后的结果、及根据实验数据绘制的曲线。
(4) 实验分析,应包括和理论计算值的比较、现象分析。
7.关于实验考核:学生在实验课中的实际技能水平和实验报告的质量是评定本课程实验成绩的标准。
数字图像处理实验指导书
(一)数字图像处理系统的安装调试原理:MATLAB 语言是由美国MathWorks 公司推出的计算机软件,现已成为国际公认的最优秀的科学计算与数学应用软件之一,它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境,而且还具有可扩展性特征。
MathWorks 公司针对不同领域的应用,推出了信号处理、控制系统、神经网络、图像处理、小波分析、鲁棒控制、非线性系统控制设计、系统辨识、优化设计、统计分析、财政金融、样条、通信等30 多个具有专门功能的工具箱,这些工具箱是由该领域内的学术水平较高的专家编写的,无需用户自己编写所用的专业基础程序,可直接对工具箱进行运用。
同时,工具箱内的函数源程序也是开放性的,多为M 进行文件,用户可以查看这些文件的代码并进行更改,MALAB 支持用户对其函数二次开发,用户的应用程序也可以作为新的函数添加到相应的工具箱中。
MATLAB中的数字图像是以矩阵形式表示的,这意味着MATLAB 强大的矩阵运算能力用于图像处理非常有利,矩阵运算的语法对MATLAB 中的数字图像同样适用。
数字图像处理工具箱函数包括以下15 类:、⑴、图像显示函数;⑵、图像文件输入、输出函数;⑶、图像几何操作函数;⑷、图像像素值及统计函数;⑸、图像分析函数;⑹、图像增强函数;⑺、线性滤波函数;⑻、二维线性滤波器设计函数;⑼、图像变换函数;⑽、图像邻域及块操作函数;⑾、二值图像操作函数;⑿、基于区域的图像处理函数;⒀、颜色图操作函数;⒁、颜色空间转换函数;⒂、图像类型和类型转换函数。
MATLAB 图像处理工具箱支持四种图像类型,分别为真彩色图像、索引色图像、灰度图像、二值图像,由于有的函数对图像类型有限制,这四种类型可以用工具箱的类型转换函数相互转换。
MATLAB 可操作的图像文件包括BMP、HDF、JPEG、PCX、TIFF、XWD 等格式。
实验内容:MATLAB操作基础包括MATLAB的安装及界面使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字图像处理实验指导书自动化工程学院2014年11月试行实验一数字图像的获取一.实验目的1. 熟悉MATLAB软件的操作环境,掌握基本的程序调试方法和简单的编程; 2.学会读出MATLAB目录下图像文件并进行旋转、加亮、取反、多幅图像显示等基本操作。
二.实验内容1.读取和显示I=imread(‘rice.png’);%读取图像imshow(I) ;2.直方图在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。
I=imread('cameraman.tif');%读取图像subplot(1,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题3.加亮RGB=imread(‘peppers.png’);%读取图像RGB2=imadd(RGB,50);subplot(2,2,1);imshow(RGB);subplot(2,2,2);imshow(RGB2);4.取反I=imread(‘rice.png’);J=imcomplement(I);Imshow(J);5.翻转I = imread('cameraman.tif');1figure,imshow(I);theta = 30;K = imrotate(I,theta); % Try varying the angle, theta.figure, imshow(K)6.图片大小I=imread(‘rice.png’);[m,n]=size(I)7.缩放在matlab环境中,程序首先读取图像,然后调用图像缩放函数,设置相关参数,再输出处理后的图像。
I = imread('cameraman.tif');figure,imshow(I);scale = 0.5;J = imresize(I,scale);figure,imshow(J);8.图像二值化操作I=imread('rice.png');J=im2bw(I,0.4);imshow(J)9.图像合成(1)图像加运算i=imread('cameraman.tif')j=imread('rice.png')k=imadd(i,j);imshow(k)注意:两幅图像的大小和类型必须是相同的。
(2)图像减运算i=imread('AT3_1m4_01.tif');j=imread('AT3_1m4_02.tif');K=imsubtract(i,j);%函数将负值截断为0,显示效果为黑,可用于探查同一场景的多幅图像的变化。
imshow(K)2(3)图像的乘法两幅图相乘,使用immultiply函数,该函数对两幅图的对应像素进行逐元素的点乘(.*)运算,并将计算结果返回给输出图像的对应像素。
图像与常数相乘是一个常见的图像处理操作,如果常数大于1,结果图像变亮,如果常数小于1,结果图像变暗。
一般情况下,图像乘运算比加运算得到的明暗效果更自然。
i=imread('rice.png');j=immultiply(I,1.2);imshow(i)figureimshow(j)10.逻辑运算对于二值图像,可以用MATLAB的逻辑操作符进行逻辑运算。
首先,读入两幅灰度图像rice.png和cameraman.tif,将它们转换为二值图像并显示,指令如下:i=imread('rice.png');j=imread('cameraman.tif');i2=im2bw(i,0.4);j2=im2bw(j,0.4);imshow(i2)figure;imshow(j2)用逻辑操作符对上面两图进行与运算、或运算、非运算和异或运算imshow(i2&j2)figureimshow(i2|j2)figureimshow(~j2)figureimshow(xor(i2,j2))三.作业及思考题1.调试2~10题的程序。
2.直方图的概念?3.结合本次实验思考黑白图和灰度图是否有区别?3实验二中值、均值滤波一.实验目的1.学会读出MATLAB目录下图像文件并进行中值、均值滤波等基本操作实现对图像的基本变换;2.学会直方图和灰度以及图像清晰度之间的关系,并且能熟练掌握如何使图像变清晰;3. 学会对图像进行傅里叶变换,以及基于三种边缘算子(Sobel、Prewitt、Log)边缘算子的边缘检测技术二. 实验内容1 均值滤波定义:调用图像增强(均值滤波)函数,设置相关参数,再输出处理后的图像。
实现:I = imread('cameraman.tif');%’图片名’figure,imshow(I);J=filter2(fspecial(‘average’,3),I)/255;figure,imshow(J);2. 中值滤波定义:中值滤波是对一个滑动窗口内的诸像素灰度值排序,用其中值代替窗口中心象素的原来灰度值,它是一种非线性的图像平滑法,它对脉冲干扰级椒盐噪声的抑制效果好,在抑制随机噪声的同时能有效保护边缘少受模糊。
实现:I = imread('cameraman.tif');4figure,imshow(I);J=medfilt2(I,[5,5]);% [5,5]是5*5窗口,如果3*3窗口则直接表示为J=medfilt2(I) figure,imshow(J);3. 边缘检测定义:调用图像边缘检测(Sobel、Prewitt、Log边缘算子)函数,设置相关参数,再输出处理后的图像。
实现:I = imread('cameraman.tif');J1=edge(I,'sobel');% 三种定义边缘的方法: ‘sobel’’prewitt’’log’J2=edge(I,'prewitt');J3=edge(I,'log');subplot(1,4,1),imshow(I);subplot(1,4,2),imshow(J1);subplot(1,4,3),imshow(J2);subplot(1,4,4),imshow(J3);4 图像的傅里叶变换定义:利用MATLAB软件实现数字图像傅立叶变换,设置相关参数,再输出处理后的图像。
实现:I=imread('cameraman.tif'); %读入原图像文件imshow(I); %显示原图像fftI=fft2(I); %二维离散傅立叶变换5sfftI=fftshift(fftI); %直流分量移到频谱中心RR=real(sfftI); %取傅立叶变换的实部II=imag(sfftI); %取傅立叶变换的虚部A=sqrt(RR.^2+II.^2);%计算频谱幅值A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225;figure; %设定窗口imshow(A); %显示原图像的频谱5 彩色图像变换成灰度图像RGB = imread(‘有色图像路径’);I = rgb2gray(RGB);Imshow(RGB); %显示原图像Title(‘原图像’); %给原图像加标题名Figure;imshow(I); %显示变换后的灰度图像Title(‘灰度图’) ;6利用DCT变换进行图像压缩的MATLAB程序实现:RGB = imread(‘有色图像路径’);I = rgb2gray(RGB);J = dct2(I);imshow(log(abs(J)),[]), colormap(jet(64)), colorbarJ(abs(J) < 10) = 0;6K = idct2(J);figure,imshow(I)figure,imshow(K,[0 255])三.作业1 思考:边缘检测有哪几种常用的算子?2 中值、均值滤波的原理以及对图像的变化?(原理以3*3窗口说明,图像变化用程序来实现)3完成任意彩色图像到灰度图像的转换4用一种算子完成对图像边缘的检测7实验三直方图均衡化增强图像对比度一.实验目的1.学会读出MATLAB目录下图像文件并进行直方图均衡化、图像分割、直方图均衡化增强图像对比度等基本操作;2.学会直方图的灰度变换方法;3. 学会和在视图中取得像素点的坐标二.实验内容1.直方图均衡化:定义:直方图是像素点的灰度值的统计数据图,它反映了视图中所有像素点的灰度分布,直接影响图像的清晰度,对比度以及后期处理的难度,所以对图像绘制直方图是图像处理初期一个非常重要的步骤,直方图均衡化是对已有图像进行图像处理,达到重新分配灰度,使图像的清晰度,对比度更强的图像处理操作。
实现:I=imread('cameraman.tif'); % 读入原图像J=histeq(I); %对原图像进行直方图均衡化处理Imshow(I); %显示原图像Title(‘原图像’); %给原图像加标题名Figure;imshow(J); %对原图像进行屏幕控制;显示直方图均衡化后的图像Title(‘直方图均衡化后的图像’) ; %给直方图均衡化后的图像加标题名Figure; subplot(1,2,1) ;%对直方图均衡化后的图像进行屏幕控制;作一幅子图作为并排两幅图的第1幅图Imhist(I,64); %将原图像直方图显示为64级灰度Title(‘原图像直方图’) ; %给原图像直方图加标题名Subplot(1,2,2); %作第2幅子图Imhist(J,64) ; %将均衡化后图像的直方图显示为64级灰度Title(‘均衡变换后的直方图’) ; %给均衡化后图像直方图加标题名2.直方图均衡化增强图像对比度定义:直方图均衡化可以增加图像的对比度,以下程序实现图像均衡化对对比度的影响。
实现:A=imread('d:\pepper.bmp');%注意路径,这个是彩色图片B=rgb2gray(A)T=graythresh(B);g=im2bw(B,T);8subplot(121),imshow(B);subplot(122),imshow(g);3.简单的图像分割定义:简单的图像分割可以用边缘检测来实现,我们用LOG和 CANNY算子对图像进项简易分割。
3.1使用LoG (拉普拉斯-高斯)算子的进行图像分割实验实现:I=imread('cameraman.tif');Imshow(I);BW=edge(I,‘log’);Figure,imshow(BW,[]);3.2使用CANNY算子对图像进行分割实验实现:I=imread('cameraman.tif');Imshow(I);BW=edge(I, ‘canny’);Figure,imshow(BW,[]);4.在视图中取得像素点的坐标定义:视图中,某些特征点的位置是用点坐标来确定的,通过MATLAB程序,可以直接读取特征点的坐标。