当前位置:文档之家› 基于Matlab的数字图像处理系统设计设计

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

基于Matlab的数字图像处理系统设计设计
基于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 两个高端技术,可以根据用户的具体需求合理改动,可以分析黑白和彩色信号,可以完成图形显示功能。厦礴恳蹒骈時盡继價骚。

南京东大互联技术有限公司研制的数字图像采集传输与处理实验软件可实现数字图像的采集、传输与处理。可利用软件及图像采集与传输设备,采集图像并实现点对点的数字图像传输,可以观察理解多种图像处理技术的效果和差别,

其中包括图像的灰度直方图及其变换、锐化、平滑、滤波、伪彩、轮廓提取与增强、图像格式转换及其文件结构。茕桢广鳓鯡选块网羈泪。

1.2.2 国外研究现状

目前大量的图像处理软件如PHOTOSHOP,PAINTSHOP等都是基于广告策划和图像修饰处理而设计的应用软件,针对图像处理技术基本知识的理解与掌握以及相关处理方法研究的软件甚少,不适合学习研究使用。随着计算机辅助设计的日益提高和成熟,用于学习与研究的软件也越来越多。如美国Southern Illinois University开发的CVIPtools计算机视觉与图像处理实验软件就是专门针对图像处理技术的实验软件,为初学者提供了一个消化理论知识的实验环境。鹅娅尽損鹌惨歷茏鴛賴。

CVIPtools计算机视觉与图像处理实验软件,主要用于计算机数字图像分析和处理,主要宗旨是让图像处理的初学者、学生、老师和其它研究人员探索计算机数字图像处理的巨大力量。最新Windows版本的CVIPtools提供使用者四种层次应用方式:算法代码层,公共对象模块(组件)界面层,cvipimage层和图形用户界面(GUI)。最下面的阶层算法代码层主要是基于以前的版本CVIPtools ,包括所有的图像、数据处理程序和功能,是用标准C语言写的。最上的阶层为CVIPtools GUI,可以让生手实验一些图像处理的工具,而不需具备程序设计的能力。目前国外很多大学、研究院在数字图像处理的实验研究中都应用此软件。籟丛妈羥为贍偾蛏练淨。

1.3 数字图像处理研究的内容

一般的数字图像处理的主要目的集中在图像的存储和传输,提高图像的质量,改善图像的视觉效果,图像理解以及模式识别等方面。新世纪以来,信息技术取得了长足的发展和进步,小波理论、神经元理论、数字形态学以及模糊理论都与数字处理技术相结合,产生了新的图像处理方法和理论。数字图像处理技术主要包括:預頌圣鉉儐歲龈讶骅籴。

1、图像增强

目前图像增强技术根据其处理的空间不同,可分为空域法和频域法两大类,前者根据在图像所在的像素空间进行处理,后者是通过对图像进行傅里叶变换后在频域上间接进行的。渗釤呛俨匀谔鱉调硯錦。

2、图像恢复

图像恢复,也称为图像还原,其目的是尽可能地减少或者去除数字图像在获取过程中的降质,恢复被退化图像的本来面貌,从而改善图像质量,以提高视觉观察效果。铙誅卧泻噦圣骋贶頂廡。

3、图像变换

图像变换就是把图像从空域转换到频域,对原图像函数寻找一个合适变换的数学问题,众多图像变换方法不断出现,从傅里叶变换发展到余弦变换,再到现在非常流行的小波变换,图像变换分为可分离变换和统计变换两大类。擁締凤袜备訊顎轮烂蔷。

4、图像压缩

数字图像需要很大的存储空间,因此无论传输或存储都需要对图像数据进行有效的压缩。其目的是生成占用较少空间而获得与原图十分接近的图像贓熱俣阃歲匱阊邺镓騷。

5、图像分割

图像分割的目的是把一个图像分解成它的构成成分,图像分割是一个十分困难的过程。图像分割的方法主要有 2 类:一种是假设图像各成分的强度值是均匀的,并利用这个特性,这种方法的技术有直方图分割,另外一种方法是寻找图像成分之间的边界,利用的是图像的不均匀性,基于这种方法的的技术有梯度法分割。坛摶乡囂忏蒌鍥铃氈淚。

6、边缘检测

边缘检测技术用于检测图像中的线状局部结构。大多数的检测技术应用某种形式的梯度算子。边缘检测广泛应用于图像分割、图像分类、图像配准和模式识别,在大多数的实际应用中,边缘检测是当做一个局部滤波运算完成的。蜡變黲癟報伥铉锚鈰赘。

第二章数字图像处理技术软件MATLAB 简介

2.1 MATLAB 软件简介

MATLAB 是Math works 公司于推出的一套高性能的数值计算和可视化软件,其全称是Matrix Laboratory,亦即矩阵实验室,经过多年的逐步发展与不断完善,现已成为国际公认的最优秀的科学计算与数学应用软件之一,是近几年来在国内外广泛流行的一种可视化科学计算软件。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境,而且还具有可扩展性特征,具有信号处理、控制系统、神经网络、图像处理、小波分析等30 多个具有专门功能的工具箱,工具箱内的函数源程序也是开放性的,多为M 文件,用户可以查看这些文件的代码并进行更改,MATLAB 支持用户对其函数进行二次开发,用户的应用程序也可以作为新的函数添加到相应的工具箱中。MATLAB 中的数字图像是以矩阵形式表示的,这意味着MATLAB 强大的矩阵运算能力用于图像处理非常有利。矩阵运算的语法对MATLAB中的数字图像同样适用。買鲷鴯譖昙膚遙闫撷凄。

2.2.MATLAB 的主要优缺点

2.2.1 MATLAB 的主要优点

1、界面友好,编程效率高

MATLAB 是一种以矩阵为基本变量单元的可视化程序设计语言,它的语法结构简单,数据类型单一,命令表达方式接近于常用的数学公式。不仅能免去大量的经常反复的基本数学运算,而且它的编译和执行速度都远远超过了采用 C 和Fortran 语言设计的程序。綾镝鯛駕櫬鹕踪韦辚糴。

2、功能强大,可扩展性强

MATLAB 语言不但提供了科学计算、数据分析与可视化、系统仿真等强大的功能,而且具有可扩展性特征,具有自动控制、信号处理、图像处理、模糊逻辑、神经网络、小波分析等30 多个具有专门功能的MATLAB 工具箱。工具箱中的函数可以互相调用,也可以由用户自己更改驅踬髏彦浃绥譎饴憂锦。

3、易学易用性、高效性

MATLAB 不需要用户有高深的数学知识和程序设计能力,不需要用户深刻

了解算法及编程技巧。MATLAB 语句功能十分强大,一条语句可完成十分复杂的任务,大大加快了工程技术人员从事软件开发的效率。猫虿驢绘燈鮒诛髅貺庑。

2. 2.2MATLAB 的缺点

1、MATLAB 是一种解释性语言,对于实时性要求较高的领域,如自动控制、信号处理等,其实时效率是较差的。锹籁饗迳琐筆襖鸥娅薔。

2、MATLAB 程序不能脱离其环境运行,因此它不能被用于开发商用软件。

3、程序可以被直接看到程序的源代码,因而不利于算法和数据的保密。2.3MATLAB 图像处理工具箱简介

