(整理)数字图像处理实验指导书 _贵州大学

合集下载

数字图像处理实验指导书

数字图像处理实验指导书

数字图像处理实验指导书Digital image processing ExperimentalInstruction崔艳秋许爽大连民族学院Dalian nationalities university数字图像处理实验指导书机电信息工程学院(College of Electromechanical and Information Engineering)2009年7月10日基本要求Basic requirements1.学生必须按时到实验室做实验,不得迟到早退,未经老师批准不得中途离开。

凡迟到者,应给予批评并作适当扣分。

实验课迟到20分钟以上及无故缺席者视为旷课,旷课者不予补做实验,本次实验以零分计。

学生因病或特殊情况不能按时到实验室做实验时,应办理正常请假手续。

请病假必须有医生签字的病假条,请事假必须有班主任签字的事假条。

不符合请假手续的,以旷课论处。

请假的学生由指导教师安排补做实验。

对于未做实验数达三分之一以上(含三分之一)的学生,实验课程按0分计。

2.学生在每次实验课之前,应仔细阅读实验教材,查阅相关的资料,写出预习报告。

预习报告的具体内容包括:实验内容、实验目的、实验原理图、实验步骤、实验数据记录表格等。

实验课前由任课教师检查预习报告,未写预习报告者不予做实验。

3.做实验前,了解设备的原理和正确使用方法。

在没有弄懂仪器设备的使用方法前,不得贸然使用,否则因使用不当造成仪器设备损坏的,根据大连民族学院《仪器设备损坏丢失处理暂行办法》规定进行处理。

实验室内设备在实验过程中不准任意搬动和调换,非本次实验所用仪器设备,未经指导教师允许不得动用。

4.要求每位学生在实验过程中,要具有严谨的学习态度、认真、踏实、一丝不苟的科学作风。

实验过程中学生按照预习的内容进行实验,且重视实验的调试过程,学会如何根据实验现象判断问题所在。

坚持每次实验都要亲自动手,不可“坐车”,每个实验每个学生都要独立完成,不允许抄袭,无特殊原因,中途不得退出实验,否则本次实验无效。

《数字图像处理》实验指导书1

《数字图像处理》实验指导书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方法的功能是在指定的位置画一个指定颜色的点。

数字图像处理实验指导书

数字图像处理实验指导书

数字图像处理实验指导书《数字图像处理》实验指导书实验一数字图像文件基本类型转换一、实验目的 1. 了解Matlab支持4种图像类型:灰度图像、二值图像、索引图像和RGB图像。

2. 学会运用MATLAB 实现4种类型之间的转换。

3. 熟练掌握在MATLAB中如何读取和存储图像。

4. 掌握图像间的基本运算。

二、实验原理数字图像处理就是将图像信号转换成数字格式并利用计算机对其进行一系列的操作,以得到所期望的结果。

它基本的步骤可分为图像信息的获取、存储、处理、传输、输出和显示。

数字图像处理的基本方法包括图像数字化、图像变换、图像增强、图像恢复、图像压缩编码、图像分割、图像分析与描述和图像识别分类。

应用领域则是非常广泛,主要包括有宇宙探测、通信工程、遥感、生物医学、工业生产、军事公安、信息安全和信息检索等。

1、数字图像的特点⑴相比于语音等其他信号,图像具有信息量大、占用频带宽的特点。

在图像通信中,有限信道根本无法实时传输图像,这对图像频带压缩提出了很高的要求。

⑵像素间相关性大。

在同一帧内各相邻像素间具有相同或相近的灰度可能性很大,而运动图像的相邻帧相关性更大。

这些都说明数字图像中存在着大量的冗余,通过减少或消除这些冗余,进行图像压缩的可能性很大。

在数字图像处理中,一方面要充分考虑人的视觉特性,简化处理过程。

2、图像的读取及存储⑴图像的读取读取图像函数:imread() 格式:变量名=imread(‘路径\\文件名’,‘文件格式’) 例:x=imread(‘‘, ‘jpg’); 需要注意的是这是简略的写法,说明这幅图片在MATLAB的默认路径下。

