数字图像处理实验-

合集下载

数字图像处理实验报告——图像分割实验

数字图像处理实验报告——图像分割实验

实验报告课程名称数字图像处理导论专业班级_______________姓名 _______________学号_______________电气与信息学院与谐勤奋求就是创新一.实验目得1.理解图像分割得基本概念;2.理解图像边缘提取得基本概念;3.掌握进行边缘提取得基本方法;4.掌握用阈值法进行图像分割得基本方法.二。

实验内容1.分别用Roberts,Sobel与拉普拉斯高斯算子对图像进行边缘检测。

比较三种算子处理得不同之处;2.设计一个检测图1中边缘得程序,要求结果类似图2,并附原理说明。

3.任选一种阈值法进行图像分割、图1 图2三.实验具体实现1.分别用Roberts,Sobel与拉普拉斯高斯算子对图像进行边缘检测。

比较三种算子处理得不同之处;I=imread(’mri、tif');imshow(I)BW1=edge(I,’roberts’);figure ,imshow(BW1),title(’用Roberts算子’)BW2=edge(I,’sobel’);figure,imshow(BW2),title(’用Sobel算子 ')BW3=edge(I,’log’);figure,imshow(BW3),title(’用拉普拉斯高斯算子’)比较提取边缘得效果可以瞧出,sober算子就是一种微分算子,对边缘得定位较精确,但就是会漏去一些边缘细节.而Laplacian—Gaussian算子就是一种二阶边缘检测方法,它通过寻找图象灰度值中二阶过零点来检测边缘并将边缘提取出来,边缘得细节比较丰富。

通过比较可以瞧出Laplacian-Gaussian算子比sober算子边缘更完整,效果更好。

2.设计一个检测图1中边缘得程序,要求结果类似图2,并附原理说明.i=imread('m83、tif’);subplot(1,2,1);imhist(i);title('原始图像直方图');thread=130/255;subplot(1,2,2);i3=im2bw(i,thread);imshow(i3);title('分割结果’);3.任选一种阈值法进行图像分割、i=imread('trees、tif’);subplot(1,2,1);imhist(i);title('原始图像直方图’);thread=100/255;subplot(1,2,2);i3=im2bw(i,thread);imshow(i3);title('分割结果’)1、分别用Roberts,Sobel与拉普拉斯高斯算子对图像进行边缘检测。

数字图像处理实验(2011年)

数字图像处理实验(2011年)

数字图像处理实验一图像变换一、实验目的了解matlab有关图像的基本操作,如图像的读写,显示等。

掌握二维DFT变换及其物理意义,掌握基本的灰度变换方法。

二、实验要求1.在Matlab workspace中生成一幅大小为512×512像素的8位灰度图, 背景为黑色,中心有一个宽40像素高20像素的白色矩形。

如下图所示:2.将这幅图像保存为文件test.bmp。

3.从文件test.bmp中读出图像到变量I。

4.在Matlab图形界面中显示变量I所代表的图像。

5.对I作二维DFT变换,结果保存到变量F。

注意将频域原点调整至中心位置。

6.将傅立叶频谱,即|F|的取值范围调整为0-255并显示。

7.将上题结果作对数变换后再进行显示,结果应与课本Figure 4.3(b)一致。

说明对数变换能使频谱显示效果更好的原因。

8.对频谱图的物理意义作简要说明。

三、 实验流程四、 理论知识1. 在8位灰度图中,像素值大小为0-255。

0代表黑色,255代表白色。

2. 二维DFT计算公式为∑∑-=-=+-⨯=101)]//(2exp[),(1),(M x N y N vy M ux j y x f MN v u F π。

由于二维DFT 是一种行列可分离的变换,其结果也可以由在两个方向上先后做一维DFT 得到。

