MATLAB小系统的数字图像处理
【带GUI界面,源码实现】
目 录
实验1.数字图像获取和格式转换 2
实验二、图像亮度变化和空间滤波 6
实验三、频域处理 7
实验4。图像恢复 9
实验五、彩色图像处理 10
实验六、图像压缩 11
实验七、图像分割 13
教材及参考文献 14
实验1.数字图像获取和格式转换
一、 实验目的
掌握使用扫描仪、数码相机、数码相机、计算机摄像头等数字设备以及计算机获取数字图像的方法;
修改图像的存储格式;比较不同压缩格式图像的数据量。
二、 实验原理
数字图像获取设备的主要性能指标是x、y方向分辨率、颜色分辨率(颜色位数)、扫描范围和接口模式等。各种设备都标明了其光学分辨率和最大分辨率。分辨率单位dpi,dpi是英文Dot Per Inch缩写是指每英寸的像素点。
扫描仪扫描图像的步骤是:首先将要扫描的原稿正面铺在扫描仪的玻璃板上,原稿可以是文本手稿或图纸照片;然后启动扫描仪驱动程序,安装在扫描仪内的可移动光源开始扫描原稿。为了均匀照亮手稿,扫描仪的光源是长条形的,并沿y方向扫描整个手稿;反射后,照射到手稿上的光线穿过一个非常窄的间隙,沿x方向形成光带。通过一组反射器,光学透镜聚焦并进入分光镜,通过棱镜和红、绿、蓝过滤器获得RGB三条彩色光带分别照亮各自CCD上,CCD将RGB光带转换为模拟电子信号,此信号又被A/D变换器转换为数字电子信号。到目前为止,反映原始图像的光信号已转换为计算机可接受的二进制数字电子信号,最终通过串行或平行接口发送到计算机。到目前为止,反映原始图像的光信号已经转换为计算机可以接受的二进制数字电子信号,最终通过串行或平行接口发送到计算机。扫描仪每次扫描一行,都会获得原始x方向的图像信息。随着y方向的移动,原始图像逐渐在计算机内部形成。扫描仪工作原理见图1.1。

