当前位置:文档之家› MATLAB在数字图像处理教学中的应用_邱广萍

MATLAB在数字图像处理教学中的应用_邱广萍

MATLAB在数字图像处理教学中的应用_邱广萍
MATLAB在数字图像处理教学中的应用_邱广萍

价值工程

1简介

1.1MATLAB 简介MATLAB 是Matrix &Laboratory 两个词的组合,意为矩阵实验室。是由美国Math works 公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算语言环境。它在数学类科技应用软件中的数值计算方面首屈一指。它将矩阵计算、数值分析、科学数据可视化以及动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C 、Fortran )的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB 可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,已经经受了用户的多年考验。在欧美发达国家,MATLAB 已经成为应用线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具;也成为攻读学位的大学生、硕士生、博士生必须掌握的基本技能。在设计研究单位和工业相关部门,MATLAB 被广泛地用于研究和解决各种具体工程问题[1]。

1.2MATLAB GUIDE 简介MATLAB GUIDE

(Graphi -cal User Interfaces ,图形用户界面)是MATLAB 为表现其基本功能而设计的演示程序。图形用户界面GUIDE ,实则是由窗口、菜单、按钮、文字说明、光标等对象构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些对象,使计算机产生某种动作响应,比如实现计算、绘图等。

假如读者所从事的数据分析、求解方程等比较单一的工作,一般不会考虑使用GUIDE 辅助工作。但是如果需要向别人提供应用程序,想进行某种技术、方法、效果的演示,想制作一个供反复使用且操作简单的专用工具,那么图形用户界面可能是最好的选择。

生成图形用户界面最常见的理由有:①编写函数或开发应用程序供他人使用;②编写一个需多次反复使用的实用函数;③创建一个过程、技术或分析方法的交互式示例。简单来说,图形用户界面的设计应遵循以下三个原则:简单性、一致性及通常性。一般的设计制作步骤包括界面设计和程序实现,具体如下:

①分析界面所需要实现的主要功能;②绘画草图,并从使用者的角度来审视草图并修改;③按照构思制作静态界面;

④编写界面中动态功能的程序代码,并检查[2]。

1.3数字图像处理课程简介数字图像处理作为一门学科大约形成于20世纪60年代初期。早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。首次获得实际成功应用的是美国喷气推进实验室(JPL )。他们对航天探测器徘徊者7号在1964年发回的几千张月球照片使用了图像处理技术,如几何校正、灰度变换、去除噪声等方法进行处理,并考虑了太阳位置和月球环境的影响,由计算机成功地绘制出月球表面地图,获得了巨大的成功[3]。

一般来讲,对图像进行处理(或加工、分析)的主要目的有三个方面:

①提高图像的视感质量,如进行图像的亮度、彩色变换,增强、抑制某些成分,对图像进行几何变换等,以改善图像的质量。

②提取图像中所包含的某些特征或特殊信息,这些被提取的特征或信息往往为计算机分析图像提供便利。提取特征或信息的过程是模式识别或计算机视觉的预处理。提取的特征可以包括很多方面,如频域特征、灰度或颜色特征、边界特征、区域特征、纹理特征、形状特征、拓扑特征和关系结构等。

——————————————————————

—基金项目:省级大学生创新创业训练计划(1262313014)。作者简介:邱广萍(1981-),女,广东肇庆人,硕士,讲师,研究方向

为电子信息工程。

MATLAB GUIDE 在数字图像处理教学中的应用

Applications of MATLAB Graphical User Interfaces in Teaching the Digital Image Processing

邱广萍QIU Guang-ping

(华南农业大学珠江学院,广州510900)

(Zhujiang College ,South China Agricultural University ,Guangzhou 510900,China )

摘要:MATLAB GUIDE (Graphical User Interfaces ,图形用户界面)是为表现MATLAB 中的基本功能而设计的演示程序。本文通过

对数字图像处理中几个常用的设计例子,开发和利用MATLAB GUIDE 的教学自动控制系统,展示了MATLAB GUIDE 在数字图像处

理课程辅助教学的优点。

Abstract:MATLAB GUIDE(Graphical User Interfaces)is designed for the basic function of MATLAB in the demo program.This paper analyzes several examples commonly used in digital image processing design,automatic control system development and utilization of MATLAB GUIDE teaching,MATLAB GUIDE shows advantages in the teaching of digital image processing.

关键词:MATLAB GUIDE ;数字图像处理;辅助教学Key words:MATLAB GUIDE ;digital image processing ;auxiliary teaching 中图分类号:TP391文献标识码:A 文章编号:1006-4311(2014)03-0184-03

·184·

Value Engineering

③图像数据的变换、编码和压缩,以便于图像的存储和传输。

不管是何种目的的图像处理,都需要由计算机和图像专用设备组成的图像处理系统对图像数据进行输入、加工和输出[4]。

2“数字图像处理”教学中遇到的问题及解决的办法

2.1遇到的问题数字图像处理是一门注重公式和理论推导较多的学科。使用多媒体的方法不利于公式推导;使用黑板式教学则缺乏对结果的可视化的直观表现。长期以来,由于本门课程本身的特点及教学方法、教学手段单一化,使本门课程一直处于难教难学的状态中。

2.1.1课程起点高、难度大数字图像处理这门课程涉及的数学知识有对数变换、幂次变换、矩阵变换和逆变换、双线性插值计算、连续傅里叶变换、离散傅里叶变换、离散余弦变换、卷积和传递函数、加权积分函数计算、概率密度函数计算、各种滤波器的传递函数计算、信息熵、哈夫曼编码、线性预测编码和变换编码等等。课程中大量的公式推导和理论推导给学生的学习带来困难。传统的教学方法只注重公式理论的推导,忽视了理论的实现步骤,较少演示图像经过各种算法计算后的处理效果,学生感觉非常抽象,难以理解,从而逐步失去学习的兴趣。

2.1.2多学科交叉,知识面极广数字图像处理涉及的学科有高等数学、数字信号处理、高级语言编程、随机过程、微电子技术、光学技术、计算机技术、人工智能程序设计和数学分析等领域。课程内容广泛,多学科知识交叉、集成和互相渗透,对教与学都提出了很高的要求。