MATLAB 的图像处理工具箱功能十分强大,支持的图像文件格式丰富,如*.BMP、*.JPEG、*.GIF、*.TIFF、*.PCX、*.HDF、*.XWD、*.PNG 等。MATLAB 图像处理工具箱支持四种图像类型,分别为真彩色图像、索引色图像、灰度图像、二值图像,由于有的函数对图像类型有限制,这四种类型可以用工具箱的类型转换函数相互转换。構氽頑黉碩饨荠龈话骛。

MATLAB 提供了15 类图像处理函数,涵盖了包括近期研究成果在内的几乎所有的图像处理方法。这些函数按其功能可分为:图像显示;图像文件I/O;几何操作;像素和统计处理;图像分析;图像增强;线性滤波;线性二元滤波设计;图像变换;邻域和块处理;二进制图像操作;区域处理;颜色映像处理;颜色空间变换;图像类型和类型转换。輒峄陽檉簖疖網儂號泶。

利用这些图像处理工具箱,并结合其强大的数据处理能力,我们可把精力集中在算法研究上,大大提高了工作效率。而且,在测试这些算法时既可方便地得到统计数据,同时又可得到直观图示。尧侧閆繭絳闕绚勵蜆贅。

2.4MATLAB 支持的图像类型及其转换分析

1、索引图像

索引图像包括一个数据矩阵A,一个颜色映射矩阵B。其中 B 是一个包含3 列和若干行的数据阵列。B 矩阵的每一行分别表示红色、绿色和蓝色的颜色值。在MATLAB 中,索引图像是从像素值到颜色映射表值的直接映射。像素颜色由数据矩阵A 作为索引指向矩阵 B 进行索引。识饒鎂錕缢灩筧嚌俨淒。

2、灰度图像

MATLAB 中,一幅灰度图像是一个数据矩阵I,其中I 的数据均代表了在一定范围内的颜色灰度值。MATLAB 把灰度图像存储为一个数据矩阵,该数据矩阵中的元素分别代表了图像中的像素。矩阵中的元素可以是双精度的浮点数类型、8 位或16 位无符号的整数类型。大多数情况下,灰度图像很少和颜色映射表一起保存。但是在显示灰度图像时,MATLAB 仍然在后台使用系统预定义的默认的灰度颜色映射表。凍鈹鋨劳臘锴痫婦胫籴。

3、二值图像

与灰度图像相同,二值图像只需要一个数据矩阵,每个像素只取两个灰度值。二值图像可以采用uint8 和double 类型存储,工具箱中以二值图像作为返回结果的函数都使用uint8 类型。恥諤銪灭萦欢煬鞏鹜錦。

4、RGB 图像

RGB 图像,即真彩色图像,在MATLAB 中存储为n×m×3 的数据矩阵。数组中的元素定义了图像中每一个像素的红、绿、蓝颜色值。需要指出的是,RGB图像不使用Windows颜色映射表。像素的颜色保存在像素位置上的红、绿、蓝的强度值的组合来确定。图像文件格式把RGB 图像存储为24 位的图像,红、绿、蓝分别占8 位。这样可以有约1000万种颜色鯊腎鑰诎褳鉀沩懼統庫。

5、图像序列

MATLAB 的图像处理工具箱中还支持将多帧图像连接成图像序列。图像序列是一个四维的数组,图像帧的序号在图像的长、宽、颜色深度之后构成第四维。在MATLAB 中,各种图像类型之间的转换关系如图 2.1 所示:硕癘鄴颃诌攆檸攜驤蔹。

图2.1 图像类型间的转换

第三章:图像处理系统的详细设计

用 MATLAB 对图像进行处理是当前科技领域的一个重要的课题,它采用的是用一组有序的灰度或彩色数据元素构成图像,数组的每一个元素对应于图像的一个像素值。这样 MATLAB 就可以利用其强大的矩阵计算功能实现对图像的数字处理。本案所设计的系统主要是利用 MATLAB 所提供的图形用户界面(GUI),实现一个可视的面向对象的操作界面。阌擻輳嬪諫迁择楨秘騖。

3.1 设计原则

由于要求不同,设计出来的界面也就千差万别。但是,自从人们开始设计图形界面以来,界面设计的评判标准却没有太大的变化。简单说来,一个好的界面应遵从以下三个原则:简单性、一致性、习常性。氬嚕躑竄贸恳彈瀘颔澩。

1、简单性

设计界面时,应力求简洁、直接、清晰地体现出界面的功能和特征。那些可有可无的功能应尽量删去,以保持界面的清洁。釷鹆資贏車贖孙滅獅赘。

2、一致性

所谓一致性包含两层意义:一是自己开发的界面风格要尽量一致;二是新设计的界面要与其他已有的界面风格不要截然相左。这是因为用户在初次使用新界面时,总是习惯于凭借经验进行试探。怂阐譜鯪迳導嘯畫長凉。

3、习常性

设计界面时,应尽量使用人们所熟悉的标志和符号。用户可能并不了解界面的具体含义及操作方法,但他也可以根据熟悉标志做出正确猜测,自学入门。谚辞調担鈧谄动禪泻類。

4、其他考虑因素

除了以上对界面的静态要求外,还应注意界面的动态性能。如对用户操作的响应要迅速、连续。

3.2 设计的一般步骤

1、分析界面所要求实现的主要功能,明确设计任务。

2、在稿纸上绘出界面草图,并对其进行审查。

3、按照构思的草图,上机制作静态界面,并进行检查。

4、编写界面动态功能的程序,对其功能进行逐项检查。

3.3 系统功能的模块设计

根据当前图像处理系统的总体设计样式和要求,该系统主要包括文件、工具、编辑、图像、调色、图像类型转换、颜色空间转换、正交变换等模块。其模块图如3.1所示:嘰觐詿缧铴嗫偽純铪锩。

图3.1 系统功能框图

3.4 窗口界面的实现

该系统界面的设计主要是利用MATLAB所提供的GU(IGraphUser Interface)向导设计控件而完成的,该向导可以实现多种控件的设计,给用户提供了一种友好的交互方式,同时也给操作带来很多方便。图形用户界面GUI是包含图形对象(如图形窗口、菜单、控件、文本)的用户界面,用户以某种方式选择或者击活这些对象会发生变化或引起动作。熒绐譏钲鏌觶鷹緇機库。

1、启动GUI 的方法

启动图形用户界面的方法有很多种,例如可以利用工具栏上的命令按钮,也可以采用菜单和命令的方式。在本人设计的案例中采用的是命令方式:在命令窗口直接输入guide 命令,弹出的窗口如图 3.2 所示:鶼渍螻偉阅劍鲰腎邏蘞。

图3.2 GUI 启动界面

在弹出的guide quick ate new gui选项卡里面的start 窗口中选择creBlank GUI 选项,这样就可以进入图形用户界面来设计我们的系统静态界面。纣忧蔣氳頑莶驅藥悯骛。

图3.3 Guide 界面

上图就是Guide 提供的图形界面设计工具集,在此界面下就可以利用控件组件、文本菜单、排列工具等对系统的界面进行设计。该系统的静态界面如图 3.4 所示:颖刍莖蛺饽亿顿裊赔泷。

图3.4Guide 设计界面

当静态界面设计完成以后,对该界面进行保存,此时Guidie将自描述,动生成两个发布文件,分别是.fig 文件和.m 文件。Fig 文件:该文件包括图形窗口及其所有后裔的完全包括:该文件包括GUI 设计、控制函数以及为子函数的用户控u Edit 对系统的菜所有对象的属性值。Fig 文件是一个二进制文件,调用hgsave命令或界面设计编辑器的file 菜单save 选项保存图形窗口时将产生该文件。Fig 文件最有用的地方之一就是对象句柄的保存和引用,可以使用open、openfig 和hgload 命令打开一个后缀为.fig的文件。M 文件件回调函数,主要用于控制GUI 展开时的各种特征。这个M文件可以分为GUI 初始化和回调函数两个部分,用户控件的回调函数根据用户与GUI 的具体交互方式分别调用。濫驂膽閉驟羥闈詔寢賻。