具体流程为:(a ) 对图像每一行(即某个x 值),做一维DFT ,得到的结果保存为矩阵),(v x F 的一行。

∑-=-⨯=1)]/2exp(),(1),(N y N vy j y x f N v x F π(b ) 对矩阵),(v x F 的每一列(即某个v 值),做一维DFT ,得到的结果保存为矩阵),(v u F 的一列。

)/2exp(),(1),(10M ux j v x F Mv u F M x π-⨯=∑-=3. 直接对图像),(y x f 做傅立叶变换,结果的原点处于图像左下角。

将傅立叶变换结果的原点移到矩阵中心位置可利用公式。

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告数字图像处理实验报告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 bfReserved1bfReserved2bfOffBitsbiSizebiWidthbiHeightbiPlanesbiBitCountbiCompressionbiSizeImagebiXPelsPerMeterbiYPelsPerMeterbiClrUsedbiClrImportant单色DIB有2个表项16色DIB有16个表项或更少256色DIB有256个表项或更少真彩色DIB没有调色板每个表项长度为4字节(32位)像素按照每行每列的顺序排列每一行的字节数必须是4的整数倍BITMAPINFOHEADER 位图信息头 Palette 调色板 DIB Pixels 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 图像的几何变换图像的几何变换,通常包括图像的平移、图像的镜像变换、图像的转置、图像的缩放和图像的旋转等.数字图像处理实验报告2一、实验的目的和意义实验目的:本实验内容旨在让学生通过用VC等高级语言编写数字图像处理的一些基本算法程序,来巩固和掌握图像处理技术的基本技能,提高实际动手能力,并通过实际编程了解图像处理软件的实现的基本原理。

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

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

《数字图像处理》实验教案一、实验目的1. 使学生了解和掌握数字图像处理的基本概念和基本算法。

2. 培养学生运用数字图像处理技术解决实际问题的能力。

3. 提高学生使用相关软件工具进行数字图像处理操作的技能。

二、实验内容1. 图像读取与显示:学习如何使用相关软件工具读取和显示数字图像。

2. 图像基本操作:学习图像的旋转、缩放、翻转等基本操作。

3. 图像滤波:学习使用不同类型的滤波器进行图像去噪和增强。

4. 图像分割:学习利用阈值分割、区域增长等方法对图像进行分割。

5. 图像特征提取:学习提取图像的边缘、角点等特征信息。

三、实验环境1. 操作系统:Windows或Linux。

2. 编程语言:Python或MATLAB。

3. 图像处理软件:OpenCV、ImageJ或MATLAB。

四、实验步骤1. 打开相关软件工具,导入图像。

2. 学习并实践图像的基本操作,如旋转、缩放、翻转等。

3. 学习并实践图像滤波算法,如均值滤波、中值滤波等。

4. 学习并实践图像分割算法,如全局阈值分割、局部阈值分割等。

5. 学习并实践图像特征提取算法,如Canny边缘检测算法等。

五、实验要求1. 每位学生需独立完成实验,并在实验报告中详细描述实验过程和结果。

2. 实验报告需包括实验目的、实验内容、实验步骤、实验结果和实验总结。

3. 实验结果要求清晰显示每个步骤的操作和效果。

4. 实验总结部分需对本次实验的学习内容进行归纳和总结,并提出改进意见。

六、实验注意事项1. 实验前请确保掌握相关软件工具的基本使用方法。

3. 在进行图像操作时,请尽量使用向量或数组进行处理,避免使用低效的循环结构。

4. 实验过程中如需保存中间结果,请使用合适的文件格式,如PNG、JPG等。

5. 请合理安排实验时间,确保实验报告的质量和按时提交。

七、实验评价1. 实验报告的评价:评价学生的实验报告内容是否完整、实验结果是否清晰、实验总结是否到位。

2. 实验操作的评价:评价学生在实验过程中对图像处理算法的理解和运用能力。

数字图像处理实验

数字图像处理实验

数字图像处理实验实验总学时:10学时实验目的:本实验的目的是通过实验进一步理解和掌握数字图像处理原理和方法。

通过分析、实现现有的图像处理算法,学习和掌握常用的图像处理技术。

实验内容:数字图像处理的实验内容主要有三个方面:(1) 对图像灰度作某种变换,增强其中的有用信息,抑制无用信息,使图像的视在质量提高,以便于人眼观察、理解或用计算机对其作进一步的处理。

(2) 用某种特殊手段提取、描述和分析图像中所包含的某些特征和特殊的信息,主要的目的是便于计算机对图像作进一步的分析和理解,经常作为模式识别和计算机视觉的预处理。

这些特征包括很多方面,例如,图像的频域特性、灰度特征、边界特征等。

(3) 图像的变换,以便于图像的频域处理。

实验一图像的点处理实验内容及实验原理:1、灰度的线性变换灰度的线性变换就是将图像中所有的点的灰度按照线性灰度变换函数进行变换。

该线性灰度变换函数是一个一维线性函数:灰度变换方程为:其中参数为线性函数的斜率,函数的在y轴的截距,表示输入图像的灰度,表示输出图像的灰度。

要求:输入一幅图像,根据输入的斜率和截距进行线性变换,并显示。

2、灰度拉伸灰度拉伸和灰度线性变换相似。

不同之处在于它是分段线性变换。

表达如下:其中,(x1,y1)和(x2,y2)是分段函数的转折点。

要求:输入一幅图像,根据选择的转折点,进行灰度拉伸,显示变换后的图像。

3、灰度直方图灰度直方图是灰度值的函数,描述的是图像中具有该灰度值的像素的个数,其横坐标表示像素的灰度级别,纵坐标表示该灰度出现的频率(象素的个数)。

要求:输入一幅图像,显示它的灰度直方图,可以根据输入的参数(上限、下限)显示特定范围的灰度直方图。

4、直方图均衡:要求1 显示一幅图像pout.bmp的直方图;2 用直方图均衡对图像pout.bmp进行增强;3 显示增强后的图像。

实验二:数字图像的平滑实验内容及实验原理:1.用均值滤波器(即邻域平均法)去除图像中的噪声;2.用中值滤波器去除图像中的噪声3. 比较两种方法的处理结果 实验步骤:用原始图象lena.bmp 或cameraman.bmp 加产生的3%椒盐噪声图象合成一幅有噪声的图象并显示;1. 用均值滤波器去除图像中的噪声(选3x3窗口);2. f (x 0,y 0)=Med {f (x,y )∨x ∈[x 0−N,x 0+N ],y ∈[y 0−N,y 0+N ]}用中值滤波器去除图像中的噪声(选3x3窗口做中值滤波);3. 将两种处理方法的结果与原图比较,注意两种处理方法对边缘的影响。

数字图像处理实验报告(五个实验全)

数字图像处理实验报告(五个实验全)

数字图像处理实验报告(五个实验全)实验⼀ Matlab图像⼯具的使⽤1、读图I=imread('lena.jpg');imshow(I);2、读⼊⼀幅RGB图像,变换为灰度图像和⼆值图像,并在同⼀个窗⼝内分成三个⼦窗⼝来分别显⽰RGB图像和灰度图像。

a=imread('lena.jpg')i = rgb2gray(a)I = im2bw(a,0.5)subplot(3,1,1);imshow(a);subplot(3,1,2);imshow(i);subplot(3,1,3);imshow(I);原图像灰度图像⼆值图像实验⼆图像变换1、对⼀幅图像进⾏平移,显⽰原始图像与处理后图像,分别对其进⾏傅⾥叶变换,显⽰变换后结果,分析原图的傅⾥叶谱与平移后傅⾥叶频谱的对应关系。

s=imread('beauty.jpg');i=rgb2gray(s)i=double(i)j=fft2(i);k=fftshift(j); 原图像原图的傅⾥叶频谱l=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);l=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);subplot(2,2,2);imshow(uint8(b));subplot(2,2,3);imshow(A);subplot(2,2,4);imshow(B);2、对⼀幅图像进⾏旋转,显⽰原始图像与处理后图像,分别对其进⾏傅⾥叶变换,显⽰变换后结果,分析原图的傅⾥叶谱与旋转后傅⾥叶频谱的对应关系。

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

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