2.1.3班级学生多,教与学难以互动随着高校的不断扩招,造成学生整体的水平严重下降,学生本身所受的素质教育已经对之前学校定下的水平有很大的差别。教师面对这么多学生,已经没有太多的精力来提高学生的水平,也没有太多的精力来提高自己的文化水平。这种情况直接导致了大班授课,教师难以与学生进行有效的课堂互动,更别说了解每个学生的接受情况和接受能力。

2.1.4教学课时数与教学内容的矛盾现在高校由于招生人数多,不得已不断压缩教学课时数。例如数字图像处理该门课程的教学课时数32学时,在教学过程中,既要复习高等数学的基础知识,又要介绍图像处理的基本理论,还需要针对特别的例子进行程序编写并解释,更加需要课堂的实践应用。因此教学内容非常多,需要教师在教学过程中不断增删不太重要的知识,以保证教学的正常进行。

2.1.5学生水平参差不齐由于各学科的交叉融合在数字图像处理课程的体现,有部分学生的高等数学公式推导部分没有学好,或者在计算机语言程序编写中的基础没有学好,又或者在其他涉及的学科知识没有学好,都直接导致本门课程学不好。而教师在教学中只能取中等的水平进行教学,尖子生和差生都感觉学习有问题。尖子生感觉教师的授课内容已经了如指掌,差生却感觉教师授课快,难以跟上等等,都需要教师在授课过程中作出合适的调整。

2.2解决的办法面对这样一门理论与实践、原理与应用紧密结合的课程,学生们在学习中往往会碰到许多困难:既为数字图像处理广泛应用的前景所吸引,又困扰于课程的理论性。在一些复杂的数学推导面前望而却步,逐渐丧失学习的兴趣。如何提高学生们的学习兴趣,提高学习的积极性,更好的让学生掌握这门课程,本文从以下几个方面进行了探讨:

①利用MATLAB简化公式推导。MATLAB本身自带的数值计算和分析功能,例如微积分运算,微分方程求解,卷积求解,矩阵逆矩阵变化,傅里叶变换求解等,都可以通过简单的建模、编程来完成。

②利用MATLAB将抽象结果具体化。利用MATLAB 对计算结果的可视化功能,制作出GUIDE图形用户界面程序,将所有计算过程,公式推导过程简化为一个按钮带出的响应系统。

③将复杂编程过程简单化。程序编写不单需要深厚的编程基础,还需要针对出错的程序进行差错处理,针对效果修改程序处理。因此在授课过程中,如果把时间都用于上述复杂的步骤,那么让学生学习新知识的时间就很少了。本文论述一种全新的图形用户界面,将程序以结果的方式展示,再讲解注释,引导学生自主编写程序,简化学习过程。

④加强学习互动性。由于教师授课时间有限,与学生互动的时间少,导致学生有问题的不能发问,有不明白的地方也难以弄清楚,将教学难度加大。本文将数字图像处理课程中较为抽象,学生难以理解的概念和问题,通过程序一个编写成类似教学课件的平台,用按钮、文字、图形和动画及友好的人机交互界面展现出来,学生可以多次观看,操作。

3创建MATLAB GUIDE实例

MATLAB GUIDE开发工具为用户提供以下几种组件布局工具。通过这些工具可以很方便地修改或者调整图形界面元素的各种属性。

组件布局编辑器:添加和安排图形窗口中的对象。

排列工具:排列对象的相对次序。

属性编辑器:检查和设置属性值。

对象浏览器:观察本次运行中图形对象句柄的层次关系。

菜单编辑器:创建图形窗口菜单[5]。

3.1基本功能本文就以上的介绍,制作了一个简单的图形用户界面。该GUIDE程序有以下基本功能:

①一级菜单start和save按钮实现图像的读取和保存。

②实现图像灰度变换的调整,并实时显示变化后的图像效果。

③实现图像的任意角度旋转和缩放图像。

④实现图像直方图均衡化,并显示直方图效果。

⑤实现二维傅里叶变换。

⑥添加高斯噪声或椒盐噪声,并用平滑滤波器、均值滤波器进行滤波。

3.2总体设计软件的总体设计界面布局如图1所示,主要分为2个部分:显示区域与操作区域。

显示区域:显示载入的原图像,显示处理后的效果图。

操作区域:通过各功能键实现对图像的各种处理。

具体设计步骤如下:

①新建一个GUIDE窗口,保存。通过Menu Editor创建一级菜单file,在其下设置两个子菜单项start和save,实现文件的打开、保存功能。

·185·

价值工程

0引言

为防止出租车可能的由传感器及信号传输过程中被加入额外的脉冲信号(作弊行为),因此需要将速度脉冲信号加密后再传输。

出租车编码传感器使用内置于传感器中的微控制器加密传感器的脉冲信号脉冲。微控制器接收到脉冲信号后,用软件方式产生数字编码信号。数字编码信号再通过计价器内的软件解码,解出脉冲信号。软件方式的编码和解码可以用数字信号消除传输线路中的干扰脉冲,还可以消除脉冲信号因环境变化引起的宽度偏移。微控制器编码时,以脉冲宽度的不同代表不同的二值

信号,低电平脉冲为有效的码值信号,信号位前面加上一个宽的低电平脉冲作为起始位。

1编码信号示意图举例

——

—————————————————————作者简介:王跃红(1968-),男,江苏无锡人,江苏省无锡市计量

测试中心出租计价器检定部部长,工程师,研究方向

为计价器检定。

出租汽车计价器加密传感器设计

Encrypted Sensor Design of Taxi Meter

王跃红WANG Yue-hong

(无锡市计量测试中心,无锡214101)

(Wuxi Measurement and Test Center ,Wuxi 214101,China )

摘要:文章对出租汽车计价器加密传感器的加密原理、几种入侵方式进行分析。

Abstract:This paper analyzes the encryption principle and several invasion methods of taxi meter encrypted sensor.

关键词:出租车;加密传感器;计价器Key words:taxi ;encryption sensor ;meter 中图分类号:TP212文献标识码:A 文章编号:1006-4311(2014)03-0186-02