设计好系统的界面以后,接下来就要利用Men单进行设计,创建菜单的第一步就是利用GUI 的工具栏上的Menu Edit 按钮启动相应的窗口。然后使用

New Menu 工具栏来创建菜单,然后可以指定菜单的属性。例如可以设置菜单的标签、分隔符、选种模式以及回调函数字符串。第二步就是创建菜单项。銚銻縵哜鳗鸿锓謎諏涼。

可以使用New Menu Item 工具来添加菜单项,每一个菜单项也可以有级联的子菜单项。如果想要定义快捷菜单可以使用NewContext Menu 工具来进行创建。本系统的菜单创建效果如图 3.5 所示:挤貼綬电麥结鈺贖哓类。

图3,5菜单

3.5 各个模块的实现

3.5.1 文件模块

在文件模块中主要是包括对图像文件的打开、保存、打印设置和退出等操作。其中对图像文件如何读取以及如何写入是本模块的重点,下面主要介绍这两个功能的实现。赔荊紳谘侖驟辽輩袜錈。

1、打开

对于打开菜单,主要利用的是MATLAB 所提供的uigetfile( )标准读盘文件处理对话框来选择要打开的图像,然后用imread( )函数实现对图像文件的读取。其主要代码如下:塤礙籟馐决穩賽釙冊庫。

function open_Callback(hObject, eventdata, handles)裊樣祕廬廂颤谚鍘羋蔺。