一、实验目的与要求1. 目的通过本实验,使学生了解数字图像处理的基本概念、方法和算法,掌握MATLAB 软件在图像处理方面的应用,提高学生分析问题和解决问题的能力。

2. 要求(1)熟悉MATLAB软件的基本操作。

(2)了解数字图像处理的基本概念和常用算法。

(3)能够运用MATLAB实现图像处理的基本操作和算法。

二、实验内容与步骤1. 实验内容(1)图像读取与显示。

(2)图像的基本运算(如加、减、乘、除等)。

(3)图像的滤波处理。

(4)图像的边缘检测。

(5)图像的分割与标记。

2. 实验步骤(1)打开MATLAB软件,新建一个脚本文件。

(2)导入所需图像,使用imread()函数读取图像,使用imshow()函数显示图像。

(3)进行图像的基本运算,如加、减、乘、除等,使用imadd()、imsub()、imdiv()、imconcat()等函数。

(4)对图像进行滤波处理,如使用均值滤波、中值滤波等,使用imfilter()函数。

(5)进行图像的边缘检测,如使用Sobel算子、Canny算子等,使用edge()函数。

(6)对图像进行分割与标记,如使用区域生长、阈值分割等方法,使用watershed()函数。

(7)对实验结果进行分析和讨论,总结实验心得。

三、实验注意事项1. 严格遵循实验步骤,确保实验的正确进行。

2. 合理选择参数,如滤波器的尺寸、阈值等。

