数字图像处理实验指导书(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图像。
- 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程序,可以直接读取特征点的坐标。