图1.扫描仪的工作原理
两个元件在扫描仪的工作过程中起着关键作用。一个是CCD,它将光信号转换为电信号;A/D变换器将模拟电信号转换为数字电信号。CCD是Charge Couple Device缩写,称为电荷耦合器件,是由微电子技术制成的表面光电器件,可实现光电转换功能。CCD广泛应用于摄像机、数码相机和扫描仪,但点阵用于摄像机CCD,即包括x、y平面图像采用两个方向,线性图像采用扫描仪CCD,它只有方向,y方向扫描由扫描仪的机械装置完成。CCD芯片上有许多光敏单元,它们可以将不同的光转换成不同的电荷,从而形成与原始光图像相对应的电荷图像。
数码相机的系统结构(见图1.2)数码相机的许多特殊部件,如图像传感器(CCD或CMOS)、模/数转换器(A/D)、数字信号处理单元(DSP)、图像存储器、液晶显示器(LCD)传统胶片相机没有输出控制单元(连接端口)。 仔细分析数码相机的原理方框图,不难发现数码相机的系统工作过程是将光信号转换为数字信号的过程。使用数码相机CCD电荷耦合器这种光敏元件取代了胶卷的感光成像。光线通过透镜系统和滤色器(滤光器)投射到CCD在光敏元件上,CCD将其光强和颜色转换成电信号,记录在数码相机的存储器中,形成计算机可处理的数字信号。 除光学透镜系统外,数码相机几乎完全由电子电路控制。基本的信号处理过程非常简单。由CCD发送的电信号通过A/D转换器转换为数字信号,然后输入具有信号处理能力的信号DSP(数字信号处理器)。DSP处理工作量大,一般设计成专用硬件。信号进一步发送给离散余弦变换部件DCT进行JPEG压缩,然后通过接口电路记录到最后一级的存储器。
图1.2 数码相机原理图
数码相机的感光器件,即数码相机的感光成像部件,可以通过模数转换器芯片将光转换为电荷和数字信号。目前,数码相机的核心成像部件有两种:一种被广泛使用CCD(电荷藕合)元件;另一个是CMOS(补充金属氧化物导体)装置。电荷莲藕装置图像传感器CCD(Charge Coupled Device),它由一种高感光半导体材料制成,可以将光转换为电荷,通过模数转换器芯片转换为数字信号。数字信号压缩后,由存储器或内置硬盘卡保存,因此可以很容易地将数据传输到计算机,借助计算机处理,根据需要和想象修改图像。CCD它由许多光单位组成,通常以百万像素为单位。当CCD当表面被光照射时,每个感光单元都会在组件上反射电荷,所有感光单元产生的信号加在一起,形成一个完整的画面。互补性氧化金属半导体CMOS(Complementary Metal-Oxide Semiconductor)和CCD它也是一个半导体,可以记录数码相机中的光变化。CMOS制造技术与一般计算机芯片没有区别,主要是由硅和锗制成的半导体CMOS上共存着带N(带–电) 和 P(带 电)级半导体,这两种互补效应产生的电流可以被芯片记录并解释为图像。然而,CMOS缺点是杂点太容易出现, 这主要是因为早期设计CMOS由于电流变化过频繁,在处理快速变化的图像时会过热。从两种感光器件的工作原理可以看出,CCD优点是成像质量好,但由于制造工艺复杂,只有少数厂家能掌握,制造成本居高不下,尤其是大型的CCD,价格很高。在相同的分辨率下,CMOS价格比CCD便宜,但是CMOS与设备产生的图像质量相比CCD来说要低一些。到目前为止,市场上绝大多数消费水平和高端数码相机都在使用CCD作为传感器;CMOS在某些摄像头上使用传感器作为低端产品吗?CCD传感器已成为人们判断数码相机等级的标准之一。
- 实验步骤
扫描仪、数码相机(手机)、数码相机或电子手机)、数码相机或电子相机;
2打开计算机,安装外部设备的驱动程序;
3将数字图像获取设备中的图像复制到计算机中并保存;
调整彩色图像的颜色;
将获得的图像格式分别转换为*.gif”、“*.tif”、“*.jpg格式保存,检查图像文件数据的大小。保存或复制图片MATLAB程序组根目录work以后的实验作为原图像使用文件夹。
6.记录和整理实验报告。
- 实验仪器
1计算机;
2扫描仪(或数码相机、数码相机等)及其驱动程序盘;
图像处理软件(绘图,Photoshop, Microsoft photo edit等);
记录用笔、纸。
- 实验报告内容
描述操作过程
提交用扫描仪扫描的图像。
- 思考题
测试数字图像获取设备的工作原理。
您使用过哪些图像获取设备?
实验二、图像亮(灰)度变换与空间滤波
- 实验目的
1了解图像亮(灰)度变换与空间滤波的意义和手段;
2熟悉图像亮(灰)度变换与空间滤波的MATLAB函数和语法;
3熟练掌握应用MATLAB软件编程进行图像亮(灰)度变换与空间滤波的方法;
4参照课本和课堂教学的例题对图像进行图像亮(灰)度变换与空间滤波。
- 实验原理
图像亮(灰)度变换与空间滤波属于在空间域内处理图像,是直接对图像的像素进行处理。有两种重要的空间域处理方法,即亮度(或灰度级)变换与空间滤波,后一种方法有时称为邻域处理或空间卷积。
图像亮(灰)度变换采用MATLAB工具箱中的亮度变换函数、直方图处理函数等函数及其相应的语法格式对实验一生成的图像进行处理;空间滤波采用MATLAB工具箱中的标准(线性和非线性)空间滤波器对图像进行空间滤波处理。
- 实验步骤
1打开计算机,安装和启动MATLAB程序;程序组中“work”文件夹中应有待处理的图像文件;
2利用MatLab工具箱中的函数、语法,参照课本和课堂讲解的例题对图像进行图像亮(灰)度变换与空间滤波,并显示获得的图像;
3记录和整理实验报告。
- 实验仪器
1计算机;
2 MATLAB程序;
3移动式存储器(软盘、U盘等)。
4记录用的笔、纸。
- 实验报告内容
1叙述实验过程;
2提交实验的原始图像和结果图像。
- 思考题
1.MATLAB程序的IPT中有哪些图像亮(灰)度变换函数?写出函数的语法。
2.图像亮(灰)度变换与空间滤波有什么不同?
实验三、频域处理
实验目的
1了解图像频域处理的意义和手段;
2熟悉离散傅里叶变换的基本性质;
3熟练掌握图像傅里叶变换的方法及应用;
4通过实验了解二维频谱的分布特点;
5通过本实验掌握利用MATLAB的工具箱实现数字图像的频域处理。
- 实验原理
傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。通过实验培养这项技能,将有助于解决大多数图像处理问题。对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。
2图像变换的基本原理
(1)傅立叶(Fourier)变换的定义
对于二维信号,二维Fourier变换定义为: 二维离散傅立叶变换为: 图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法。实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。
- 实验步骤
1打开计算机,启动MATLAB程序;程序组中“work”文件夹中应有待处理的图像文件;
2调入“实验一”中获取的数字图像,应用IPT函数(参照例题)进行图像频域处理;
3显示原图像与频域处理后的图像及频谱图。
4记录和整理实验报告
- 实验仪器
1计算机;
2 MATLAB程序;
3移动式存储器(软盘、U盘等)。
4记录用的笔、纸。
- 实验报告内容
1叙述实验过程;
2提交实验的原始图像和结果图像。
- 思考题
1.叙述对数字图像进行DFT处理的原理。 2.通过对图像进行频域处理可以使图像产生什么样的变化?
3.如何从空间滤波器获得频域滤波器?
4.如何在频域中直接生成频域滤波器
实验四、图像复原
- 实验目的
1、了解图像复原的原理;
2、掌握常用图像复原方法。
- 实验原理
- 分析不同条件下图像退化成因和处理方法;
- 根据退化的数学模型对退化图像进行处理,复原原始图像。
- 实验步骤
1打开计算机,启动MATLAB程序;
2调入“实验一”中获取的数字图像,应用IPT的函数对图像作模糊化和添加噪声处理;
3 参照课本和课堂讲解的例题中的方法对退化的图像进行复原。
4记录和整理实验报告
- 实验仪器
1计算机;
2 MATLAB(含IPT)等程序;
3移动式存储器(软盘、U盘等)。
4记录用的笔、纸。
- 实验报告内容
1叙述实验过程;
2提交实验的原始图像、退化图像和复原图像。
- 思考题
1.常见的图像退化模型有哪些种类? 2.不同的PSF对复原效果有什么影响?
实验五、彩色图像处理
一、实验目的
1、了解彩色空间的基本概念及转换原理;
2、熟悉MATLAB中彩色图像的表示方法;
3、使用MatLab函数实现各类彩色空间的转换;
4、使用MatLab函数实现各种图像类型的转换;
二、实验原理
(1)利用MATLAB的IPT进行彩色图像的读、写和显示;
(2)颜色空间的基本概念;
(3)颜色空间包括某个颜色域的所有颜色,实验中采用的颜色模型有NTSC、HSV、YcbCr模型等。各种颜色空间在图像处理中各有优势,可以互相转换;
三、实验步骤
1打开计算机,启动MATLAB程序;
2调入“实验一”中获取的数字图像,采用IPT的各种颜色空间转换函数进行图像读取、显示,并显示各分量图像。
3 试根据转换公式,自行编制其他颜色空间转换函数
4. 记录和整理实验报告
四、实验仪器
1计算机;
2 MATLAB等程序;
3移动式存储器(软盘、U盘等)。
4记录用的笔、纸。
五、实验报告内容
1叙述实验过程;
2提交实验的原始图像和结果图像。
六、思考题
比较不同颜色空间的差别。
实验六、图像压缩
- 实验目的
- 理解有损压缩和无损压缩的概念;
- 理解图像压缩的主要原则和目的;
- 了解几种常用的图像压缩编码方式。
- 利用MATLAB程序进行图像压缩。
- 实验原理
1.图像压缩原理
图像压缩主要目的是为了节省存储空间,增加传输速度。图像压缩的理想标准是信息丢失最少,压缩比例最大。不损失图像质量的压缩称为无损压缩,无损压缩不可能达到很高的压缩比;损失图像质量的压缩称为有损压缩,高的压缩比是以牺牲图像质量为代价的。压缩的实现方法是对图像重新进行编码,希望用更少的数据表示图像。
信息的冗余量有许多种,如空间冗余,时间冗余,结构冗余,知识冗余,视觉冗余等,数据压缩实质上是减少这些冗余量。高效编码的主要方法是尽可能去除图像中的冗余成分,从而以最小的码元包含最大的图像信息。
编码压缩方法有许多种,从不同的角度出发有不同的分类方法,从信息论角度出发可分为两大类。
(1).冗余度压缩方法,也称无损压缩、信息保持编码或熵编码。具体说就是解码图像和压缩编码前的图像严格相同,没有失真,从数学上讲是一种可逆运算。
(2)信息量压缩方法,也称有损压缩、失真度编码或熵压缩编码。也就是说解码图像和原始图像是有差别的,允许有一定的失真。
应用在多媒体中的图像压缩编码方法,从压缩编码算法原理上可以分为以下3类:
(1)无损压缩编码种类
哈夫曼(Huffman)编码,算术编码,行程(RLE)编码,Lempel zev编码。
(2)有损压缩编码种类
预测编码,DPCM,运动补偿;
频率域方法:正交变换编码(如DCT),子带编码;
空间域方法:统计分块编码;
模型方法:分形编码,模型基编码;
基于重要性:滤波,子采样,比特分配,向量量化;
(3)混合编码。
有JBIG,H261,JPEG,MPEG等技术标准。
本实验主要利用MATLAB程序进行Huffman编码、算术编码、离散余弦变换(DCT)和行程编码(Run Length Encoding, RLE)。
- 实验步骤
1打开计算机,启动MATLAB程序;
2调入“实验一”中获取的数字图像,并进行数据的Huffman编码、算术编码、DCT、游程编码等压缩处理;
3 将原图像在Photoshop软件中打开,分别以不同的位图文件格式进行“另保存”,比较它们的数据量。
4记录和整理实验报告
- 实验仪器
1计算机;
2 MATLAB、Photoshop等程序;
3移动式存储器(软盘、U盘等)。
4记录用的笔、纸。
- 实验报告内容
1叙述实验过程;
2提交实验的原始图像和结果图像。
- 思考题
1.图像中哪些信息是主要的,哪些信息是次要的? 2.简述离散余弦变换(DCT)和行程编码(RLE)的原理。
实验七、图像分割
- 实验目的
1、通过实验体会一些主要的分割算子对图像处理的效果,以及各种因素对分割效果的影响;
2、使用MatLab 软件进行图像的分割;
3、能够评价各主要算子在无噪声条件下和噪声条件下的分割性能;
4、能够掌握分割条件(阈值等)的选择;
5、完成规定图像的处理并要求正确评价处理结果,能够从理论上作出合理的解释。
二、实验原理
1.使用Roberts 算子的图像分割实验,调入并显示一幅图像*.gif或*.tif;使用Roberts 算子对图像进行边缘检测处理;
2.使用Prewitt 算子的图像分割实验
使用Prewitt 算子进行内容(1)中的全部步骤。
3.使用Sobel 算子的图像分割实验,使用Sobel 算子进行内容(1)中的全部步骤。
4.使用LoG (拉普拉斯-高斯)算子的进行图像分割实验。
5.使用Canny算子的进行图像分割实验。
三、实验步骤
1打开计算机,启动MATLAB程序;
2调入“实验一”中获取的数字图像,并进行图像分割处理;
3记录和整理实验报告
四、实验仪器
1计算机;
2 MATLAB等程序;
3移动式存储器(软盘、U盘等)。
4记录用的笔、纸。
五、实验报告内容
1叙述实验过程;
2提交实验的原始图像和结果图像。
六、思考题
1. 评价一下Roberts 算子、Prewitt 算子、Sobel 算子对于噪声条件下边界检测的性能。
2. 为什么LoG梯度检测算子的处理结果不需要象Prewitt 等算子那样进行幅度组合?
3. 实验中所使用的四种算子所得到的边界有什么异同?
教材
㈠教材
[1].(美)Rafael C. Gonzalez , Richard E. Woods, Steven L. Eddins. Digital Image Processing Using MATLAB.数字图像处理(MATLAB版)[M].阮秋琦 等. 北京:电子工业出版社,2005.9