[filename, pathname] = uigetfile({'*.jpg';'*.bmp';'*.tif'}仓嫗盤紲嘱珑詁鍬齊驁。

S = imread([pathname filename]);

handles.S = S;

axes(handles.axes1);

imshow(S);

handles.output = hObject;

guidata(hObject, handles);

2、保存

保存菜单的实现主要应用uiputfile()标准写盘处理对话框来实现,其代码如下:

function save_Callback(hObject, eventdata, handles)绽萬璉轆娛閬蛏鬮绾瀧。

global hresult;

[filename,pathname, filterindex] = uiputfile( ...

{‘*.bmp;*.jpg;*.tif’,’Picture styles(*.bmp;*.jpg;*.tif)’;骁顾燁鶚巯瀆蕪領鲡赙。

‘*.bmp’,’Bitmap-files(*.bmp)’; ...

'*.jpg','J-PEG (*.jpg)'; ...

'*.tif','Gif-files (*.tif)'; ...

'*.*', 'All Files (*.*)'}, ...

'Save as');

If isequal([ ilename,pathname],[0,0])

return

else

File=fullfile(pathname,filename);

saveas(hresult,File)

End

3.5.2编辑模块的实现

该模块主要是对所要处理的图像进行一些常规的编辑操作,可以实现对图片进行放大和缩小,也可以对图片进行剪切和旋转。当然还可以实现很多有关编辑的操作,但是无论哪一种操作,其关键是如何获得该图像的句柄。句柄实际上就是分配给每个对象的数字标识,每次创建对象时,MATLAB就会自动为它创建

一个唯一的句柄,这样只要我们能找到该句柄,就能对该对象进行操作。在MATLAB中,图形对象是一幅图中很独特的成分,它可以被单独地操作。由图形命令产生的每一件东西都是图形对象,它们包括图形窗口不仅仅说是图形,还有坐标轴、线条、曲面、文本和其它。这些对象按父对象和子对象组成层次结构。计算机屏幕是根对象,并且是所有其它对象的父对象。图形窗口是根对象的子对象;坐标轴和用户界面对象是图形窗口的子对象;线条、文本、曲面、补片和图象对象是坐标轴对象的子对象。这种层次关系在图 3.6 中给出瑣钋濺暧惲锟缟馭篩凉。

图3.6 对象层次结构

根对象可包含一个或多个图形窗口,每一个图形窗口可包含一组或多组坐标轴。所有其它的对象(除了uicontrol和uimenu外)都是坐标轴的子对象,并且在这些坐标轴上显示。所有创建对象的函数当父对象或对象不存在时,都会创建它们。例如,如果没有图形窗口,plot(rand(size([1:10])))函数会用缺省属性创建一个新的图形窗口和一组坐标轴,然后在这组坐标轴内画线。鎦诗涇艳损楼紲鯗餳類。

每次创建一个对象时,就为它建立一个唯一的句柄。计算机屏幕作为根对象常常是0。Hf_fig=figure命令建立一个新的图形窗口,变量Hf_fig中返回它的句柄值。图形窗口的句柄为整数,通常显示在图形窗口标题条中。其它对象句柄是MATLAB满精度的浮点值。所有产生对象的MATLAB函数都为所建立的每个对

象返回一个句柄(或句柄的列向量)。这些函数包括plot,mesh,surf及其它。有一些图形由一个以上对象组成。比如,一个网格图由一个曲面组成,它只有一个句柄;而waterfall图形由许多线条对象组成,每个线条对象都有各自的句柄。例如,Hl_wfall=waterfall(peaks(20)) 对线条返回一个包含着20 个句柄的列向量。在MATLAB中常用获得句柄的函数有以下几种栉缏歐锄棗鈕种鵑瑶锬。

gcf :获取当前图形窗口的句柄

gca :获取当前坐标轴的句柄

gco :获取当前对象的句柄

gcbo :获取当前正在调用的对象的句柄

gcbf :获取包括正在执行调用的对象的图形的句柄

这样我们就可以使用这几个函数获得要操作对象的句柄。例如旋转菜单功能的实现就可以利用这样的代码实现:function xuanzhuan_Callback(hObject, eventdata, handles)辔烨棟剛殓攬瑤丽阄应。

h = getimage(gco); % 获得当前对象的句柄

j=imrotate(h,-15); % 把图像以15 度为单位顺时针旋转,并把该图象的句柄付给jimshow(j)% 显示旋转后的图像在这个例子中,其中h=getimage(gco)语句的作用就是利用getimage()函数获取当前图形对象的句柄,并把该句柄的值赋给了变量h。以后只要是对该图像操作只要找到句柄h 即可。本例子是只要单击一次编辑菜单的旋转命令,当前的图像就会顺时针旋转15 度。峴扬斕滾澗辐滠兴渙藺。

原始图像旋转后图像

图3.7 旋转

其他编辑功能的实现与上边的例子大致相同,故一些具体的实现省略,详见

程序的代码。

3.5.3 图像模块的实现

在MATLAB 中,一幅图像可能包含一个数据矩阵,也可以包含一个颜色映射矩阵。因此MATLAB 所能够处理的 4 种基本图像就是:索引图像、灰度图像、RGB 图像、二进制图像。该模块的主要功能就是把一幅真色彩图像显示成上述四种图像。该模块主要包括灰度、灰度倒置、腐蚀、膨胀、边界图等功能。詩叁撻訥烬忧毀厉鋨骜。

1、灰度:灰度变换是一种简单而实用的方法,它可以使图像的动态范围增大,图像的对比度扩展,图像变清晰,特征明显,是图像增强的重要手段之一。它可分为比例线性变换、分段线性变换、非线性灰度变换。本例子采用的是分段线性变换。对感兴趣的(20~180)区间进行灰度变换,程序代码如下:则鯤愜韋瘓賈晖园栋泷。

x1= getimage(gco);

figure

imshow(x1)

f0=0;g0=0;

f1=20;g1=10

f2=180;g2=230;

f3=255;g3=255;

figure,plot([f0,f1,

r1=(g1-g0)/(f1-f0);

b1=g0-r1*f0;

r2=(g2-g1)/(f2-f1);

b2=g1-r2*f1;

r3=(g3-g2)/(f3-f2);

b3=g2-r3*f2;

[m,n]=size(x1);

x2=double(x1);

for i=1:m

for j=1:n

f=x2(i,j);

(f<=f2)

)=r1*f+b2;

ow(mat2gray(g))

g(i,j)=0;

if(f>=f1)&g(i,j)

elseif(f>=f2)&(f<=f3)

g(i,j)=r3*f+b3;

end

end

end

figure

imshow(mat2gray(g))

图3.8灰度变化

原始图像灰度图像

图3.9 处理图像

运行该程序后,得到分段线性变换后的图像。可以看出,通过这样一个变换,原图中灰度值在(0~20)和(180~255)之间的动态范围减少了,而原图中灰度值在180~255 之间的动态范围增加了,从而这个范围内的对比度增加了,具体变化为图像中树干以上的区域两度明显增强。胀鏝彈奥秘孫戶孪钇賻。

2、腐蚀:腐蚀操作就是把图像对象中边界的某些像素删除,输出像素值是输入图像相应像素及邻域内所有像素的最小值。鳃躋峽祷紉诵帮废掃減。

function fs_Callback(hObject, eventdata, handles)

h = getimage(handles.axes1);

se=strel('arbitrary',eye(10));

h1=imerode(h,se);

figure;

imshow(h1)

图3.10 腐蚀

3、膨胀:膨胀一般是给图像中的对象边界添加像素。在膨胀操作时,输出像素值是输入图像相应像素及邻域内所有像素的最大值。稟虛嬪赈维哜妝扩踴粜。

function pz_Callback(hObject, eventdata, handles)

h = getimage(handles.axes1);

se=strel('square',5);

h2=imdilate(h,se);

figure;

imshow(h2,'notruesize')

数字图像处理教学大纲(2014新版)

数字图像处理 课程编码:3073009223 课程名称:数字图像处理 总学分: 2 总学时:32 (讲课28,实验4) 课程英文名称:Digital Image Processing 先修课程:概率论与数理统计、线性代数、C++程序设计 适用专业:自动化专业等 一、课程性质、地位和任务 数字图像处理课程是自动化专业的专业选修课。本课程着重于培养学生解决智能化检测与控制中应用问题的初步能力,为在计算机视觉、模式识别等领域从事研究与开发打下坚实的理论基础。主要任务是学习数字图像处理的基本概念、基本原理、实现方法和实用技术,并能应用这些基本方法开发数字图像处理系统,为学习图像处理新方法奠定理论基础。 二、教学目标及要求 1.了解图像处理的概念及图像处理系统组成。 2.掌握数字图像处理中的灰度变换和空间滤波的各种方法。 3.了解图像变换,主要是离散和快速傅里叶变换等的原理及性质。 4.理解图像复原与重建技术中空间域和频域滤波的各种方法。 5. 理解解彩色图像的基础概念、模型和处理方法。 6. 了解形态学图像处理技术。 7. 了解图像分割的基本概念和方法。 三、教学内容及安排 第一章:绪论(2学时) 教学目标:了解数字图像处理的基本概念,发展历史,应用领域和研究内容。通过大量的实例讲解数字图像处理的应用领域;了解数字图像处理的基本步骤;了解图像处理系统的组成。 重点难点:数字图像处理基本步骤和图像处理系统的各组成部分构成。 1.1 什么是数字图像处理 1.2 数字图像处理的起源

1.3.1 伽马射线成像 1.3.2 X射线成像 1.3.3 紫外波段成像 1.3.4 可见光及红外波段成像 1.3.5 微波波段成像 1.3.6 无线电波成像 1.3.7 使用其他成像方式的例子 1.4 数字图像处理的基本步骤 1.5 图像处理系统的组成 第二章:数字图像基础(4学时) 教学目标:了解视觉感知要素;了解几种常用的图像获取方法;掌握图像的数字化过程及其图像分辨率之间的关系;掌握像素间的联系的概念;了解数字图像处理中的常用数学工具。 重点难点:要求重点掌握图像数字化过程及图像中像素的联系。 2.1 视觉感知要素(1学时) 2.1.1 人眼的构造 2.1.2 眼镜中图像的形成 2.1.3 亮度适应和辨别 2.2 光和电磁波谱 2.3 图像感知和获取(1学时) 2.3.1 用单个传感器获取图像 2.3.2 用条带传感器获取图像 2.3.3 用传感器阵列获取图像 2.3.4 简单的图像形成模型 2.4 图像取样和量化(1学时) 2.4.1 取样和量化的基本概念 2.4.2 数字图像表示 2.4.3 空间和灰度级分辨率 2.4.4 图像内插 2.5 像素间的一些基本关系(1学时) 2.5.1 相邻像素 2.5.2 临接性、连通性、区域和边界 2.5.3 距离度量 2.6 数字图像处理中所用数学工具的介绍 2.6.1 阵列与矩阵操作

数字图像处理技术从基础到实战

数字图像处理技术从基础到实战 本课程包含图像处理的基础知识以及案例应用,通过视频教程+在线交流的形式展现,力求为读者提供最便捷、直接的技术支持,解决学员在图像处理相关研发过程中遇到的最具体、实际的技术难点,争取与广大学员分享研发过程中所涉及的功能模块及某些成熟的系统框架,为读者进行科学实验、项目开发提供一定的技术支持。 课程大纲: 第1课数字图像处理概述 1、数字图像处理发发展史 2、数字图像处理是概述? 3、数字图像处理工具箱介绍? 4、数字图像处理常用技能 5、数字图像在计算机中怎么表示? 6、数字图像常用计算机表示类型 7、数字图像转换技巧 8、数字图像数组处理技巧 9、案例演示:常用图像处理技术GUI编程 第2课图像时域变换 1、时域空间概述 2、常见的灰度变换函数 3、直方图的概念 4、时域空间滤波基础 5、什么是平滑空间滤波器? 6、什么是锐化空间滤波器? 7、什么是混合空间增强? 8、案例演示:图像去雾 第3课图像频域变换 1、什么是频域空间? 2、常用的基本概念 3、什么是傅里叶变换? 4、离散傅里叶变换用法 5、多维傅里叶变换用法 6、案例演示:图像频域滤波可视化编程 第4课图像复原和重建技术 1、常见的图像噪声模型 2、空间滤波图像复原 3、频域滤波图像复原 4、逆滤波图像复原 5、维纳滤波图像复原

6、约束的最小二乘滤波图像复原 7、Lucy-Richardson图像复原 8、案例演示:盲卷积图像复原 第5章彩色图像处理 1、彩色图像概述 2、常见的彩色模型 3、伪彩色图像处理 4、全彩色图像处理 5、彩色变换 6、平滑和锐化 7、基于彩色的图像分割 8、彩色图像中的噪声处理 9、彩色图像压缩 10、案例演示:彩色图像处理 第6课小波和多分辨率处理 1、图像中的小波 2、多分辨率处理 3、一维小波变换 4、快速小波变换 5、二维小波变换 6、案例演示:基于小波分解的图像融合案例 第7课图像压缩处理技术 1、压缩处理原理 2、图像压缩处理常用方法 3、案例演示:数字图像水印嵌入及提取案例 第8课形态学图像处理 1、图像形态学概述? 2、腐蚀和膨胀 3、开操作与闭操作 4、击中或击不中变换 5、常见形态学算法 6、灰度级形态学 7、案例演示:图像形态学去噪 第9课图像分割处理技术 1、图像分割注意事项 2、点、线和边缘检测 3、阈值处理 4、基于区域的分割 5、使用形态学分水岭的分割

数字图像处理系统毕业设计论文

毕业设计说明书基于ARM的嵌入式数字图像处理系统 设计 学生姓名:张占龙学号: 0905034314 学院:信息与通信工程学院 专业:测控技术与仪器 指导教师:张志杰 2013年 6月

摘要 简述了数字图像处理的应用以及一些基本原理。使用S3C2440处理器芯片,linux内核来构建一个简易的嵌入式图像处理系统。该系统使用u-boot作为启动引导程序来引导linux内核以及加载跟文件系统,其中linux内核与跟文件系统均采用菜单配置方式来进行相应配置。应用界面使用QT制作,系统主要实现了一些简单的图像处理功能,比如灰度话、增强、边缘检测等。整个程序是基于C++编写的,因此有些图像变换的算法可能并不是最优化的,但基本可以满足要求。在此基础上还会对系统进行不断地完善。 关键词:linnux 嵌入式图像处理边缘检测 Abstract This paper expounds the application of digital image processing and some basic principles. The use of S3C2440 processor chip, the Linux kernel to construct a simple embedded image processing system. The system uses u-boot as the bootloader to boot the Linux kernel and loaded with file system, Linux kernel and file system are used to menu configuration to make corresponding configuration. The application interface is made using QT, system is mainly to achieve some simple image processing functions, such as gray, enhancement, edge detection. The whole procedure is prepared based on the C++, so some image transform algorithm may not be optimal, but it can meet the basic requirements. On this basis, but also on the system constantly improve. Keywords:linux embedded system image processing edge detection

基于matlab的毕业论文题目参考

基于matlab的毕业论文题目参考 MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。以下是基于matlab的毕业论文题目,供大家参考。 基于matlab的毕业论文题目一: 1、基于遗传算法的小麦收割机路径智能优化控制研究 2、零转弯半径割草机连续翻滚特性参数化预测模型 3、基于MATLAB的PCD铰刀加工硅铝合金切削力研究 4、基于状态反馈的四容水箱控制系统的MATLAB仿真研究 5、基于Matlab软件的先天性外耳道狭窄CT影像特点分析 6、Matlab仿真在船舶航向自动控制系统中的研究与仿真 7、基于MATLAB的暂态稳定措施可行性仿真与分析 8、基于MATLAB的某专用越野汽车动力性能分析 9、基于MATLAB的电力系统有源滤波器设计 10、基于MATLAB和ANSYS的弹簧助力封闭装置结构分析 11、基于Matlab的液力变矩器与发动机匹配计算与分析 12、运用MATLAB绘制接触网下锚安装曲线 13、基于MatlabGUI的实验平台快速搭建技术 14、基于MATLAB的激光-脉冲MIG复合焊过程稳定性评价

15、测绘数据处理中MATLAB的优越性及应用 16、基于MATLAB柴油机供油凸轮型线设计 17、基于MATLAB语言的TRC加固受火后钢筋混凝土板的承载力分析方法 18、MATLAB辅助OptiSystem实现光学反馈环路的模拟 19、基于MATLABGUI的电梯关门阻止力分析系统设计 20、基于LabVIEW与MATLAB混合编程的手势识别系统 21、基于MATLAB的MZ04型机器人运动特性分析 22、MATLAB在煤矿巷道支护参数的网络设计及仿真分析 23、基于MATLAB的自由落体运动仿真 24、基于MATLAB的电动汽车预充电路仿真 25、基于Matlab的消弧模型仿真研究 26、基于MATLAB/GUI的图像语义自动标注系统 27、基于Matlab软件GUI的机械波模拟 28、基于Matlab的S曲线加减速控制算法研究 29、基于Matlab和Adams的超速机柔性轴系仿真 30、基于Matlab与STM32的电机控制代码自动生成 31、基于Matlab的相机内参和畸变参数优化方法 32、基于ADAMS和MATLAB的翻转机构联合仿真研究 33、基于MATLAB的数字图像增强软件平台设计 34、基于Matlab的旋转曲面的Gif动画制作 35、浅谈Matlab编程与微分几何简单算法的实现

《数字图像处理》习题参考答案

《数字图像处理》习题参考答案 第1 章概述 连续图像和数字图像如何相互转换答:数字图像将图像看成是许多大小相同、形状一致的像素组成。这样,数字图像可以 用二维矩阵表示。将自然界的图像通过光学系统成像并由电子器件或系统转化为模拟图像(连续图像)信号,再由模拟/数字转化器(ADC)得到原始的数字图像信号。图像的数字化包括离散和量化两个主要步骤。在空间将连续坐标过程称为离散化,而进一步将图像的幅度值(可能是灰度或色彩)整数化的过程称为量化。 # 采用数字图像处理有何优点答:数字图像处理与光学等模拟方式 相比具有以下鲜明的特点: 1.具有数字信号处理技术共有的特点。(1)处理精度高。(2)重现性能好。(3)灵活性高。 2.数字图像处理后的图像是供人观察和评价的,也可能作为机器视觉的预处理结果。 3.数字图像处理技术适用面宽。 4.数字图像处理技术综合性强。 数字图像处理主要包括哪些研究内容答:图像处理的任务是将客观世界的景象进行获取并转化为数字图像、进行增强、变换、 编码、恢复、重建、编码和压缩、分割等处理,它将一幅图像转化为另一幅具有新的意义的图像。 ] 讨论数字图像处理系统的组成。列举你熟悉的图像处理系统并分析它们的组成和功能。 答:如图,数字图像处理系统是应用计算机或专用数字设备对图像信息进行处理的 信息系统。图像处理系统包括图像处理硬件和图像处理软件。图像处理硬件主要由图像输入设备、图像运算处理设备(微计算机)、图像存储器、图像输出设备等组成。软件系统包括操作系统、控制软件及应用软件等。 。 $ 图数字图像处理系统结构图 1

常见的数字图像处理开发工具有哪些各有什么特点 答.目前图像处理系统开发的主流工具为Visual C++(面向对象可视化集成工具)和MATLAB 的图像处理工具箱(Image Processing Tool box)。两种开发工具各有所长且有相互间的软件接口。 Microsoft 公司的VC++是一种具有高度综合性能的面向对象可视化集成工具,用它开发出来的Win 32 程序有着运行速度快、可移植能力强等优点。VC++所提供的Microsoft 基础类库 MFC 对大部分与用户设计有关的 Win 32 应用程序接口 API 进行了封装,提高了代码的可重用性,大大缩短了应用程序开发周期,降低了开发成本。由于图像格式多且复杂,为了减轻程序员将主要精力放在特定问题的图像处理算法上,VC++ 提供的动态链接库支持BMP、JPG、TIF 等常用6种格式的读写功能。 MATLAB 的图像处理工具箱M ATLAB 是由M athWorks 公司推出的用于数值计算的有力工具,是一种第四代计算机语言,它具有相当强大的矩阵运算和操作功能,力求使人们摆脱繁杂的程序代码。MATLAB 图像处理工具箱提供了丰富的图像处理函数,灵活运用这些函数可以完成大部分图像处理工作,从而大大节省编写低层算法代码的时间,避免程序设计中的重复劳动。MATLAB 图像处理工具箱涵盖了在工程实践中经常遇到的图像处理手段和算法,如图形句柄、图像的表示、图像变换、二维滤波器、图像增强、四叉树分解域边缘检测、二值图像处理、小波分析、分形几何、图形用户界面等。但是,MATLAB 也存在不足之处限制了其在图像处理软件中实际应用。首先,强大的功能只能在安装有M ATLAB 系统的机器上使用图像处理工具箱中的函数或自编的m文件来实现。其次,MATLAB 使用行解释方式执行代码,执行速度很慢。第三,MATLAB 擅长矩阵运算,但对于循环处理和图形界面的处理不及C++等语言。为此,通应用程序接口A PI 和编译器与其他高级语言(如C、 C++、Java 等)混合编程将会发挥各种程序设计语言之长协同完成图像处理任务。API 支持 MATLAB 与外部数据与程序的交互。编译器产生独立于M ATLAB 环境的程序,从而使其他语言的应用程序使用MATLAB。 常见的数字图像应用软件有哪些各有什么特点答:图像应用软件是可直接供用户使用的商品化软件。用户从使用功能出发,只要了解 软件的操作方法就可以完成图像处理的任务。对大部分用户来说,商品化的图像应用软件无需用户进行编程,操作方便,功能齐全,已经能满足一般需求,因而得到广泛应用。常用图像处理应用软件有以下几种: 1.PHOTOSHOP:当今世界上一流的图像设计与制作工具,其优越性能令其产品望尘莫及。PHOTOSHOP 已成为出版界中图像处理的专业标准。高版本的 PHOTOSHOP 支持多达 20 多种图像格式和TWAIN 接口,接受一般扫描仪、数码相机等图像输入设备采集的图像。PHOTOSHOP 支持多图层的工作方式,只是 PHOTOSHOP 的最大特色。使用图层功能可以很方便地编辑和修改图像,使平面设计充满创意。利用PHOTOSHOP 还可以方便地对图像进行各种平面处理、绘制简单的几何图形、对文字进行艺术加工、进行图像格式和颜色模式的转换、改变图像的尺寸和分辨率、制作网页图像等。 2.CorelDRAW:一种基于矢量绘图、功能强大的图形图像制作与设计软件。位图式图像是由象素组成的,与其相对,矢量式图像以几何、色彩参数描述图像,其内容以线条和色块为主。可见,采用不同的技术手段可以满足用户的设计要求。位图式图像善于表现连续、丰富色调的自然景物,数据量较大;而矢量式图像强于表现线条、色块的图案,数据量较小。合理的利用两种不同类型的图像表现方式,往往会收到意想不到的艺术效果。CorelDraw是 2

简单数字图像处理系统

数字图像课程设计简单数字图像处理系统 function varargout = untitled(varargin) % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @untitled_OpeningFcn, ... 'gui_OutputFcn', @untitled_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before untitled is made visible. function untitled_OpeningFcn(hObject, eventdata, handles, varargin) %界面初始化函数 setappdata,'I',0); % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to untitled (see VARARGIN) % Choose default command line output for untitled = hObject;

毕业设计用matlab仿真

毕业设计用matlab仿真 篇一:【毕业论文】基于matlab的人脸识别系统设计与仿真(含matlab源程序) 基于matlab的人脸识别系统设计与仿真 第一章绪论 本章提出了本文的研究背景及应用前景。首先阐述了人脸图像识别意义;然后介绍了人脸图像识别研究中存在的问题;接着介绍了自动人脸识别系统的一般框架构成;最后简要地介绍了本文的主要工作和章节结构。 1.1 研究背景 自70年代以来.随着人工智能技术的兴起.以及人类视觉研究的进展.人们逐渐对人脸图像的机器识别投入很大的热情,并形成了一个人脸图像识别研究领域,.这一领域除了它的重大理论价值外,也极具实用价值。 在进行人工智能的研究中,人们一直想做的事情就是让机器具有像人类一样的思考能力,以及识别事物、处理事物的能力,因此从解剖学、心理学、行为感知学等各个角度来探求人类的思维机制、以及感知事物、处理事物的机制,并努力将这些机制用于实践,如各种智能机器人的研制。人脸图像的机器识别研究就是在这种背景下兴起的,因为人们发现许多对于人类而言可以轻易做到的事情,而让机器来实现却很难,如人脸图像的识别,语音识别,自然语言理解等。

如果能够开发出具有像人类一样的机器识别机制,就能够逐步地了解人 类是如何存储信息,并进行处理的,从而最终了解人类的思维机制。 同时,进行人脸图像识别研究也具有很大的使用价依。如同人的指纹一样,人脸也具有唯一性,也可用来鉴别一个人的身份。现在己有实用的计算机自动指纹识别系统面世,并在安检等部门得到应用,但还没有通用成熟的人脸自动识别系统出现。人脸图像的自动识别系统较之指纹识别系统、DNA鉴定等更具方便性,因为它取样方便,可以不接触目标就进行识别,从而开发研究的实际意义更大。并且与指纹图像不同的是,人脸图像受很多因素的干扰:人脸表情的多样性;以及外在的成像过程中的光照,图像尺寸,旋转,姿势变化等。使得同一个人,在不同的环境下拍摄所得到的人脸图像不同,有时更会有很大的差别,给识别带来很大难度。因此在各种干扰条件下实现人脸图像的识别,也就更具有挑战性。 国外对于人脸图像识别的研究较早,现己有实用系统面世,只是对于成像条件要求较苛刻,应用范围也就较窄,国内也有许多科研机构从事这方而的研究,并己取得许多成果。 1.2 人脸图像识别的应用前景 人脸图像识别除了具有重大的理论价值以及极富挑战

数字图像处理软件开发设计报告.docx

专业文档 数字图像处理软件开发设计报告

目录实验一、读取图像、显示图像和保存图像 实验二、图像的灰度变换、取反和二值化处理实验三、直方图均衡 实验四、图像锐化 实验五、图像的平滑滤波 实验六、图像的正交变换 实验七、高频强调滤波增强图像 实验八、陷波滤波器增强图像 实验九、消除匀速运动造成的图像模糊 实验十、图像的几何变换 实验十一、二维离散傅里叶变换性质验证 实验十二、用领域平均法平滑彩色图像 实验十三、图像的伪彩色处理

实验一、读取图像、显示图像和保存图像 一、实验目的和内容 1.通过本次实验,了解和熟悉 matlab 的实验环境,掌握图片的读取、显示、存储的方法。 2. 利用 imread() 函数读取一幅图像,假设其名为lily.tif,存入一个数组中。 3.利用 imshow() 函数来显示这幅图像。 二、实验原理(技术探讨) 1.在 matlab 环境中,程序首先读取图像,然后调用直方图函数, 设置相关参数,再输出处理后的图像。 读取图像 subplot(1,2,1),imshow(I)%输出图像 title('原始图像 ')% 在原始图像中加标题 2.启动 matlab 双击桌面 matlab 图标启动 matlab 环境; 在matlab 命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用 matlab 自带的图像,如 :cameraman 图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像; 浏览源程序并理解含义; 运行,观察显示结果;结 束运行,退出

三、实验程序及结果 1.实验程序 I=imread( ' 实验一 .jpg' ); x=rgb2gray(I); figure(1) subplot(1,2,1); imshow(I); title(' 原始图像 ' ); subplot(1,2,2); imshow(x); title(' 灰度图像 ' ); 2.实验结果

数字图像处理系统论文

数字图像处理系统论文

毕业设计说明书基于ARM的嵌入式数字图像处理系统 设计 学生姓名:张占龙学号: 0905034314 学院:信息与通信工程学院 专业:测控技术与仪器 指导教师:张志杰 2013年 6月

摘要 简述了数字图像处理的应用以及一些基本原理。使用S3C2440处理器芯片,linux内核来构建一个简易的嵌入式图像处理系统。该系统使用u-boot作为启动引导程序来引导linux内核以及加载跟文件系统,其中linux内核与跟文件系统均采用菜单配置方式来进行相应配置。应用界面使用QT制作,系统主要实现了一些简单的图像处理功能,比如灰度话、增强、边缘检测等。整个程序是基于C++编写的,因此有些图像变换的算法可能并不是最优化的,但基本可以满足要求。在此基础上还会对系统进行不断地完善。 关键词:linnux 嵌入式图像处理边缘检测 Abstract This paper expounds the application of digital image processing and some basic principles. The use of S3C2440 processor chip, the Linux kernel to construct a simple embedded image processing system. The system uses u-boot as the bootloader to boot the Linux kernel and loaded with file system, Linux kernel and file system are used to menu configuration to make corresponding configuration. The application interface is made using QT, system is mainly to achieve some simple image processing functions, such as gray, enhancement, edge detection. The whole procedure is prepared based on the C++, so some image transform algorithm may not be optimal, but it can meet the basic requirements. On this basis, but also on the system constantly improve. Keywords:linux embedded system image processing edge detection

基于Matlab的数字图像处理系统毕业设计论文

论文(设计)题目: 基于MATLAB的数字图像处理系统设计 姓名宋立涛 学号201211867 学院信息学院 专业电子与通信工程 年级2012级 2013年6月16日

基于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 和FPGACPLD 两个高端技术,可以根据用户的具体需求合理改动,可以分析黑白和彩色信号,可以完成图形显示功能。 南京东大互联技术有限公司研制的数字图像采集传输与处理实验软件可实现数字图像的采集、传输与处理。可利用软件及图像采集与传输设备,采集图像并实现点对点的数字图像传输,可以观察理解多种图像处理技术的效果和差别,

数字图像处理车牌识别课程设计matlab实现附源代码

基于matlab的车牌识别系统 一、目的与要求 目的:利用matlab实现车牌识别系统,熟悉matlab应用软件的基础知识,了解了基本程序设计方法,利用其解决数字信号处理的实际应用问题,从而加深对理论知识的掌握,并把所学的知识系统、高效的贯穿到实践中来,避免理论与实践的脱离,巩固理论课上知识的同时,加强实践能力的提高,理论联系实践,提高自身的动手能力。同时不断的调试程序也提高了自己独立编程水平,并在实践中不断完善理论基础,有助于自身综合能力的提高。 要求: 1.理解各种图像处理方法确切意义。 2.独立进行方案的制定,系统结构设计要合理。 3.在程序开发时,则必须清楚主要实现函数的目的和作用,需要在程序书写时说明做适当的注释。如果使用matlab来进行开发,要理解每个函数的具体意义和适用范围,在写课设报告时,必须要将主要函数的功能和参数做详细的说明。 4、通过多幅不同形式的图像来检测该系统的稳定性和正确性。 二、设计的内容 学习MATLAB程序设计,利用MATLAB函数功能,设计和实现通过设计一个车牌识别系统。车牌识别系统的基本工作原理为:将手机拍摄到的包含车辆牌照的图像输入到计算机中进行预处理,再对牌照进行搜索、检测、定位,并分割出包含牌照字符的矩形区域,然后对牌照字符进行二值化并将其分割为单个字符,然后将其逐个与创建的字符模板中的字符进行匹配,匹配成功则输出,最终匹配结束则输出则为车牌号码的数字。车牌识别系统的基本工作原理图如图1所下所示:

三、总体方案设计 车辆牌照识别整个系统主要是由车牌定位和字符分割识别两部分组成,其中车牌定位又可以分为图像预处理及边缘提取模块和牌照的定位及分割模块;字符识别可以分为字符分割和单个字符识别两个模块。 为了用于牌照的分割和牌照字符的识别,原始图象应具有适当的亮度,较大的对比度和清晰可辩的牌照图象。但由于是采用智能手机在开放的户外环境拍照,加之车辆牌照的整洁度、自然光照条件、拍摄时摄像机与牌照的矩离等因素的影响,牌照图象可能出现模糊、歪斜和缺损等严重缺陷,因此需要对原始图象进行识别前的预处理。 牌照的定位和分割是牌照识别系统的关键技术之一,其主要目的是在经图象预处理后的原始灰度图象中确定牌照的具体位置,并将包含牌照字符的一块子图象从整个图象中分割出来,供字符识别子系统识别之用,分割的准确与否直接关系到整个牌照字符识别系统的识别率。 由于拍摄时的光照条件、牌照的整洁程度的影响,和摄像机的焦距调整、镜头的光学畸变所产生的噪声都会不同程度地造成牌照字符的边界模糊、细节不清、笔划断开或粗细不均,加上牌照上的污斑等缺陷,致使字符提取困难,进而影响字符识别的准确性。因此,需要将拍出的车牌进行处理,在这个过程中,我采用画图工具,将汽车图像的车牌部分进行裁剪,并将车牌的蓝色部分过亮的地方颜色加深,还将车牌中的一个白色的原点抹去,另外还将车牌上的铆钉使用车牌的蓝色背景覆盖,这样分割出的字符更加准确。 车牌识别的最终目的就是对车牌上的文字进行识别。主要应用的为模板匹配方法。 因为系统运行的过程中,主要进行的都是图像处理,在这个过程中要进行大量的数据处理,所以处理器和内存要求比较高,CPU要求主频在600HZ及以上,内存在128MB 及以上。系统可以运行于Windows7、Windows2000或者Windows XP操作系统下,程序调试时使用matlabR2011a。 四、各个功能模块的主要实现程序 (一)首先介绍代码中主要的函数功能及用法:

基于MATLAB的PID控制器设计毕业设计(论文)

毕业设计论文 基于MATLAB的PID控制器设计

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

VC数字图像处理编程

图像处理就是对图像信息进行加工处理,以满足人的视觉心理和实际应用的需要。简单的说,依靠计算机对图像进行各种目的的处理我们就称之为数字图像处理。早期的数字图像处理的目的是以人为对象,为了满足人的视觉效果而改善图像的质量,处理过程中输入的是质量差的图像,输出的是质量好的图像,常用的图像处理方法有图像增强、复原等。随着计算机技术的发展,有一类图像处理是以机器为对象,处理的目的是使机器能够自动识别目标,这称之为图像的识别.图像处理技术博大精深,不仅需要有很强的数学功底,还需要熟练掌握一门计算机语言,在当前流行的语言中,Visual C++这个开发平台是图像开发人员的首选工具。 第一节图像的文件格式 要利用计算机对数字化图像进行处理,首先要对图像的文件格式要有清楚的认识,自然界的图像以模拟信号的形式存在,在用计算机进行处理以前,首先要数字化,比如摄像头(CCD)摄取的信号在送往计算机处理前,一般情况下要经过数模转换,这个任务常常由图像采集卡完成,它的输出一般为裸图的形式;如果用户想要生成目标图像文件,必须根据文件的格式做相应的处理。随着科技的发展,数码像机、数码摄像机已经进入寻常百姓家,我们可以利用这些设备作为图像处理系统的输入设备来为后续的图像处理提供信息源。无论是什么设备,它总是提供按一定的图像文件格式来提供信息,比较常用的有BMP 格式、JPEG格式、GIF格式等等,所以我们在进行图像处理以前,首先要对图像的格式要有清晰的认识,只有在此基础上才可以进行进一步的开发处理。 在讲述图像文件格式前,先对图像作一个简单的分类。除了最简单的图像外,所有的图像都有颜色,而单色图像则是带有颜色的图像中比较简单的格式,它一般由黑色区域和白色区域组成,可以用一个比特表示一个像素,"1"表示黑色,"0"表示白色,当然也可以倒过来表示,这种图像称之为二值图像。我们也可以用8个比特(一个字节)表示一个像素,相当于把黑和白等分为256个级别,"0"表示为黑,"255"表示为白,该字节的数值表示相应像素值的灰度值或亮度值,数值越接近"0",对应像素点越黑,相反,则对应像素点越白,此种图像我们一般称之为灰度图像。单色图像和灰度图像又统称为黑白图像,与之对应存在着彩色图像,这种图像要复杂一些,表示图像时,常用的图像彩色模式有RGB模式、CMYK模式和HIS模式,一般情况下我们只使用RGB模式,R 对应红色,G对应绿色,B对应蓝色,它们统称为三基色,这三中色彩的不同搭配,就可以搭配成各种现实中的色彩,此时彩色图像的每一个像素都需要3个样本组成的一组数据表示,其中每个样本用于表示该像素的一个基本颜色。 对于现存的所有的图像文件格式,在这里主要介绍BMP图像文件格式,并且文件里的图像数据是未压缩的,因为图像的数字化处理主要是对图像中的各个像素进行相应的处理,而未压缩的BMP图像中的像素数值正好与实际要处理的数字图像相对应,这种格式的文件最合适我们对之进行数字化处理。请读者记住,压缩过的图像是无法直接进行数字化处理的,如JPEG、GIF等格式的文件,此时首先要对图像文件解压缩,这就要涉及到一些比较复杂的压缩算法。后续章节中我们将针对特殊的文件格式如何转换为BMP格式的文件问题作专门的论述,经过转换,我们就可以利用得到的未压缩的BMP文件格式进行后续处理。对于JPEG、GIF等格式,由于涉及到压缩算法,这要求读者掌握一定的信息论方面的知识,

数字图像处理基础知识总结

第一章数字图像处理概论 *图像是对客观存在对象的一种相似性的、生动性的描述或写真。 *模拟图像 空间坐标和明暗程度都是连续变化的、计算机无法直接处理的图像 *数字图像 空间坐标和灰度均不连续的、用离散的数字(一般整数)表示的图像(计算机能处理)。是图像的数字表示,像素是其最小的单位。 *数字图像处理(Digital Image Processing) 利用计算机对数字图像进行(去除噪声、增强、复原、分割、特征提取、识别等)系列操作,从而获得某种预期的结果的技术。(计算机图像处理) *数字图像处理的特点(优势) (1)处理精度高,再现性好。(2)易于控制处理效果。(3)处理的多样性。(4)图像数据量庞大。(5)图像处理技术综合性强。 *数字图像处理的目的 (1)提高图像的视感质量,以达到赏心悦目的目的 a.去除图像中的噪声; b.改变图像的亮度、颜色; c.增强图像中的某些成份、抑制某些成份; d.对图像进行几何变换等,达到艺术效果; (2)提取图像中所包含的某些特征或特殊信息。 a.模式识别、计算机视觉的预处理 (3)对图像数据进行变换、编码和压缩,以便于图像的存储和传输。 **数字图像处理的主要研究内容 (1)图像的数字化 a.如何将一幅光学图像表示成一组数字,既不失真又便于计算机分析处理 b.主要包括的是图像的采样与量化 (2*)图像的增强 a.加强图像的有用信息,消弱干扰和噪声 (3)图像的恢复 a.把退化、模糊了的图像复原。模糊的原因有许多种,最常见的有运动模糊,散焦模糊等(4*)图像的编码 a.简化图像的表示,压缩表示图像的数据,以便于存储和传输。 (5)图像的重建 a.由二维图像重建三维图像(如CT) (6)图像的分析 a.对图像中的不同对象进行分割、分类、识别和描述、解释。 (7)图像分割与特征提取 a.图像分割是指将一幅图像的区域根据分析对象进行分割。 b.图像的特征提取包括了形状特征、纹理特征、颜色特征等。 (8)图像隐藏 a.是指媒体信息的相互隐藏。 b.数字水印。 c.图像的信息伪装。 (9)图像通信

数字图像处理课程设计——人脸检测与识别

: 数字图像处理 课 程 设 计 ] $