3. 注意图像数据类型的转换,如浮点型、整型等。

4. 保持实验环境的整洁,避免误操作。

四、实验评价1. 评价内容(1)实验步骤的完整性。

(2)实验结果的正确性。

2. 评价标准(1)实验步骤完整,得分20分。

(2)实验结果正确,得分30分。

总分100分。

五、实验拓展1. 研究不同滤波器对图像滤波效果的影响。

2. 尝试使用其他图像分割算法,如基于梯度的分割方法、聚类分割方法等。

3. 探索图像处理在其他领域的应用,如计算机视觉、医学影像处理等。

六、实验一:图像读取与显示1. 实验目的掌握MATLAB中图像的读取和显示方法,熟悉图像处理的基本界面。

数字图像处理技术-实验4[2页]

数字图像处理技术-实验4[2页]

实验报告课程名称:数字图像处理技术实验名称——实验四图像分割实验日期:班级:××××××姓名:×××学号××××××××××仪器编号:××一、实验目的:1、掌握图像分割中几种主要的边缘检测方法(Roberts算子、Sobel算子、Prewitt算子和Laplacian算子)。

2、了解掌握图像的阈值分割算法。

3、掌握图像的区域分割算法。

二、实验要求1. 选择Roberts算子、Sobel算子、Prewitt算子中任意一个,要求算子模板可以选择,实现对良好图像和带噪声的图像的边缘检测,然后把边缘图与原图叠加,分别计算原图与叠加图的信息熵并显示。

2. 实现Laplacian算子。

3. 实现灰度图像和彩色图像的迭代阈值分割算法。

4. 实现对一副图像利用区域生长算法进行图像分割。

提高题:1.实现对读入的一张带人脸的图像,有效分割出人脸区域。

2. 浮雕效果的制作浮雕效果是指物体的轮廓、边缘外貌经过修整形成凸出效果,浮雕类似边缘检测,目的是突出对象的边缘和轮廓。

浮雕效果是实现图像填充色与灰色的转换,用原填充色描画边缘,使图像呈现凸起或凹进效果,出现“浮雕”图案。

浮雕处理可以采用边缘锐化、边缘检测算子检测或其相关类似方法来实现。

如下图:三、实验结果比较比较分析Roberts算子或Sobel算子或Prewitt算子(选择上面实验选做的)和Laplacian算子对不同噪声(高斯噪声和校验噪声)图像的处理结果,并通过上面计算的信息熵,分析信息有什么变化,为什么?。

四、实验体会(包括对于本次实验的小结,实验过程中碰到的问题等)。

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

数字图像处理实验-目录实验一MATLAB数字图像处理初步............................................................. 1实验二图像的代数运算............................................................. ......................7实验三图像增强—灰度变换............................................................. ............15实验四图像增强—直方图变换............................................................. ........17实验五图像增强—空域滤波............................................................. ............20实验六图像的傅立叶变换............................................................. ................23实验七图像增强—频域滤波............................................................. ............26实验八彩色图像处理............................................................. ........................29实验九图像分割............................................................. ................................33实验十形态学运算............................................................. ............................36附录MATLAB简介............................................................. . (39)实验一MATLAB数字图像处理初步一、实验目的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。

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

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

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

5.图像间如何转化。

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

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

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

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

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

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

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

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

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

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

图1图像的采样和量化根据图像数据矩阵解释方法的不同,MATLAB把其处理为4类:亮度图像(Intenityimage)二值图像(Binaryimage)索引图像(Inde某edimage)RGB图像(RGBimage)(1)亮度图像一幅亮度图像是一个数据矩阵,其归一化的取值表示亮度。

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

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

规定双精度型归一化亮度图像的取值范围是[0,1](2)二值图像一幅二值图像是一个取值只有0和1的逻辑数组。

而一幅取值只包含0和1的uint8类数组,在MATLAB中并不认为是二值图像。

使用logical函数可以把数值数组转化为二值数组或逻辑数组。

创建一个逻辑图像,其语法为:B=logical(A)其中,B是由0和1构成的数值数组。

要测试一个数组是否为逻辑数组,可以使用函数:ilogical(c)若C是逻辑数组,则该函数返回1;否则,返回0。

2(3)索引图像索引颜色通常也称为映射颜色,在这种模式下,颜色都是预先定义的,并且可供选用的一组颜色也很有限,索引颜色的图像最多只能显示256种颜色。

一幅索引颜色图像在图像文件里定义,当打开该文件时,构成该图像具体颜色的索引值就被读入程序里,然后根据索引值找到最终的颜色。

