1、第 1 页目 录摘要 .2一数字图像概述 .31.1 数字图像处理的意义 .41.2 数字图像处理技术的发展 .5二matlab 图像处理简介 62.1 matlab 简介 .62.2 matlab 图像界面 GUI 简介 .7三数字图像处理软件的设计 .73.1 软件的总体设计 73.1.1 整体界面设计 .83.1.2 菜单栏设计 .83.2 文件的读入与显示 83.3 图像的保存 93.4 图像的灰度处理 93.5 图像二值化 .103.6 图像 R 直方图 .113.7 图像 G 直方图 .113.8 图像 B 直方图 .123.9 直方图均衡 .123.10 图像的腐蚀 .13四ex
2、e 文件的生成 14参考文献 15第 2 页摘 要数字图像处理是一门新兴技术,随着计算机硬件的发展,数字图像的实时处理已经成为可能,由于数字图像处理的各种算法的出现,使得其处理速度越来越快,能更好的为人们服务。数字图像处理是一种通过计算机采用一定的算法对图形图像进行处理的技术。数字图像处理技术已经在各个领域上都有了比较广泛的应用。图像处理的信息量很大,对处理速度的要求也比较高。MATLAB强大的运算和图形展示功能,使图像处理变得更加的简单和直观。本文介绍了MATLAB 语言的特点,基于 MATLAB 的数字图像处理环境,介绍了如何利用MATLAB 及其图像处理工具箱进行数字图像处理,并通过一些
3、例子来说明利用MATLAB 图像处理工具箱进行图像处理的方法。主要论述了利用 MATLAB 的 GUI实现图像二值化分析等图像处理。关键词:MATLAB,数字图像处理,GUI,二值图像第 3 页AbstractDigital image processing is an emerging technology, with the development of computer hardware, real-time digital image processing has become possible due to digital image processing algorithms to
4、 appear, making it faster and faster processing speed, better for People services .Digital image processing is used by some algorithms computer graphics image processing technology. Digital image processing technology has been in various areas have a relatively wide range of applications. Image proc
5、essing large amount of information on the processing speed requirement is relatively high. MATLAB powerful computing and graphics display capabilities, so that image processing becomes more simple and intuitive. This paper introduces characteristics of MATLAB language and this MATLAB-based digital i
6、mage processing environment, describes how to use the MATLAB Image Processing Toolbox for its digital image processing, and through some examples to illustrate the use of MATLAB Image Processing Toolbox for image processing method. Mainly discusses the use of MATLAB for image enhancement,2-numeric i
7、mage and other image processing technologies.Key words:MATLAB, digital image processing,GUI , image enhancement,2-numeric image第 4 页一、数字图像处理概述1.1 数字图像处理的意义数字图像处理(Digital Image Processing) ,就是利用数字计算机或者其他数字硬件,对从图像信息转换而得到的电信号进行某些数学运算,以提高图像的实用性。例如从卫星图片中提取目标物的特征参数,三维立体断层图像的重建等。总的来说,数字图像处理包括点运算、几何处理、图像增强、
8、图像复原、图像形态学处理、图像编码、图像重建、模式识别等。由于计算机处理能力的不断增强,数字图像处理学科在飞速发展的同时,也越来越广泛地向许多其他学科快速交叉渗透,使得图像作为信息获取以及信息的利用等方面也变得越来越重要。目前数字图像处理的应用越来越广泛,已经渗透到工业、医疗保健、航空航天、军事等各个领域,在国民经济中发挥越来越大的作用。MathWorks 公司推出的 MATLAB 软件是学习数理知识的好帮手。应用 MATLAB友好的界面和丰富、实用、高效的指令及模块,可以使人较快地认识、理解图像处理的相关概念,逐步掌握图像信号处理的基本方法,进而能够解决相关的工程和科研中的问题。图 像 是
9、人 类 获 取 和 交 换 信 息 的 主 要 来 源 , 因 此 , 图 像 处 理 的 应 用 领 域 必然 涉 及 到 人 类 生 活 和 工 作 的 方 方 面 面 。 随 着 人 类 活 动 范 围 的 不 断 扩 大 , 图 像处 理 的 应 用 领 域 也 将 随 之 不 断 扩 大 , 已 在 国 家 安 全 、 经 济 发 展 、 日 常 生 活中 充 当 越 来 越 重 要 的 角 色 ,对 国 计 民 生 的 作 用 不 可 低 估 。1.2 数字图像处理技术的发展数 字 图 像 处 理 最 早 出 现 于 20 世 纪 50 年 代 , 当 时 的 电 子 计 算 机
10、已经 发 展 到 一 定 水 平 , 人 们 开 始 利 用 计 算 机 来 处 理 图 形 和 图 像 信 息 。 数 字 图 像处 理 作 为 一 门 学 科 大 约 形 成 于 20 世 纪 60 年 代 初 期 。早 期 的 图 像 处 理 的 目 的 是 改 善 图 像 的 质 量 , 它 以 人 为 对 象 , 以 改 善 人 的视 觉 效 果 为 目 的 。 图 像 处 理 中 , 输 入 的 是 质 量 低 的 图 像 , 输 出 的 是 改 善 质 量第 5 页后 的 图 像 , 常 用 的 图 像 处 理 方 法 有 图 像 增 强 、 复 原 、 编 码 、 压 缩 等
11、。 首 次获 得 实 际 成 功 应 用 的 是 美 国 喷 气 推 进 实 验 室 ( JPL) 。 他 们 对 航 天 探 测 器 徘徊 者 7 号 在 1964 年 发 回 的 几 千 张 月 球 照 片 使 用 了 图 像 处 理 技 术 , 如 几 何 校正 、 灰 度 变 换 、 去 除 噪 声 等 方 法 进 行 处 理 , 并 考 虑 了 太 阳 位 置 和 月 球 环 境 的影 响 , 由 计 算 机 成 功 地 绘 制 出 月 球 表 面 地 图 , 获 得 了 巨 大 的 成 功 。 随 后 又 对探 测 飞 船 发 回 的 近 十 万 张 照 片 进 行 更 为 复 杂
12、 的 图 像 处 理 , 以 致 获 得 了 月 球 的地 形 图 、 彩 色 图 及 全 景 镶 嵌 图 , 获 得 了 非 凡 的 成 果 , 为 人 类 登 月 创 举 奠 定 了坚 实 的 基 础 , 也 推 动 了 数 字 图 像 处 理 这 门 学 科 的 诞 生 。 在 以 后 的 宇 航 空 间 技术 , 如 对 火 星 、 土 星 等 星 球 的 探 测 研 究 中 , 数 字 图 像 处 理 技 术 都 发 挥 了 巨 大的 作 用 。 数 字 图 像 处 理 取 得 的 另 一 个 巨 大 成 就 是 在 医 学 上 获 得 的 成 果 。 1972 年 英 国 EMI
13、公 司 工 程 师 Housfield 发 明 了 用 于 头 颅 诊 断 的 X 射 线 计 算 机断 层 摄 影 装 置 , 也 就 是 我 们 通 常 所 说 的 CT( Computer Tomograph) 。 CT的 基 本 方 法 是 根 据 人 的 头 部 截 面 的 投 影 , 经 计 算 机 处 理 来 重 建 截 面 图 像 , 称为 图 像 重 建 。 1975 年 EMI 公 司 又 成 功 研 制 出 全 身 用 的 CT 装 置 , 获 得 了 人体 各 个 部 位 鲜 明 清 晰 的 断 层 图 像 。 1979 年 , 这 项 无 损 伤 诊 断 技 术 获
14、得 了 诺贝 尔 奖 , 说 明 它 对 人 类 作 出 了 划 时 代 的 贡 献 。与此同时,图像处理技术在许多应用领域受到广泛重视并取得了重大的开拓性成就,属于这些领域的有航空航天、生物医学工程、工业检测、机器人视觉、公安司法、军事制导、文化艺术等,使图像处理成为一门引人注目、前景远大的新型学科。随着图像处理技术的深入发展,从 70 年代中期开始,随着计算机技术和人工智能、思维科学研究的迅速发展,数字图像处理向更高、更深层次发展。人们已开始研究如何用计算机系统解释图像,实现类似人类视觉系统理解外部世界,这被称为图像理解或计算机视觉。很多国家,特别是发达国家投入更多的人力、物力到这项研究,
15、取得了不少重要的研究成果。其中代表性的成果是 70 年代末 MIT 的 Marr 提出的视觉计算理论,这个理论成为计算机视觉领域其后十多年的主导思想。图像理解虽然在理论方法研究上已取得不小的进展,但它本身是一个比较难的研究领域,存在不少困难,因人类本身对自己的视觉过程还了解甚少,因此计算机视觉是一个有待人们进一步探索新的领第 6 页域。二、matlab 图像处理简介2.1 matlab 简介MATLAB 的名称源自 Matrix Laboratory ,由美国 MathWorks 公司推出。20 世纪九十年代的时候,matlab 已经成了国际控制界公认的标准计算软件。2001 年推出了 mat
16、lab6.0 版本,其中有 simulink 工具包。开发了与外部进行直接数据交换的组件。同时也推出了符号计算工具包。它是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB 将高性能的数值计算和可视化集成在一起,构成了一个方便的、界面友好的用户环境,并提供了大量的内置函数。从而被广泛地应用于科学计算、算法开发预设计和验证、数据采集、建模仿真与原型设计、数据分析研究与可视化、科学与工程绘图、应用开发环境、控制系统、信息处理、神经网络、图像处理、小波分析等领域的分析、仿真和设计工作,而且利用 MATLAB 产品的开放式结构,可以非常容易地对 MATLAB 的功能进行扩充,从而在不断深化对问题
17、认识的同时,不断完善 MATLAB 产品以提高产品自身的竞争能力。MATLAB 中的数字图像是以矩阵形式表示的,这意味着 ATLAB强大的矩阵运算能力用于图像处理非常有利,矩阵运算的语法对 MATLAB 中的数字图像同样适用。本文对 MATLAB 图像处理工具箱进行探索及应用,实验证明该软件功能强大,语言简洁易学,人机界面友好,工具箱具有丰富的技术支持并集成了该领域家的智慧,应用简单而效果良好。2.2 matlab 图形界面 GUI 简介用户界面是指:实现人与机器(或程序)之间交互作用的工具和方法。如键盘、鼠标等都可成为与计算机交换信息的接口。图形用户界面 GUI(全称 Graphical U
18、ser Interfaces )则是由窗口、光标、按键、菜单、文字说明等对象构成的一个用户界面,用户图形界面(GUI)是程序的图形化界面。GUI 可以使用户定制用与 MATLAB 的交互方式。把图形界面加到 MATLAB 的函数和 M 文件中。GUI可以在 MATLAB 中生成非常有效的工具和应用程序,或是建立演示工作的交互式界面。创建 MATLAB 用户图形界面必须有三个基本元素:(1) 组件:在 matlab GUI 中的每一个项目如按钮、标签、编辑框等都是一第 7 页个图形化组件。组件又可分为三类:图形化控件(按钮,编辑框,列表,滚动条等)、静态元素(窗口和文本字符串)、菜单和坐标系。图
19、形化控件和静态元素由函数uicontrol 创建,菜单由函数 uimenu 和 uicontextmenu 创建,坐标系经常用于显示图形化数据,由函数 axes 创建。(2)图象窗口(Figure):GUI 的每一个组件都必须安排在图象窗口中,可以用函 figure 来创建空图象窗口,空图象窗口经常用于放置各种类型的组件。(3)回应:当用户用鼠标单击或用键盘键入一些信息,那么程序就要有相应的执行动作。鼠标单击或键入信息是一个事件,如果 matlab 程序运行相应的函数,那么 matlab 函数肯定会有所反应。例如,如果用户单击一按钮,这个事件必然引起相应的 matlab 语句执行。这些相应的语
20、句被称为回应,在执行 GUI 的单个图形组件时,必须有一个回应。三、数字图像处理软件设计本软件包的主要功能是通过 matlab 的 GUI 界面编制一个简易的图形界面以读取 bmp 格式的原始图像数据,并对它们进行分析和处理,得到所需要的效果,并把处理后的相关信息用图像显示出来。本软件的主要功能有:bmp 图像文件的打开和保存,图像灰度处理和腐蚀、直方图的分析等等。 3.1 软件总体设计3.1.1 整体界面设计第 8 页3.1.2 菜单栏设计3.2 图像的读入与显示name,path=uigetfile(*.bmp,载入图像);if isequal(name,0)|isequal(path,0
21、)errordlg(没有选中文件, 出错);return;elsex=imread(path,name);axes(handles.axes1);imshow(x);handles.img=x;handles.noise_img=x;第 9 页3.3 图像的保存%文件保存filename,pathname = uiputfile(*.bmp,图片保存为);if isequal(filename,pathname,0,0)errordlg(没有保存,出错);return;elsefile=strcat(pathname,filename);(handles.axes2);i=getimage(g
22、ca);imwrite(i,file);end3.4 图像的灰度处理%灰度处理axes(handles.axes2);if isrgb(handles.img) y=rgb2gray(handles.img); %RGBimshow(y);第 10 页elsemsgbox(这已经是灰度图像, 转换失败);3.5 图像的二值化%二值图像axes(handles.axes2);x=(handles.img);if isrgb(x)msgbox(这是彩色图像,不能转换为二值图像,转换失败);elsej=im2bw(x);imshow(j);end第 11 页3.6 图像 R 直方图%R 直方图set
23、(handles.axes2,HandleVisibility,ON);axes(handles.axes2);x=imhist(handles.img(:,:,1); %直方图统计x1=x(1:10:256);horz=1:10:256;bar(horz,x1);set(handles.axes2,xtick,0:50:255);3.7 图像 G 直方图%G 直方图set(handles.axes2,HandleVisibility,ON);axes(handles.axes2);if isrgb(handles.img) 第 12 页x=imhist(handles.img(:,:,2);
24、 %直方图统计x1=x(1:10:256);horz=1:10:256;bar(horz,x1);set(handles.axes2,xtick,0:50:255);elsemsgbox(这是灰度图像, 旋转失败);end3.8 图像 B 直方图%B 直方图set(handles.axes2,HandleVisibility,ON);axes(handles.axes2);if isrgb(handles.img) x=imhist(handles.img(:,:,3); x1=x(1:10:256);horz=1:10:256;bar(horz,x1);第 13 页%axis(0 255 0
25、 150000);set(handles.axes2,xtick,0:50:255);%set(handles.axes2,ytick,0:2000:15000);elsemsgbox(这是灰度图像, 旋转失败);end3.9 直方图均衡%直方图均衡set(handles.axes2,HandleVisibility,ON);axes(handles.axes2);if isrgb(handles.img) a=histeq(handles.img(:,:,1);b=histeq(handles.img(:,:,2);c=histeq(handles.img(:,:,3);k(:,:,1)=a
26、;k(:,:,2)=b;k(:,:,3)=c;imshow(k);第 14 页elseh=histeq(handles.img); imshow(h);end3.10 图像的腐蚀%图像腐蚀axes(handles.axes2);x=(handles.img);if isrgb(x)msgbox(这是彩色图像,不能进行图像腐蚀, 失败);elsej=im2bw(x);se=eye(5);bw=bwmorph(j,erode);imshow(bw);end第 15 页四、exe 文件的生成最后本课题将创建好的 GUI 生成了可以执行的 EXE 文件。在 matlab 的command 窗口中输入
27、mcc -B sgl untitled.m ,等待一到两分钟。这时,如果没有安装其他编译器,系统会提示是否选择 MATLAB 自带的 LCC 作为编译器。然后在放文件的地方就会出现几个文件,其中一个为 EXE 格式的,这样就实现了应用程序的创建。参考文献【1】. 朱富丽 河南商业高等专科学校现代教育与实验中心 2010【2】. 高娜,陶慧 Matlab 在数字图像处理中的应用 河南理工大学 2005【3】. 袁怡圃 刘怀如 基于 MATLAB 的数字图像处理教学软件包的设计 2009【4】. 崔文 浅析 MATLAB 在数字图像处理中的应用洛阳大学 2006【5】. 张国琴,吴周桥 MATLAB 在数字图像处理教学中的应用 武汉科技学2005【6】. 郑继刚 MATLAB 在数字图像处理中的应用 保山学院 2009【7】. 梁原 基于 MATLAB 的数字图像处理系统研究 长春理工大学 2008【8】. 缪绍纲. 数字图像处理:活用 西南交通大学出版社, 2001第 16 页