⑵图像的保存①将图像写到文件imwrite() 格式:imwrite(变量名,‘新文件名’) 例:imwrite(x,’new_’) 此时图片会自动存入默认路径下。

②将图像用save命令以mat文件形式保存到磁盘中,以后可用load命令调用。

格式:save 保存的文件名变量名load 保存的文件名3、数字图像的表示和类别一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。

《数字图像处理》实验指导书

《数字图像处理》实验指导书

数字图像处理实验指导书电气信息工程系实验中心2008年8月目 录实验一、数字图像获取实验二、图像的傅立叶变换实验三、图像增强实验四、图像压缩实验一、数字图像获取一、实验目的1.掌握使用扫描仪等数字化设备以及计算机获取数字图像的方法;2.修改图像的存储格式。

二、实验仪器1.计算机;2.扫描仪(或数码相机、数字摄像机)及其驱动程序盘;3.图像处理软件(画图,photoshop, Microsoft photo edit等);4.记录用的笔、纸。

三、 实验内容用扫描仪获取图像也是图像的数字化过程的方法之一,扫描仪按种类可以分为手持扫描仪,台式扫描仪和滚筒式扫描仪(鼓形扫描仪)。

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

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

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

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

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

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

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

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

数字图像处理实验指导书

数字图像处理实验指导书

《课程名称》实验指导书适用专业:自动化课程代码: 84018091 学时: 6 学分: 0.5 编写单位:机械工程及自动化学院编写人:蒋代君审核人:审批人:目录实验一 Matlab图像处理工具箱的初步练习 .............................................................................................. - 2 - 实验二图像的空域处理方法 ....................................................................................................................... - 5 - 实验三图像的空域处理方法 ....................................................................................................................... - 8 - 实验四图像分割和目标识别 ..................................................................................................................... - 13 -实验一 Matlab图像处理工具箱的初步练习一、实验目的和任务1、初步了解与掌握MATLAB语言的基本用法;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中的图象文件。

《数字图像处理》实验指导书

《数字图像处理》实验指导书

数字图像处理实验指导书信息科学与工程学院电子系二○○六年前言数字图像处理是研究数字图像处理的基本理论、方法及其在智能化检测中应用的学科,是电子信息类本科专业的专业课。

本课程侧重于数字图像的基本处理,并对图像分析的基本理论和实际应用进行系统介绍;目的是使学生系统掌握数字图像处理的基本概念、原理和实现方法,学习图像分析的基本理论、典型方法和实用技术,具备解决通信领域的图像相关问题的初步能力,为今后的研究与开发打下扎实的基础。

目录实验一常用的图像文件格式与格式转换和图像矩阵的显示方法 (2)实验二傅立叶变换 (6)实验三图像增强及编程处理 (8)实验一常用的图像文件格式与格式转换和图像矩阵的显示方法1.实验目的熟悉Matlab语言的初步使用;熟悉常用的图像文件格式与格式转换;熟悉图像矩阵的显示方法(灰度、索引、黑白、彩色);熟悉图像矩阵的格式转换2.实验内容练习图像读写命令imread和imwrite并进行图像文件格式间的转换。

特别是索引图像与1,4,8,16比特图像的存储与转换。

熟悉下列模块函数Image file I/O.imread - Read image file.imwrite - Write image file.Image display.colorbar - Display colorbar.getimage - Get image data from axes.image - Create and display image object.imagesc - Scale data and display as image.immovie - Make movie from multiframe indexed image.imshow - Display image.subimage - Display multiple images in single figure.truesize - Adjust display size of image.warp - Display image as texture-mapped surface.zoom - Zoom in and out of image or 2-D plot.3.实验步骤a. Load cameraman.tif image from your hard disk (using function imread).>>A=imread('C:\MATLAB6p5\toolbox\images\imdemos\cameraman.tif');b. Show the image in a figure window (using function image or imshow).>> imshow(A)>> colorbard. Get image data from the current figure(axes) (using function getimage).B=getimage;生成新的矩阵e. Show the gray level of the image between 64 to 128 (using function imagesc).>> clims = [64 128];imagesc(A,clims)imshow(A)f. Make a movie from a 4-D image (load mri, make the movie by immovie, then show movie by function movie).>> load mrimov = immovie(D,map);movie(mov,3)g. Draw the cameraman image on a cylinder (using function warp).C=[A A];>> [x,y,z] = cylinder;>> warp(-x,-y,-z,C)Question: how to show the cameraman like thisRequirement: write a report to do the experiment from a to g.实验二傅立叶变换1.实验目的熟悉傅立叶变换的概念和原理;理解Fourier变换的意义。