(4)RGB图像一幅RGB图像就是彩色像素的一个M某N某3数组,其中每一个彩色相似点都是在特定空间位置的彩色图像相对应的红、绿、蓝三个分量。

按照惯例,形成一幅RGB彩色图像的三个图像常称为红、绿或蓝分量图像。

令fR,fG和fB分别代表三种RGB分量图像。

一幅RGB图像就利用cat(级联)操作将这些分量图像组合成彩色图像:rgb_image=cat(3,fR,fG,fB)在操作中,图像按顺序放置。

2、数据类和图像类型间的转化表1中列出了MATLAB和IPT为表示像素所支持的各种数据类。

表中的前8项称为数值数据类,第9项称为字符类,最后一项称为逻辑数据类。

工具箱中提供了执行必要缩放的函数(见表2)。

以在图像类和类型间进行转化。

表1-1MATLAB和IPT支持数据类型名称doubleuint8uint16uint32int8int16int32inglecharlogical描述双精度浮点数,范围为1030810308无符号8比特整数,范围为[0255]无符号16比特整数,范围为[065536]无符号32比特整数,范围为[0429*******]有符号8比特整数,范围为[-128127]有符号16比特整数,范围为[-3276832767]有符号32比特整数,范围为[-21474836482147483647]单精度浮点数,范围为字符值为0或131030810308表1-2格式转换函数名称im2uint8im2uint16mat2grayim2doubleim2bw将输入转化为uint8uint16double,范围为[01]doublelogical有效的输入图像数据类logical,uint8,uint16和doulbelogical,uint8,uint16和doulbedoublelogical,uint8,uint16和doulbeuint8,uint16和double 下面给出读取、压缩、显示一幅图像的程序(%后面的语句属于标记语句,编程时可不用输入)I=imread(‘原图像名.tif’);%读入原图像,tif格式whoI%显示图像I的基本信息imhow(I)%显示图像%这种格式知识用于jpg格式,压缩存储图像,q是0-100之间的整数imfinfofilenameimwrite(I,'filename.jpg','quality',q);imwrite(I,'filename.bmp');%以位图(BMP)的格式存储图像%显示多幅图像,其中n为图形窗口的号数figure(n),imhow('I');gg=im2bw('I');%将图像转为二值图像figure,imhow(gg)%显示二值图像三、实验内容及步骤1.利用imread()函数读取一幅图像,假设其名为flower.tif,存入一个数组中;2.利用who命令提取该读入图像flower.tif的基本信息;3.利用imhow()函数来显示这幅图像;4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为flower.jpg;语法:imwrite(原图像,新图像,‘quality’,q),q取0-100。

46.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp 图像,设为flower.bmp。

7.用imread()读入图像:Lenna.jpg和camema.jpg;8.用imfinfo()获取图像Lenna.jpg和camema.jpg的大小;9.用figure,imhow()分别将Lenna.jpg和camema.jpg显示出来,观察两幅图像的质量。

10.用im2bw将一幅灰度图像转化为二值图像,并且用imhow显示出来观察图像的特征。

11.将每一步的函数执行语句拷贝下来,写入实验报告,并且将得到第3、9、10步得到的图像效果拷贝下来。

四、考核要点1、熟悉在MATLAB中如何读入图像、如何获取图像文件的相关信息、如何显示图像及保存图像等,熟悉相关的处理函数。

2、明确不同的图像文件格式,由于其具体的图像存储方式不同,所以文件的大小不同,因此当对同一幅图像来说,有相同的文件大小时,质量不同。

五、实验仪器与软件(1)PC计算机(2)MatLab软件/语言包括图像处理工具箱(ImageProceingToolbo 某)(3)实验所需要的图像六、实验报告要求描述实验的基本步骤,用数据和图片给出各个步骤中取得的实验结果和源代码,并进行必要的讨论,必须包括原始图像及其计算/处理后的图像。

七、思考题(1)简述MatLab软件的特点。

(2)MatLab软件可以支持哪些图像文件格式?(3)说明函数imread的用途格式以及各种格式所得到图像的性质。

5(4)为什么用I=imread(‘lena.bmp’)命令得到的图像I不可以进行算术运算?八、实验图像Fig.1flower.jpgFig.3Lenna.jpgFig.2elephant.jpgFig.4camema.jpg6实验二图像的代数运算一、实验目的1.了解图像的算术运算在数字图像处理中的初步应用。

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

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

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

相关文档
最新文档