②建立2个静态文本,用于标注相应空间的提示,显

示为“原始图像”,“处理后的图像”。

③建立2个坐标轴对象,用于显示原始图像和处理后的图像。

④建立7个按钮,分别用于图像灰度变换、旋转图像、缩放图像、直方图均衡化、傅里叶变换、添加噪声、滤波。

⑤设置2个可编辑文本框,用于动态输入旋转的角度,缩放图像的系数。

⑥设置2组单选按钮,每组有2个单选按钮。第一组实现高斯噪声和椒盐噪声之间的切换。第二组实现平滑滤波器和均值滤波器之间的切换。

⑦设置上述控件的相关属性。控件的标识Tag 是对于

各控件的识别,每个控件创建时都会由开发环境自动产生一个标识。在程序设计中,为了编辑、记忆和修改的方便,一般会为控件设置新的标识。

⑧编写代码和回调函数。4结束语

本文通过对数字图像处理课程的性质的阐述,设计制作了图形用户界面的例子,展示了有人机交互功能的图形用户界面GUIDE 可使数字图像处理的分析及效果展示有了可控的,直观性的变化。因此将其应用于数字图像处理课程辅助教学中,能使学生更易于理解并接受课程中的理论知识,对课程更感兴趣,提高学习积极性。

参考文献:

[1]Andreatos A S,Zagorianos A.Matlab GUI application for

teaching control systems [C]//Proc.of the 6th International Conference on Engineering Education.2009.

[2]Erenturk K.MATLAB based GUIs for fuzzy logic controller design and applications to PMDC motor and AVR control [J].Computer Applications in Engineering Education,2005,13(1):10-25.

[3]陈矗光,毛涛涛,王正林,等.精通MATLAB GUI 设计[M].北京:电子工业出版社,2008.

[4]王玉林,葛蕾,李艳斌.新型界面开发工具:MATLAB/GUI [J].工程实践及应用技术,2008,34(6).

[5]徐增伟,曾黄麟,江泌,等.基于MATLAB GUI 的研究生学业评估系统设计[J].四川理工学院学报(自然科学版),2011,24(4).

Frame to frame Interval >1000us

Last frame

Start bit

Time (Start bit ):500us-800us (640)Bit 1

Bit 0

Recover time 60us-150us

(126)16bits Total

Time (bit0):250us-350us (288)

Time (bit1):70us-140us (112)

10ms (Max )

图1MATLAB GUIDE 制作的数字图像处理效果图

start save gui

灰变变换旋转缩放直方图均衡…傅里叶变换添加噪声

输入角度缩放系数

原始图像

处理后的图像

10.80.60.40.200

0.2

0.4

0.60.8

10

0.2

0.40.60.81

10.80.60.40.20滤波

Button Group 高斯噪声椒盐噪声均值滤波中值滤波Button Group ·186·

非常全非常详细的MATLAB数字图像处理技术

MATLAB数字图像处理 1 概述 BW=dither(I)灰度转成二值图; X=dither(RGB,map)RGB转成灰度图,用户需要提供一个Colormap; [X,map]=gray2ind(I,n)灰度到索引; [X,map]=gray2ind(BW,n)二值图到索引,map可由gray(n)产生。灰度图n默认64,二值图默认2; X=graylice(I,n)灰度图到索引图,门限1/n,2/n,…,(n-1)/n,X=graylice(I,v)给定门限向量v; BW=im2bw(I,level)灰度图I到二值图; BW=im2bw(X,map,level)索引图X到二值图;level是阈值门限,超过像素为1,其余置0,level在[0,1]之间。 BW=im2bw(RGB,level)RGB到二值图; I=ind2gray(X,map)索引图到灰度图; RGB=ind2rgb(X,map)索引图到RGB; I=rgb2gray(RGB)RGB到灰度图。 2 图像运算 2.1 图像的读写 MATLAB支持的图像格式有bmp,gif,ico,jpg,png,cur,pcx,xwd和tif。 读取(imread): [1] A=imread(filename,fmt) [2] [X,map]=imread(filename,fmt) [3] […]=imread(filename) [4] […]=imread(URL,…) 说明:filename是图像文件名,如果不在搜索路径下应是图像的全路径,fmt是图像文件扩展名字符串。前者可读入二值图、灰度图、彩图(主要是RGB);第二个读入索引图,map 为索引图对应的Colormap,即其相关联的颜色映射表,若不是索引图则map为空。URL表示引自Internet URL中的图像。 写入(imwrite): [1] R=imwrite(A,filename,fmt); [2] R=imwrite(X,map,filename,fmt); [3] R=imwrite(…,filename); [4] R=imwrite(…,Param1,V al1,Param2,Val2) 说明:针对第四个,该语句用于指定HDF,JPEG,PBM,PGM,PNG,PPM,TIFF等类型输出文件的不同参数。例如HDF的Quality,Compression,WriteMode;JPEG的BitDepth,Comment:Empty or not,Mode:lossy or lossless,Quality等。 2.2 图像的显示 方法1:使用Image Viewer(图像浏览器),即运用imview函数。 同时显示多帧图像的所有帧,可用到montage函数。

数字图像处理实验程序MATLAB.

实验一 内容(一) (1)彩色图像变灰度图像 A=imread('1.jpg'); B=rgb2gray(A); figure subplot(1,2,1), imshow(A) title('原图') subplot(1,2,2), imshow(B) title('原图灰度图像') (2)彩色图像变索引图像 A=imread('1.jpg'); figure subplot(1,2,1), imshow(A) title('原图') [X,map]=rgb2ind(A,128); subplot(1,2,2), imshow(X,map) title('原图索引图像') (3)彩色图像变二值图像 A=imread('1.jpg'); figure subplot(1,2,1), imshow(A) title('原图') C=im2bw(A,0.2); subplot(1,2,2), imshow(C) title('原图二值图像') (4)灰度图像变索引图像(一) A=imread('1.jpg'); figure B=rgb2gray(A); subplot(1,2,1), imshow(B) title('灰度图像') C=grayslice(B,39); subplot(1,2,2), imshow(C) title('灰度变索引图像')