数字图像处理实验指导书

数字图像处理实验指导书

数字图像处理实验指导书前言数字图像处理技术的研究内容涉及工程学、计算机科学、信息科学、统计学、物理学、生物医学工程和社会科学等领域 它已成为高等理工院校电子信息工程、通信工程、生物医学工程、信号与信息处理等学科的一门重要的专业技术课。

作为人类获取信息的重要来源及利用信息的重要手段 数字图像处理技术被广泛应用于工业、农业、交通、气象、生物医学、军事、公安、机器人视觉、导航、多媒体信息网络通信等领域 给人类带来了巨大的经济和社会效益。

考虑到实际需要,在注重理论与实践的前提下,编写了这本实验指导资料。

本书以实践为基础,利用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压缩图像'); %显示压缩后的图像。

数字图像处理实验指导书

数字图像处理实验指导书

实验一:图像文件类型转换实验目的:理解数字图像文件的几种基本类型掌握在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”的文件info=imfinfo('3.bmp')info=imfinfo('4.bmp')运行并观察结果和现象。

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

计算机科学与信息学院《数字图像处理》实验指导书适用专业:信息安全、网络工程、计算机贵州大学二O一三年五月前言本指导书是根据数字图像处理教学大纲和实验大纲编写的,在教学过程中指导学生实验时使用。

运用MATLAB软件平台,结合图像处理工具箱,对图像处理相关算法进行编程和实现。

通过学生上机操作实践与教师指导,使学生深入理解和掌握数字图像处理的技术和方法,增强处理实际问题的能力。

考虑到《数字图像处理》课程的自身特点,以及软件的升级更新性,本实验指导书具有适应性。

本实验指导书主要适用于计算机科学与信息学院的各个相关专业。

目录实验一图像基本操作 (4)实验二图像增强 (7)实验三图像分割 (11)实验四汽车牌照自动识别 (16)实验报告的基本内容及要求 (18)贵州大学实验报告 (19)实验一图像基本操作实验学时:2实验类型:验证实验要求:必做一、实验目的利用MATLAB软件,熟悉图像的数据矩阵操作、图像的类型转换及图像的存储等基本操作。

1.熟悉图像矩阵的基本操作2.掌握图像数据类型转换及图像类型转换3.掌握图像文件的读写4.掌握图像及灰度图像直方图的显示5.掌握图像缩放和旋转二、实验原理和方法1.关于图像矩阵MATLAB中图像数据以矩阵方式的存储。

所以有必要学会关于矩阵的操作,由于篇幅有限,这里只作简要的介绍。

生成矩阵的函数有:eye 生成单位矩阵 ones全1阵 zeros 全零阵rand 均匀随机阵 randn 正态随机阵2.图像数据类型及图像类型2.1 图像数据类型转换MATLAB中图像数据矩阵的存储方式为双精度(double)类型即64位浮点数。

而存储图像时MATLAB有时采用无符号整型(uint8)即图像矩阵中的每个数据占用一个字节。

由于大多数运算和函数(比如最基本的矩阵加减运算)都不支持uint8类型,所以运算时通常要将图像转换成 double型。

函数double将数据转换为双精度浮点类型,调用格式为:X64=double(x8) /2562.2 图像类型及转换在MATLAB中,一幅图像可能包含一个数据矩阵,也可能有一个颜色映像表矩阵。

MATLAB图像处理工具箱支持四种图像类型,其区别在于数据矩阵元素的不同含意。