: 人脸检测与识别课程设计 一、简介 人脸检测与识别是当前模式识别领域的一个前沿课题,人脸识别技术就是利用计算机技术,根据数据库的人脸图像,分析提取出有效的识别信息,用来“辨认”身份的技术。人脸识别是模式识别研究的一个热点, 它在身份鉴别、信用卡识别, 护照的核对及监控系统等方面有着广泛的应用。人脸图像由于受光照、表情以及姿态等因素的影响, 使得同一个人的脸像矩阵差异也比较大。因此, 进行人脸识别时, 所选取的特征必须对上述因素具备一定的稳定性和不变 性. 主元分析(PCA)方法是一种有效的特征提取方法,将人脸图像表示成一个列向量, 经过PCA 变换后, 不仅可以有效地降低其维数, 同时又能保留所需要的识别信息, 这些信息对光照、表情以及姿态具有一定的不敏感性. 在获得有效的特征向量后, 关键问题是设计具有良好分类能力和鲁棒性的分类器. 支持向量机 (SVM ) 模式识别方法,兼顾训练误差和泛化能力, 在解决小样本、非线性及高维模式识别问题中表现出许多特有的优势。 本此课程设计基于MATLAB,将检测与识别分开进行。其中检测部分使用实验指导书上的肤色模型算法进行,不进行赘述。识别部分采用PCA算法对检测出的人脸图像进行特征提取, 再利用最邻近距离分类法对特征向量进行分类识别,将在后文具体表述。仿真结果验

证了本算法是有效的。 二、人脸检测 1.》 2.源码 img=imread('D:\std_test_images\'); figure; imshow(img); R=img(:,:,1); G=img(:,:,2); B=img(:,:,3); faceRgn1=(R>95)&(G>40)&(B>20)&max(img,[],3)-min(img,[],3)>15&abs(R-G)>15&R>B; ~ figure; imshow(faceRgn1); r=double(R)./double(sum(img,3)); g=double(G)./double(sum(img,3)); Y=*R+*G+*B; faceRgn2=(r>&(r<&(g>&(g<&(r>g)&g>='Boundingbox'); BB1=struct2cell(BB); BB2=cell2mat(BB1); ) figure; imshow(img); [s1 s2]=size(BB2); mx=0; for k=3:4:s2-1 p=BB2(1,k)*BB2(1,k+1); if p>mx&(BB2(1,k)/BB2(1,k+1))< mx=p; ! j=k; hold on; rectangle('position',[BB2(1,j-2),BB2(1,j-1),BB2(1,j),BB2(1,j+1)],'linewidth',3,'edg ecolor','r'); hold off; end end

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