(5)灰度图像变索引图像(二) A=imread('1.jpg'); figure B=rgb2gray(A); subplot(1,2,1), imshow(B) title('灰度图像') [X,map]=gray2ind(B,63); subplot(1,2,2), imshow(X,map) title('灰度变索引图像') (6)灰度图像变彩色图像 A=imread('1.jpg'); figure B=rgb2gray(A); subplot(1,2,1), imshow(B) title('灰度图像') C=gray2rgb(B,map); subplot(1,2,2), imshow(C) title('灰度变彩色图像') 内容(二) (1)灰度平均值 A=imread('1.jpg'); figure B=rgb2gray(A); subplot(1,2,1), imshow(B) title('灰度图像') B=double(B); [m,n]=size(B); sumg=0.0; for i=1:m; for j=1:n; sumg=sumg+B(i,j); end end avg=sumg/(m*n) % 均值 maxg=max(max(B)) % 区域最大灰度ming=min(min(B)) % 区域最小灰度 (2)彩色平均值

用Matlab进行数字图像处理实验1

实验报告 专业:信息与计算科学班级:07级(1)班指导老师:汪太月老师姓名:刘莲学号:0641210224 实验室:K7-407 实验名称:Matlab图像工具箱的使用时间:2010.6.13 一、实验目的及要求 (一)实验目的 1、掌握MATLAB中常用的图像处理语句; 2、掌握图像的读入,信息查询以及显示; 3、掌握采用不同的模板对图像进行滤波; 4、掌握图像显示的调用格式; (二)实验要求 1、练习MATLAB中常用的图像处理语句; 2、练习图像的读入,信息查询以及显示; 3、练习采用不同的模板对图像进行滤波; 4、练习图像显示的调用格式; 二、实验设备(环境)及要求 1、支持Intel Pentium Ⅲ及其以上CPU,内存256MB以上、硬盘1GB以上容量的微机;软件配有 Windows98/2000/XP操作系统及MATLAB软件; 2、实验过程中,务必分析实验结果,按要求写出实验报告。(建议同时网上提交电子版实验报告: yw6895@https://www.doczj.com/doc/e516919275.html,) 三、实验内容与步骤 1、练习MATLAB中常用的图像处理语句 Matlab中为用户提供了一些特殊的函数,用于从图像格式的文件中读写图像。其中:a、读取图形文件格式的图像需要用imread函数; b、写入一个图形文件格式的图像需要调用imwrite函数; c、获取图形文件格式的图像的信息需要调用imfinfo、ind2rgb函数; d、以Mat文件加载或保存矩阵数据用load、save函数; e、显示加载到Matlab中的图像用image、imagesc. 此外,Matlab工具箱中还提供了图像转化函数,可以对图像类型进行转化,以达到某些图像处理工作的要求。 下面,我们将分别对这些常用的图像处理语句在Matlab中进行练习,并观察其输出结果: (1)在Matlab中读入一个灰度图像,并利用相关函数进行图像处理,并显示结果。 Matlab程序如下: I=imread('lena.bmp'); %读入原图像文件 imshow(I) %图像文件的显示 imwrite(I,'lena1.bmp'); %将原图像重命名为lena1.bmp,并保存图像 figure,imhist(I,225) %显示原图像的直方图,225为指定的灰度级数目 X=grayslice(I,64); %将原图像I均匀量化成64个等级,然后转化成索引色图像X figure,imshow(X,pink(64)) %显示索引色图像,pink(64)产生一个64×3的调色板,色度为粉红运行结果如下: 500 1000 1500 2000 2500 3000 3500 050100150200250 (2)练习图像的读入,信息查询以及显示 Matlab程序如下: load trees image(50,80,X) %显示加载到Matlab中的图像 imwrite(X,map,'trees.tif'); %将图像以tif格式保存 inf=imfinfo('trees.tif') %图像文件信息的查询 BW=im2bw(X,map,0.4); %将索引图像转化成二值图像 figure,imshow(X,map) %显示图像 figure,imshow(BW) 运行结果如下: 50100150200250300350 100 150 200 250 300 %显示从Matlab中加载的图像文件的信息 inf = Filename: 'trees.tif' FileModDate: '18-六月-2010 19:41:48' FileSize: 75764 Format: 'tif' FormatVersion: [] Width: 350 Height: 258 BitDepth: 8 ColorType: 'indexed' FormatSignature: [73 73 42 0] ByteOrder: 'little-endian' NewSubFileType: 0 BitsPerSample: 8 Compression: 'PackBits'

非常全非常详细的MATLAB数字图像处理技术

MATLAB数字图像处理 1 概述 BW=dither(I)灰度转成二值图; X=dither(RGB,map)RGB转成灰度图,用户需要提供一个Colormap; [X,map]=gray2ind(I,n)灰度到索引; [X,map]=gray2ind(BW,n)二值图到索引,map可由gray(n)产生。灰度图n 默认64,二值图默认2; X=graylice(I,n)灰度图到索引图,门限1/n,2/n,…,(n-1)/n,X=graylice(I,v)给定门限向量v; BW=im2bw(I,level)灰度图I到二值图; BW=im2bw(X,map,level)索引图X到二值图;level是阈值门限,超过像素为1,其余置0,level在[0,1]之间。 BW=im2bw(RGB,level)RGB到二值图; I=ind2gray(X,map)索引图到灰度图; RGB=ind2rgb(X,map)索引图到RGB; I=rgb2gray(RGB)RGB到灰度图。 2 图像运算 2.1图像的读写 MATLAB支持的图像格式有bmp,gif,ico,jpg,png,cur,pcx,xwd和tif。 读取(imread): [1]A=imread(filename,fmt) [2] [X,map]=imread(filename,fmt) [3] […]=imread(filename) [4] […]=imread(URL,…) 说明:filename是图像文件名,如果不在搜索路径下应是图像的全路径,fmt是图像文件扩展名字符串。前者可读入二值图、灰度图、彩图(主要是RGB);第二个读入索引图,map 为索引图对应的Colormap,即其相关联的颜色映射表,若不是索引图则map为空。URL表示引自Internet URL中的图像。 写入(imwrite): [1] R=imwrite(A,filename,fmt); [2] R=imwrite(X,map,filename,fmt); [3] R=imwrite(…,filename); [4] R=imwrite(…,Param1,Val1,Param2,Val2) 说明:针对第四个,该语句用于指定HDF,JPEG,PBM,PGM,PNG,PPM,TIFF等类型输出文件的不同参数。例如HDF的Quality,Compression,WriteMode;JPEG的BitDepth,Comment:Emptyor not,Mode:lossy orlossless,Quality等。 2.2 图像的显示 方法1:使用Image Viewer(图像浏览器),即运用imview函数。

用matlab数字图像处理四个实验

数字图像处理 实验指导书

目录 实验一MATLAB数字图像处理初步实验二图像的代数运算 实验三图像增强-空间滤波 实验四图像分割 3

实验一 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)