它们是:● 真彩色图像● 索引图像● 灰度图像● 二值图像(1)真彩色图像真彩色图像又称RGB图像,对于一个尺寸为M×N的彩色图像来说,在MATLAB中则存储为一个M×N×3的多维数组,像素的颜色由保存在像素位置上的R、G、B的强度值的组合来确定。

如果需要知道图像A中(x,y)处的像素值,则可以使用这样的代码A(x,y,1:3)。

(2)索引图像MATLAB中的索引图像包含两个结构,一个是调色板,一个是图像数据矩阵。

调色板是一个m×3的色彩映射矩阵,矩阵的每一行都代表一种色彩,与真彩色图像相同,通过3个分别代表红、绿、蓝颜色强度的双精度数,形成一种特定的颜色。

调色板通常和索引图像存在一起,当读入图像时,MATLAB同时加载调色板和图像。

(3)灰度图像灰度图像就是只有强度信息,而没有颜色信息的图像。

存储灰度图像只需要一个数据矩阵,矩阵的每个元素表示对应位置像素的灰度值,灰度图像的数据类型可以是doubIe类型,这时值域为[0,1],也可以uint8类刑,值域是[0,255]。

(4)二值图像二值图像就是只有黑白两种值的图像,我们可以把它看作是特殊的灰度图像。

二值图像只需一个数据矩阵来存储,每个像素只取0或1。

MATLAB提供了若干函数,用于图像类型的转换,这些函数如下所示:●rgb2gray 将RGB图像转换成灰度图像●Gray2ind 将灰度图像转换成索引图像●Im2bw 设定阈值将图像转换为二值图像●Im2double 将图像数据阵列转换为double型●Im2unit8 将图像数据阵列转换为unit8型●Im2unit16 将图像数据阵列转换为unit16型●Ind2gray 将索引图像转换为灰度图像●Ind2rgb 将索引图像转换成真彩色图像2.3 图像读写及显示MATLAB为用户提供了专门的函数以从图像格式的文件中读写图像数据。

(1)图像文件的读取利用imread函数可以完成图像文件的读取操作,常见调用格式为:A = imread(FILENAME,FMT)其作用是将文件名用字符串FILENAME表示的、扩展名用字符串FMT(表示图像文件格式)表示的图像文件中的数据读到矩阵A中。

如果FILENAME所指的为灰度图像,则A为M×N的二维矩阵;如果FILENAME所指的为RGB图像,则A为M×N×3的三维矩阵。

(2)图像文件的写入(保存)利用imwrite函数完成图像的写入操作,也完全支持上述各种图像文件的格式,其常用的调用格式为:imwrite(A,FILENAME,FMT)(3)图像文件的显示MATLAB的图像处理工具箱提供了多种图像显示技术。

例如,imshow函数可以直接从文件显示多种类型的图像;image函数可以将矩阵作为图像显示;colorbar函数可以用来显示颜色条。

●imshow函数是最常用的显示各种图像的函数,格式为:●imshow(I,n); %显示灰度矩阵I, n设置显示的灰度值范围(级数),默认值为256。

●imshow(RGB) %显示真彩色图像●imshow filename %直接显示图像,但图像数据不在MATLAB的workspace中。

可以将多幅图像显示在一个图形窗口中,达到这一目的有两种方法:一种方法是联合使用subplot函数和imshow函数,但此方法在一个图形窗口只能有一个调色板;另一种方法是联合使用subplot函数和subimage函数,此方法可在一个图形窗口内使用多个调色板。

subplot函数将一个图形窗口划分为多个显示区域,其调用格式如下:subplot(m,n,p)subplot函数将图形窗口划分为m(行)×n(列)个显示区域,并选择第p个区域作为当前绘图区。

(4)灰度直方图的显示MATLAB图像处理工具箱提供了imhist函数来计算和显示图像的直方图,imhist函数的语法格式为:imhist(I, n)imhist(X, MAP)其中imhist(I,n)计算和显示灰度图像I的直方图,n为指定的灰度级数目,默认值为256。

imhist(X, MAP)计算和显示索引色图像X的直方图,map为调色板。

