数字图像处理实验指导书_2010_
数字图像处理实验指导书

《数字图像处理》实验指导书数字图象处理实验的目的不仅是让学生通过用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方法的功能是在指定的位置画一个指定颜色的点。
数字图像处理实验指导书

实验须知一、预习要求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 画数字图像灰度直方图的方法。
数字图像处理实验(南通大学)

《数字图像处理》实验指导书南通大学电子信息学院通信与信息工程教研室2008.9实验目的和要求通过实验,学生在所学的图像处理理论指导下,能应用图像处理硬、软件和一种算法语言编写有关程序,熟悉Matlab等图像处理软件,巩固和掌握图像数据输入与输出、图像格式转换、图像增强与图像变换等基本处理技术,提高实际动手能力。
为进一步应用图像处理解决实际问题奠定基础.实验内容和形式1.应用MATLAB语言编写一幅灰度图像直方图统计程序、图像放大和缩小以及旋转剪切的程序,并掌握图像读写和运算的一些基本的方法2.应用MATLAB等工具进行图像图像去噪和锐化处理,包括:常见噪声的产生、运用不同滤波方法(包括均值滤波和中值滤波等)对图像去噪;运用不同的算子对图像进行锐化,比较结果;掌握和巩固所学内容3.掌握图像的傅立叶和DCT等变换的原理, 运用Matlab等工具对图像进行变换,分析变换前后图像信息的对应关系;对图像进行压缩编码,分析压缩的效果。
按计划共6学时完成实验内容。
实验内容实验一:图像的基本操作一、实验目的:1、掌握图像读写和运算的一些基本的方法;2、掌握图像放大和缩小的基本方法;3、掌握灰度直方图的概念及其计算方法;4、熟练掌握直方图均衡化的计算过程;5、利用MATLAB程序进行图像的基本操作。
二、实验步骤:1.读取文件rice.tif和cameraman.tif的图像数据,显示图像。
读取文件的信息,说明什么含义。
写出rice.tif在第一行到第10行、第一列到第10列之间的数据。
MATLAB函数:imread/imshow/imfinfo举例:A=imread('rice.tif');imshow(A);A=imread('psa.png');I=rgb2gray(A);imshow(I);A=imfinfo ('psa.png')A =Filename: 'C:\Users\Administrator\Desktop\psa.png' FileModDate: '07-Oct-2016 19:13:18'FileSize: 168625Format: 'png'FormatVersion: []Width: 396Height: 450BitDepth: 24ColorType: 'truecolor'FormatSignature: [137 80 78 71 13 10 26 10]Colormap: []Histogram: []InterlaceType: 'none'Transparency: 'alpha'SimpleTransparencyData: []BackgroundColor: []RenderingIntent: []Chromaticities: []Gamma: 0.4545XResolution: 3780YResolution: 3780ResolutionUnit: 'meter'XOffset: []YOffset: []OffsetUnit: []SignificantBits: []ImageModTime: '21 Jan 2009 23:23:48 +0000'Title: []Author: []Description: []Copyright: []CreationTime: []Software: []Disclaimer: []Warning: []Source: []Comment: []OtherText: []255 255 255 255 255 255 255 255 255 255255 255 255 255 255 255 255 255 255 255255 255 255 255 255 255 255 255 255 255255 255 255 255 255 255 255 255 255 255255 255 255 255 255 255 255 255 255 255255 255 255 255 255 255 255 255 255 255255 255 255 255 255 255 255 255 255 255255 255 255 255 255 255 255 255 255 255255 255 255 255 255 255 255 255 255 255255 255 255 255 255 255 255 255 255 2552.将rice.tif和cameraman.tif两副图像相加、相减,或者减去一个常数,显示并保存处理后的图像。
数字图像处理实验指导书