MATLAB在自动控制原理中的应用

本论文主要研究如何根据用户要求的性能指标进行自动控制系统的串联校正设计,而此设计又具有很重要的现实意义。对于给定的线性定常系统,我们通常通过加入串联超前、滞后或超前滞后综合校正装置,以达到提高系统的精度和稳定性的目的。本文将给出基于频率特性法串联校正的具体设计方法,同时对该课题中的控制系统模型进行仿真。本设计可实现如下功能:对一个线性定常系统,根据需求的性能指标,通过本设计可给出系统的串联校正网络,从绘制出的各种响应曲线可以直观地将校正前后的系统进行比较,而仿真实例结果也进一步表明了此设计方法有效性和实用性。 关键词:串联校正;根轨迹;频率特性法;MATLAB 1.1研究目的 在实际工程控制中,往往需要设计一个系统并选择适当的参数以满足性能 指标的要求,或对原有系统增加某些必要的元件或环节,使系统能够全面满足 性能指标要求,此类问题就称为系统校正与综合,或称为系统设计。 当被控对象给定后,按照被控对象的工作条件,被控信号应具有的最大速 度和加速度要求等,可以初步选定执行元件的形式、特性和参数。然后,根据 测量精度、抗扰能力、被测信号的物理性质、测量过程中的惯性及非线性度等 因素,选择合适的测量变送元件。在此基础上,设计增益可调的前置放大器与 功率放大器。这些初步选定的元件以及被控对象适当组合起来,使之满足表征 控制精度、阻尼程度和响应速度的性能指标要求。如果通过调整放大器增益后 仍然不能全面满足设计要求的性能指标,就需要在系统中增加一些参数及特性 可按需要改变的校正装置,使系统能够全面满足设计要求,这就是控制系统设 计中的校正问题。系统设计过程是一个反复试探的过程,需要很多经验的积累。MATLAB为系统设计提供了有效手段。 1.2相关研究现状 系统仿真作为一种特殊的实验技术,在20世纪30-90年代的半个多世纪中经历了飞速发展,到今天已经发展成为一种真正的、系统的实验科学。自动控制系统仿真是系统仿真的一个重要分支,它是一门设计自动控制理论、计算机数学、计算机技术、系统辩识以及系统科学的综合性新型学科。它为控制系统的分析、计算、研究、综合设计以及自动控制系统的计算机辅助教学等提供了快速、经济、

(完整版)数字图像处理MATLAB程序【完整版】

第一部分数字图像处理

实验一图像的点运算 实验1.1 直方图 一.实验目的 1.熟悉matlab图像处理工具箱及直方图函数的使用; 2.理解和掌握直方图原理和方法; 二.实验设备 1.PC机一台; 2.软件matlab。 三.程序设计 在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。 I=imread('cameraman.tif');%读取图像 subplot(1,2,1),imshow(I) %输出图像 title('原始图像') %在原始图像中加标题 subplot(1,2,2),imhist(I) %输出原图直方图 title('原始图像直方图') %在原图直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像; 3.浏览源程序并理解含义; 4.运行,观察显示结果; 5.结束运行,退出; 五.实验结果 观察图像matlab环境下的直方图分布。 (a)原始图像 (b)原始图像直方图 六.实验报告要求 1、给出实验原理过程及实现代码; 2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。

实验1.2 灰度均衡 一.实验目的 1.熟悉matlab图像处理工具箱中灰度均衡函数的使用; 2.理解和掌握灰度均衡原理和实现方法; 二.实验设备 1.PC机一台; 2.软件matlab; 三.程序设计 在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。 I=imread('cameraman.tif');%读取图像 subplot(2,2,1),imshow(I) %输出图像 title('原始图像') %在原始图像中加标题 subplot(2,2,3),imhist(I) %输出原图直方图 title('原始图像直方图') %在原图直方图上加标题 a=histeq(I,256); %直方图均衡化,灰度级为256 subplot(2,2,2),imshow(a) %输出均衡化后图像 title('均衡化后图像') %在均衡化后图像中加标题 subplot(2,2,4),imhist(a) %输出均衡化后直方图 title('均衡化后图像直方图') %在均衡化后直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的灰度均衡函数,设置参数;最后输出处理后的图像; 3.浏览源程序并理解含义; 4.运行,观察显示结果; 5.结束运行,退出; 五.实验结果 观察matlab环境下图像灰度均衡结果及直方图分布。 (a)原始图像 (b)均衡化后图像

matlab在机械控制中的应用

Matlab在机械工程控制中的应用 姓名:xxx 学号:2010232 专业:机械制造及其自动化