3.图像的几何运算3.1 图像的缩放MATLAB图像处理工具箱中的函数imresize可以用三种方法对图像进行插值缩放,如果不指定插值方法,则默认为最邻近插值法。

imresize函数的语法格式为:B = imresize(A, m, method), 返回原图像A的m倍放大的图像(m小于1时效果是缩小)。

这里参数method用于指定插值的方法,可选用的值为'nearest'(最邻近法),'bilinear'(双线性插值),'bicubic'(双三次插值),默认为'nearest'。

B = imresize(A, [numrows numcols]),返回的图像B具有由[numrows numcols]指定的行、列数。

3.2 图像的旋转在工具箱中的函数imrotate可用上述三种方法对图像进行插值旋转,默认的插值方法也是最邻近插值法。

imrotate的语法格式为:B = imrotate(A, angle, method)函数imrotate对图像进行旋转,参数method用于指定插值的方法,可选用的值为'nearest'(最邻近法),'bilinear'(双线性插值),'bicubic'(双三次插值),默认为'nearest'。

一般说来旋转后的图像会比原图大,超出原图部分值为0。

三、实验内容和步骤练习图像的读取、显示和保存图像数据,步骤如下:(1)使用命令figure(1)开辟一个显示窗口(2)读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内显示RGB图像、二值图像和灰度图像,注上文字标题。

(3)保存转换后的灰度图像和二值图像(4)在同一个窗口显示转换后的灰度图像的直方图(5)将原RGB图像的R、G、B三个分量图像显示在figure(2)中,观察对比它们的特点,体会不同颜色所对应的R、G、B分量的不同之处。

(6)将图像放大1.5倍,插值方法使用三种不同方法,在figure(3)中显示放大后的图像,比较不同插值方法的结果有什么不同。

将图像放大到其它倍数,重复实验;(7)图像顺时针旋转30度,插值方法使用三种不同方法,在figure(3)中显示旋转后的图像并比较结果有什么不同。

四、实验报告基本内容详见附件。

实验二图像增强实验学时:2实验类型:验证实验要求:必做一、实验目的熟悉数字图像增强的一般方法,包括:1.掌握空域变换增强的原理、方法2.掌握灰度变换的图像增强方法二、实验原理和方法术语‘空间域’指的是图像平面本身,在空间与内处理图像的方法是直接对图像的像素进行处理。

空间域处理方法分为两种:灰度级变换、空间滤波。

空间域技术直接对像素进行操作,其表达式为g(x,y)=T[f(x,y)]其中f(x,y)为输入图像,g(x,y)为输出图像,T是对图像f进行处理的操作符,定义在点(x,y)的指定领域内。

定义点(x,y)的空间邻近区域的主要方法是,使用中心位于(x,y)的正方形或长方形区域,。

此区域的中心从原点(如左上角)开始逐像素点移动,在移动的同时,该区域会包含不同的领域。

T应用于每个位置(x,y),以便在该位置得到输出图像g。

在计算(x,y)处的g值时,只使用该领域的像素。

灰度变换T的最简单形式是使用领域大小为1×1,此时,(x,y)处的g值仅由f在该点处的亮度决定,T也变为一个亮度或灰度级变化函数。

当处理单设(灰度)图像时,这两个术语可以互换。

由于亮度变换函数仅取决于亮度的值,而与(x,y)无关,所以亮度函数通常可写做如下所示的简单形式:s=T(r)其中,r表示图像f中相应点(x,y)的亮度,s表示图像g中相应点(x,y)的亮度。

1.空间域滤波1.1 噪声模拟图像平滑滤波主要是针对图像的各种噪声而言的,因此需要模拟数字图像的各种噪声来分析滤波效果。

MATLAB的图像处理工具箱提供了imnoise函数,可以用该函数给图像添加不同种类噪声,其语法格式为:参数1.2均值滤波平滑线形空间滤波的输出(响应)是包含在滤波掩模邻域内像素的简单平均值。

因此,这些滤波器也称均值滤波器,指的是低通滤波器。

相关文档
最新文档