《课程名称》实验指导书适用专业:自动化课程代码: 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中的图象文件。
数字图像处理
“数字图像处理”实验指导书(一)一、实验课程编码:103003二、实验课程名称:数字图像处理三、实验项目名称:练习图像处理软件Photoshop的使用四、实验目的1.对常用的图像处理方法的处理效果有一个直观的认识;2.学习利用现成软件实现图像处理的方法。
五、主要设备计算机(含Windows XP,VC++6.0,MSDN,Photoshop)六、实验内容1.熟悉Photoshop的界面,了解工具栏菜单的各项功能;2.对样例图像进行各种基本处理。
七、实验步骤1.开机,运行Photoshop程序,并打开样例图像;2.依次查看工具栏菜单的各项功能;3.对样例图像进行各种基本处理(如增加亮度、提高对比度、改变颜色、放大、扭曲等)。
八、实验结果熟悉了Photoshop,能用Photoshop简单地处理图像了。
执笔人:杨磊实验室主任:系主任:杨磊一、实验课程编码:103003二、实验课程名称:数字图像处理三、实验项目名称:BMP图像文件格式解析(综合性、设计性实验)四、实验目的深入了解和掌握BMP图像的文件格式五、主要设备计算机(含Windows XP,VC++6.0,MSDN,Photoshop)六、实验内容1.使用Visual C++编制程序,用多幅8位灰度图像实现对BMP图像文件格式的解析和显示;2.要求解析和显示图像文件头、信息头以及颜色表和图像数据的各项内容;3.输出图像的颜色表;4.输出图像中每个像素的灰度值;七、实验步骤1.开机,运行Visual C++程序;2.编制程序,打开BMP图像文件;3.分析BMP文件的组成。
八、实验结果写出BMP文件结构,输出选定图像指定位置的像素灰度值。
执笔人:杨磊实验室主任:系主任:杨磊一、实验课程编码:103003二、实验课程名称:数字图像处理三、实验项目名称:图像增强(空间域灰度图像)(综合性实验)四、实验目的熟悉空间域图像增强方法,掌握增强模板使用方法。
五、主要设备计算机(含Windows XP,VC++6.0,MSDN,Photoshop)六、实验内容1.使用Visual C++编制程序,分别采用给定的两个模板对给定的一幅灰度图像进行处理并显示处理后的结果;2.对结果进行分析。
数字图像处理实验指导书
数字图像处理实验指导书臧兰云电子工程学院实验一图像基本运算一、实验目的: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. 了解MATLAB图像处理工具箱;2. 掌握MATLAB的基本应用方法;3. 掌握MATLAB图像存储/图像数据类型/图像类型;4. 掌握图像文件的读/写/信息查询;5. 掌握图像显示--显示多幅图像、4种图像类型的显示方法;6. 编程实现图像类型间的转换。
二、实验原理略。
三、实验内容1. 实现对图像文件的读/写/信息查询,图像显示--显示多幅图像、4种图像类型的显示方法、图像类型间的转换。
2. 运行图像处理程序,并保存处理结果图像。
四、分析思考归纳总结Matlab各个基本指令。
实验二 图像几何变换实验一、实验目的1.学习几种常见的图像几何变换,并通过实验体会几何变换的效果;2.掌握图像平移、剪切、缩放、旋转、镜像等几何变换的算法原理及编程实现;3.掌握matlab 编程环境中基本的图像处理函数。
二、实验原理1. 初始坐标为(,)x y 的点经过平移00(,)x y ,坐标变为(',')x y ,两点之间的关系为:00''x x x y y y =+⎧⎨=+⎩,以矩阵形式表示为: 00'10'0110011x x x y y y ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦2. 图像的镜像变换是以图象垂直中轴线或水平中轴线交换图像的变换,分为垂直镜像变换和水平镜像变换,两者的矩阵形式分别为:'100'01010011x x y y -⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦ '100'01010011x x y y ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥=-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦3. 图像缩小和放大变换矩阵相同:'00'0010011X yx S x y S y ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦当1x S ≤,1y S ≤时,图像缩小;当1x S ≥,1y S ≥时,图像放大。
《数字图像处理》实验指导书(vc)
《数字图像处理》实验指导书(vc)实验指导书一、概述............................................................. .. (2)二、建立程序框架............................................................. ..............................................2三、建立图像类............................................................. ..................................................3四、定义图像文档实现图像读/写............................................................. ...................10五、实现图像显示............................................................. ............................................12六、建立图像处理类............................................................. ........................................18七、实现颜色处理功能............................................................. ....................................19(一)亮度处理............................................................. ...................................................19(二)对比度处理............................................................. ...............................................22(三)色阶处理............................................................. ...................................................24(四)伽马变换............................................................. ...................................................25(五)饱和度处理............................................................. ...............................................25(六)色调处理............................................................. ...................................................29八、实现几何变换功能............................................................. ....................................29(一)图像缩放............................................................. ...................................................29(二)旋转............................................................. ...........................................................31(三)水平镜像............................................................. ...................................................35(四)垂直镜像............................................................. ...................................................36(五)右转90度............................................................. .................................................36(六)左转90度............................................................. .................................................37(七)旋转180度............................................................. ...............................................37九、实现平滑锐化功能............................................................. (38)十、图像处理扩展编程............................................................. (38)一、概述实验项目:图像处理程序编程运行环境:Window某P/2000编程工具:ViualC++6.0主要内容:(1)建立程序框架,实现图像的读取、保存、显示;(2)编写颜色处理、几何变换、平滑锐化等图像处理代码,并实现其调用;(3)自行编写实现扩展的图像处理功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录实验一 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的逻辑数组。
而一幅取值只包含0和1的uint8类数组,在MATLAB中并不认为是二值图像。
使用logical函数可以把数值数组转化为二值数组或逻辑数组。
创建一个逻辑图像,其语法为:B=logical(A)其中,B是由0和1构成的数值数组。
要测试一个数组是否为逻辑数组,可以使用函数:islogical(c)若C是逻辑数组,则该函数返回1;否则,返回0。
(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-1 MATLAB和IPT支持数据类型表1-2 格式转换函数下面给出读取、压缩、显示一幅图像的程序(%后面的语句属于标记语句,编程时可不用输入)I=imread(‘原图像名.tif’); % 读入原图像,tif格式whos I % 显示图像I的基本信息imshow(I) % 显示图像% 这种格式知识用于jpg格式,压缩存储图像,q是0-100之间的整数imfinfo filenameimwrite(I,'filename.jpg','quality',q);imwrite(I,'filename.bmp'); % 以位图(BMP)的格式存储图像% 显示多幅图像,其中n为图形窗口的号数figure(n), imshow('filename');gg=im2bw('filename'); % 将图像转为二值图像figure, imshow(gg) % 显示二值图像三、实验内容及步骤1.利用imread( )函数读取一幅图像,假设其名为flower.tif,存入一个数组中;2.利用whos 命令提取该读入图像flower.tif的基本信息;3.利用imshow()函数来显示这幅图像;4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为flower.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。
6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flower.bmp。
7.用imread()读入图像:Lenna.jpg 和camema.jpg;8.用imfinfo()获取图像Lenna.jpg和camema.jpg 的大小;9.用figure,imshow()分别将Lenna.jpg和camema.jpg显示出来,观察两幅图像的质量。
10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。
11.将每一步的函数执行语句拷贝下来,写入实验报告,并且将得到第3、9、10步得到的图像效果拷贝下来。
四、考核要点1、熟悉在MATLAB中如何读入图像、如何获取图像文件的相关信息、如何显示图像及保存图像等,熟悉相关的处理函数。
2、明确不同的图像文件格式,由于其具体的图像存储方式不同,所以文件的大小不同,因此当对同一幅图像来说,有相同的文件大小时,质量不同。
五、实验仪器与软件(1) PC计算机(2) MatLab软件/语言包括图像处理工具箱(Image Processing Toolbox)(3) 实验所需要的图片六、实验报告要求描述实验的基本步骤,用数据和图片给出各个步骤中取得的实验结果和源代码,并进行必要的讨论,必须包括原始图像及其计算/处理后的图像。
七、思考题(1) 简述MatLab软件的特点。
(2) MatLab软件可以支持哪些图像文件格式?(3) 说明函数imread 的用途格式以及各种格式所得到图像的性质。
(4) 为什么用I = imread(‘lena.bmp’) 命令得到的图像I 不可以进行算术运算?八、实验图像Fig.1 flower.tif Fig.2 elephant.jpgFig.3 Lenna.jpg Fig.4 camema.jpg实验二图像的代数运算一、实验目的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的基本算术符(+、-、*、/ 等)可以执行图像的算术操作,但是在此之前必须将图像转换为适合进行基本操作的双精度类型。
为了更方便地对图像进行操作,MATLAB图像处理工具箱包含了一个能够实现所有非稀疏数值数据的算术操作的函数集合。
下表列举了所有图像处理工具箱中的图像代数运算函数。
表2-1 图像处理工具箱中的代数运算函数转换,这些函数能够接受uint8和uint16数据,并返回相同格式的图像结果。
虽然在函数执行过程中元素是以双精度进行计算的,但是MATLAB工作平台并不会将图像转换为双精度类型。
代数运算的结果很容易超出数据类型允许的范围。
例如,uint8数据能够存储的最大数值是255,各种代数运算尤其是乘法运算的结果很容易超过这个数值,有时代数操作(主要是除法运算)也会产生不能用整数描述的分数结果。
图像的代数运算函数使用以下截取规则使运算结果符合数据范围的要求:超出数据范围的整型数据将被截取为数据范围的极值,分数结果将被四舍五入。
例如,如果数据类型是uint8,那么大于255的结果(包括无穷大inf)将被设置为255。
注意:无论进行哪一种代数运算都要保证两幅输入图像的大小相等,且类型相同。
三、实验步骤1.图像的加法运算图像相加一般用于对同一场景的多幅图像求平均效果,以便有效地降低具有叠加性质的随机噪声。
直接采集的图像品质一般都较好,不需要进行加法运算处理,但是对于那些经过长距离模拟通讯方式传送的图像(如卫星图像),这种处理是必不可少的。
在MATLAB中,如果要进行两幅图像的加法,或者给一幅图像加上一个常数,可以调用imadd函数来实现。
imadd函数将某一幅输入图像的每一个像素值与另一幅图像相应的像素值相加,返回相应的像素值之和作为输出图像。
imadd函数的调用格式如下:Z = imadd(X,Y)其中,X和Y表示需要相加的两幅图像,返回值Z表示得到的加法操作结果。
图像加法在图像处理中应用非常广泛。
例如,以下代码使用加法操作将图2.1中的(a)、(b)两幅图像叠加在一起:I = imread(‘rice.tif’);J = imread(‘cameraman.tif’);K = imadd(I,J);imshow(K);叠加结果如图2.2所示。
图2.1 待叠加的两幅图像图2.2 叠加后的图像效果给图像的每一个像素加上一个常数可以使图像的亮度增加。
例如,以下代码将增加图3(a)所示的RGB图像的亮度,加亮后的结果如图3(b)所示。
RGB = imread(‘flower.tif’);RGB2 = imadd(RGB,50);subplot(1,2,1);imshow(RGB);subplot(1,2,2);imshow(RGB2);加50 减50原图加50 减50图2.3 亮度增加与变暗两幅图像的像素值相加时产生的结果很可能超过图像数据类型所支持的最大值,尤其对于uint8类型的图像,溢出情况最为常见。