Matlab在机械工程控制中的应用 摘要:MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 一、机械工程控制简介 机械控制工程是研究控制论在机械工程中应用的科学。它是一门跨控制论和机械工程的边缘学科。随着工业生产和科学技术的不断向前发展,机械工程控制论这门新兴学科越来越为人们所重视。他不仅满足今天自动化技术高度发展的需要,同时也与信息科学和系统科学紧密相关,更重要的是它提供了辩证的系统分析方法,即不但从局部,而且从整体上认识和分析机械系统,改进和完善机械系统,以满足科技的发展和工业生产的实际需要。 1.1机械工程控制论的研究对象与任务 机械工程控制论的研究对象是机械工程技术中广义系统的动力学问题。具体地讲,机械控制路是研究系统及其输入、输出三者之间的动态关系,也就是研究机械工程广义系统在一定的外界条件下,从系统的一定初始条件出发,所经历有内部的固有属性所决定的整个动态历程。就系统及其输入、输出三者之间动态关系而言,机械工程控制论的任务主要研究一下几方面的为题: (1)当系统已定,输入已知时,求出系统的输出(响应),并通过输出来研究系统本身的有关为题,称系统分析。 (2)当系统已定,系统的输出也已给定是,要确定系统的输出尽可能符合给定的最佳要求,称系统的最优控制。 (3)当输入已知输出也一给定时,要确定系统,使其可能符合给定的最佳要求,称最优设计。 (4)当输入和输出均已知时,求系统的结构参数,即建立系统的数学模型,称系统的便是或系统识别。 (5)当系统已定输出已知时,要识别输出输出输入的有关信息,成滤波与预测。

matlab数字图像处理源代码

数字图像去噪典型算法及matlab实现 希望得到大家的指点和帮助 图像去噪是数字图像处理中的重要环节和步骤。去噪效果的好坏直接影响 到后续的图像处理工作如图像分割、边缘检测等。图像信号在产生、传输过程中都可能会受到噪声的污染,一般数字图像系统中的常见噪声主要有:高斯噪声(主要由阻性元器件内部产生)、椒盐噪声(主要是图像切割引起的黑图像上的白点噪声或光电转换过程中产生的泊松噪声)等; 目前比较经典的图像去噪算法主要有以下三种: 均值滤波算法:也称线性滤波,主要思想为邻域平均法,即用几个像素灰度 的平均值来代替每个像素的灰度。有效抑制加性噪声,但容易引起图像模糊, 可以对其进行改进,主要避开对景物边缘的平滑处理。 中值滤波:基于排序统计理论的一种能有效抑制噪声的非线性平滑滤波信号处理技术。中值滤波的特点即是首先确定一个以某个像素为中心点的邻域,一般为方形邻域,也可以为圆形、十字形等等,然后将邻域中各像素的灰度值排序,取其中间值作为中心像素灰度的新值,这里领域被称为窗口,当窗口移动时,利用中值滤波可以对图像进行平滑处理。其算法简单,时间复杂度低,但其对点、线和尖顶多的图像不宜采用中值滤波。很容易自适应化。 Wiener维纳滤波:使原始图像和其恢复图像之间的均方误差最小的复原方法,是一种自适应滤波器,根据局部方差来调整滤波器效果。对于去除高斯噪声效果明显。 实验一:均值滤波对高斯噪声的效果 l=imread('C:\Documents and 桌面\1.gif');% 读取图像

J=imnoise(l,'gaussian',0,0.005);% 加入均值为0 ,方差为 0.005 的高斯噪声subplot(2,3,1);imshow(l); title(' 原始图像'); subplot(2,3,2); imshow(J); ti tle('加入高斯噪声之后的图像’); %采用MATLAB 中的函数filter2 对受噪声干扰的图像进行均值滤波 K1=filter2(fspecial('average',3),J)/255; % 模板尺寸为3 K2=filter2(fspecial('average',5),J)/255;% 模板尺寸为5 K3=filter2(fspecial('average',7),J)/255; % 模板尺寸为7 K4= filter2(fspecial('average',9),J)/255; % 模板尺寸为9 subplot(2,3,3);imshow(K1); ti tle(' 改进后的图像1'); subplot(2,3,4); imshow(K2); title(' 改进后的图像2'); subplot(2,3,5);imshow(K3); title(' 改进后的图像3'); subplot(2,3,6);imshow(K4); title(' 改进后的图像4');

MATLAB数字图像处理技术

MATLAB 数字图像处理技术 4 MATLAB 图像增强 4.1 原理、方法及体系结构 三个阶段:图像预处理、特征抽取阶段、识别分析阶段。 目的:改善图像的视觉效果,提高图像成分的清晰度;是图像变得有利于计算机处理。 方法:空间域增强方法、频域增强方法。 体系: 图像增强:空间域、频率域、彩色增强 空间域:像素点处理(图像灰度变换、直方图修正(中值滤波、均值滤波))、领域处理(图像平滑滤波、图像锐化滤波) 频率域:低通滤波、高通滤波、同态滤波 彩色处理:真彩色处理、伪彩色处理(灰度分层法、灰度变换法、频域伪彩色) 4.2 对比度增强 线性变换:(,)[(,)]N n g x y f x y m n M m -= -+-。其中功能是把函数的灰度值(,)f x y 从 范围[m,M]变为[n,N]。 非线性变换:分为对数变换和Gamma 变换。前者表达式为(,)log[(,)1]g x y c f x y =+, 其中c 为常数。后者表达式为r f cr =,r 为CCD 图像传感器或胶片等的入射光的强度,为 常数,灰度与光强成正比,则有1 ()r f g kr k c ==,k 为常数通常为1,1/r 取0.4~0.8。 我们可以用一个函数imadjust 函数来实现: J=imadjust(I); J=imadjust(I,[low_in;high_in],[low_out;high_out]); J=imadjust(I,[low_in;high_in],[low_out;high_out],gamma)。 其中灰度范围用归一化灰度值,范围[0,1]。整个图像的[low_in;high_in]可以用函数stretch 函数来获得。 MATLAB image toolbox5.4还提供一个手动调节的控制面板,调用函数imconstrast 。 4.3 空域变换增强 分为基于像素点和基于模板的两类方法。 像素选择:pixval 和impixel 。用法如下: Pixval(‘on/off ’);pixval ;pixval(fig,option); [C,R,P]=impixel(X,MAP)。 说明:MAP 仅仅当是索引图的时候采用此参数。C 为像素的颜色,R,P 为像素的坐标。Pixval 可以得到更多的像素信息,impixel 可以返回指定像素的颜色值。 强度描述图:improfile ,用以描述图像一条线段或多条线段的强度值。格式:

基于Matlab的数字图像处理系统设计设计

论文(设计)题目: 基于MATLAB的数字图像处理系统设计

基于MATLAB的数字图像处理系统设计 摘要 MATLAB 作为国内外流行的数字计算软件,具有强大的图像处理功能,界面简洁,操作直观,容易上手,而且是图像处理系统的理想开发工具。矚慫润厲钐瘗睞枥庑赖。 笔者阐述了一种基于MATLAB的数字图像处理系统设计,其中包括图像处理领域的大部分算法,运用MATLAB 的图像处理工具箱对算法进行了实现,论述了利用系统进行图像显示、图形表换及图像处理过程,系统支持索引图像、灰度图像、二值图像、RGB 图像等图像类型;支持BMP、GIF、JPEG、TIFF、PNG 等图像文件格式的读,写和显示。聞創沟燴鐺險爱氇谴净。 上述功能均是在MA TLAB 语言的基础上,编写代码实现的。这些功能在日常生活中有很强的应用价值,对于运算量大、过程复杂、速度慢的功能,利用MATLAB 可以既能快速得到数据结果,又能得到比较直观的图示。残骛楼諍锩瀨濟溆塹籟。 关键词:MATLAB 数字图像处理图像处理工具箱图像变换

第一章绪论 1.1 研究目的及意义 图像信息是人类获得外界信息的主要来源,近代科学研究、军事技术、工农业生产、医学、气象及天文学等领域中,人们越来越多地利用图像信息来认识和判断事物,解决实际问题,由此可见图像信息的重要性,数字图像处理技术将会伴随着未来信息领域技术的发展,更加深入到生产和科研活动中,成为人类生产和生活中必不可少的内容。酽锕极額閉镇桧猪訣锥。 MATLAB 软件不断吸收各学科领域权威人士所编写的实用程序,经过多年的逐步发展与不断完善,是近几年来在国内外广泛流行的一种可视化科学计算软件。MATLAB 语言是一种面向科学与工程计算的高级语言,允许用数学形式的语言来编写程序,比Basic、Fortan、C 等高级语言更加接近我们书写计算公式的思维方式,用MATLAB 编写程序犹如在演算纸上排列出公式与求解问题一样。它编写简单、编程效率高并且通俗易懂。彈贸摄尔霁毙攬砖卤庑。 1.2 国内外研究现状 1.2.1 国内研究现状 国内在此领域的研究中具有代表性的是清华大学研制的数字图像处理实验开发系统TDB-IDK 和南京东大互联技术有限公司研制的数字图像采集传输与处理实验软件。謀荞抟箧飆鐸怼类蒋薔。 TDB-IDK 系列产品是一款基于TMS320C6000 DSP 数字信号处理器的高级视频和图像系统,也是一套DSP 的完整的视频、图像解决方案,该系统适合院校、研究所和企业进行视频、图像方面的实验与开发。该软件能够完成图像采集输入程序、图像输出程序、图像基本算法程序。可实现对图像信号的实时分析,图像数据相对DSP独立方便开发人员对图像进行处理,该产品融合DSP 和FPGA/CPLD 两个高端技术,可以根据用户的具体需求合理改动,可以分析黑白和彩色信号,可以完成图形显示功能。厦礴恳蹒骈時盡继價骚。 南京东大互联技术有限公司研制的数字图像采集传输与处理实验软件可实现数字图像的采集、传输与处理。可利用软件及图像采集与传输设备,采集图像并实现点对点的数字图像传输,可以观察理解多种图像处理技术的效果和差别,

数字图像处理 matlab代码

MATLAB实用源代码 图像读取及灰度变换 I=imread('cameraman.tif');%读取图像 subplot(1,2,1),imshow(I) %输出图像 title('原始图像') %在原始图像中加标题 subplot(1,2,2),imhist(I) %输出原图直方图 title('原始图像直方图') %在原图直方图上加标题 图像旋转 I = imread('cameraman.tif'); figure,imshow(I); theta = 30; K = imrotate(I,theta); % Try varying the angle, theta. figure, imshow(K) 边缘检测 I = imread('cameraman.tif'); J1=edge(I,'sobel'); 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); 1.图像反转 MATLAB 程序实现如下: I=imread('xian.bmp'); J=double(I); J=-J+(256-1); %图像反转线性变换 H=uint8(J); subplot(1,2,1),imshow(I); subplot(1,2,2),imshow(H); 2.灰度线性变换 MATLAB 程序实现如下: I=imread('xian.bmp'); subplot(2,2,1),imshow(I); title('原始图像'); axis([50,250,50,200]); axis on; %显示坐标系 I1=rgb2gray(I); subplot(2,2,2),imshow(I1); title('灰度图像'); axis([50,250,50,200]);

Matlab在自动控制中的应用教学内容

M a t l a b在自动控制中 的应用

MATLAB在控制理论中的应用 摘要:为解决控制理论计算复杂问题,引入了MATLAB。以经典控制理论和现代控制理论中遇到的一些问题为具体实例,通过对比的手法,说明了MATLAB在控制理论应用中能节省大量的计算工作量,提高解题效率。 引言:现代控制理论是自动化专业一门重要的专业基础课程,内容抽象,且计算量大,难以理解,不易掌握。采用MATLAB软件计算现代控制理论中的问题可以很好的解决这些问题。自动控制理论分为经典控制理论和现代控制理论,在控制理论学习中,经常要进行大量的计算。这些工作如果用传统方法完成,将显得效率不高,额误差较大。因此。引用一种借助于计算机的高级语言来代替传统方法就显得十分必要。MATLAB集科学计算,可视化,程序设计于一体,对问题的描述与求解较为方便,在控制理论的学习中是一种备受欢迎的软件。 MATLAB简介:MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。 MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple 并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 1、MATLAB在系统的传递函数和状态空间模型之间的相互转换的应用:例1:求以下状态空间模型所表示系统的传递函数: 解:执行以下的M-文件:

(整理)实验一 MATLAB数字图像处理初步.

实验一 MATLAB数字图像处理初步 一、实验目的与要求 1.熟悉及掌握在MATLAB中能够处理哪些格式图像。 2.熟练掌握在MATLAB中如何读取图像。 3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。 4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。 5.图像间如何转化。 6. 了解图像的算术运算在数字图像处理中的初步应用。 7.体会图像算术运算处理的过程和处理前后图像的变化。 二、实验原理及知识点 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类数组,在MA TLAB中并不认为是二值图像。使用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)。以在图像类和类型间进行转化。

Matlab数字图像处理技术 最终版

Matlab数字图像处理技术 一、数字图像处理基础 1、图形和图像的区别 图形(矢量图):以几何数学为基础,图形由点、线、圆等图元组成,图形文件仅记录点的坐标和绘图命令。 图像(点阵图):用像素来描述的图,图像文件中记录每个像素的颜色和亮度。 2、四邻域和八邻域: 4-邻域:设像素p(x,y),它有4个水平和垂直相邻的像素:(x-1,y)(x+1,y) (x,y-1)(x,y+1),这4个点组成p的4-邻域。 对角邻域:像素p(x,y)的4个对角临近像素:(x-1,y-1)(x+1,y-1) (x-1,y+1)(x+1,y+1),这4个点组成p的对角邻域。 8-邻域:像素p的4-邻域和对角邻域合起来组成p的8-邻域。 3、彩色模型 (1)RGB模型 8种颜色配比(归一化): (2)HIS模型:H(色度),S(饱和度),(I)亮度。 (3)二值模型:0—黑色,1—白色。 (4)灰度模型:白—黑有256个灰度级来显示图像,0—黑色,255—白色。 (5)几种图像的颜色数: 二值图像:2种像素值 灰度图像:256种灰度级 彩色图像:256 * 256 * 256 = 2^24种 索引彩色: 4、图像处理中常用的输入设备:数码相机、数码摄像机、扫描仪; 图像处理中常用的输出设备:显示器、打印机、绘图仪。 5、图像的存储: 空间分辨率:M * N 幅度分辨率:G = 2^K 存储一幅图像所需位数(bit):b = M * N * K。

二、图像的基本运算 1、图像点运算 F为输入点的灰度值,G为输出点的灰度值, a) b = 0时,a>1,图像对比度增大;00,灰度值上移,亮度增加;b<0,灰度值下移,亮度降低。 c) a = 1,b = 255,图像反相。 Matlab中图像线性变换: Y = imlincomb(a,x,b); %Y=a*X+b 2、图像的加法运算 C(x,y) = A(x,y) + B(x,y) 图像的叠加方法: g(x,y) = a*f(x,y)+ b*h(x,y);a+b = 1 matlab中: A = imread(‘第一幅图’); B = imread(‘第二幅图’); C = 0.5*A + 0.5*B; Imshow(c); 3、减法运算 主要检测同一场景两幅图像之间的变化 G(x,y) = T2(x,y)- T1(x,y) Matlab中: A = imread(‘第一幅图’); B = imread(‘第二幅图’); C = A - B; Imshow(c); 4、乘法运算 用二值图像与原图像做乘法,得到需要的子图像。 Z = X .* Y; 要求X和Y的大小、数组元素相同。 Matlab中: X = imread(‘被点乘的图像’); Y = zeros(M,N); Y (70:120, 120:380) = 1; X = im2double(X); Z = X.*Y;

数字图像处理(MATLAB版)

数字图像处理(MATLAB版) 实验指导书 (试用版) 本实验指导书配合教材和课堂笔记中的例题使用 姚天曙编写 安徽农业大学工学院 2009年4月试行 目录 实验一、数字图像获取和格式转换 2 实验二、图像亮度变换和空间滤波 6 实验三、频域处理7 实验四、图像复原9 实验五、彩色图像处理10 实验六、图像压缩11 实验七、图像分割13 教材与参考文献14 《数字图像处理》实验指导书 实验一、数字图像获取和格式转换 一、实验目的 1掌握使用扫描仪、数码相机、数码摄像级机、电脑摄像头等数字化设备以及计算机获取数字图像的方法; 2修改图像的存储格式;并比较不同压缩格式图像的数据量的大小。 二、实验原理 数字图像获取设备的主要性能指标有x、y方向的分辨率、色彩分辨率(色彩位数)、扫描幅面和接口方式等。各类设备都标明了它的光学分辨率和最大分辨率。分辨率的单位是dpi,dpi是英文Dot Per Inch的缩写,意思是每英寸的像素点数。 扫描仪扫描图像的步骤是:首先将欲扫描的原稿正面朝下铺在扫描仪的玻璃板上,原稿可以是文字稿件或者

图纸照片;然后启动扫描仪驱动程序后,安装在扫描仪内部的可移动光源开始扫描原稿。为了均匀照亮稿件,扫描仪光源为长条形,并沿y方向扫过整个原稿;照射到原稿上的光线经反射后穿过一个很窄的缝隙,形成沿x 方向的光带,又经过一组反光镜,由光学透镜聚焦并进入分光镜,经过棱镜和红绿蓝三色滤色镜得到的RGB三条彩色光带分别照到各自的CCD上,CCD将RGB光带转变为模拟电子信号,此信号又被A/D变换器转变为数字电子信号。至此,反映原稿图像的光信号转变为计算机能够接受的二进制数字电子信号,最后通过串行或者并行等接口送至计算机。扫描仪每扫一行就得到原稿x方向一行的图像信息,随着沿y方向的移动,在计算机内部逐步形成原稿的全图。扫描仪工作原理见图1.1。 图1.1扫描仪的工作原理 在扫描仪的工作过程中,有两个元件起到了关键的作用。一个是CCD,它将光信号转换成为电信号;另一个是A/D变换器,它将模拟电信号变为数字电信号。CCD是Charge Couple Device的缩写,称为电荷耦合器件,它是利用微电子技术制成的表面光电器件,可以实现光电转换功能。CCD在摄像机、数码相机和扫描仪中应用广泛,只不过摄像机中使用的是点阵CCD,即包括x、y两个方向用于摄取平面图像,而扫描仪中使用的是线性CCD,它只有x一个方向,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感应器变成了人们判断数码相机档次的标准之一。

相关主题
文本预览
相关文档 最新文档