Matlab在图像处理中的应用-计算机论文
摘要 :MATLAB是集公式演算推导与数值计算于一体的可视化科学计算软件,它的工具箱对相关学科和各种基于技术都采用了当今最先进的算法有极强的图形和图像处理功能,其语法简单易学。为此,介绍了如何利用MATLAB图像工具箱来实现图像处理基本操作,说明如何用MATLAB实现经典的图像处理方法与技巧,验证了该语言是简洁的易学的。
关键词:图像处理、应用、MATLAB工具箱、实例
引言
图像是人们从客观世界获取信息的重要来源、图像处理通常强调在图像之间进行变换,比较狭义的主要指对图像进行各种加工,改善着图像的视觉效果,或对图像进行压缩编码以减少对其所需存储空间、传输时间和传输道路的要求。对图像处理一般可用算法的的形式描述、而大多数算法可用软件来实现。这依赖于图像处理技术水平,图像处理技术迅速发展,已经成为工程学、计算机科学、信息科学、统计学、物理学、、化学、生物学、医学甚至社会科学等领域学习和研究的对象。如今图像处理技术已给人类带来了巨大的经济和社会效益。
MATLAB(矩阵实验室)语言经过多年逐步发展与不断完善,现已经成为国际公认的最优秀的科学计算于数学应用软件之一,其内容涉及矩阵代数、微积分、应用数学、信号与系统、神经网络、数字图像处理、计算机图形学、电子线路、电机学、自动控制与通讯技术、物理、力学和机械振动等方面它的特点是语法结构简单、数值计算高效、界面友好用户环境,而且还具有可扩展性特征。
1 MATLAP 概述
MATLAP是当今最优秀的科技应用软件之一,具有强大的科学计算能力、可视化功能同时具有其他高级语言难以比拟的一些优点:编写简单、效率高、易懂易学。在信号处理、通信、自动控制及科学计算等领域中被广泛应用,被认为最能够提高工作效率,改善设计手段的工具软件。MATLAP最新版本软件工具实现数字信号处理、图像处理、小波分析和系统仿真等相关应用领域有了新的突破。MATLAB应用领域主要有三个方面:数字信号处理、系统建模与仿真、图像处理。
1.1 MATLAB 特点
作为第四代计算机语言的MATLAB语法结构简单,数据计算高效,图形功能完备,特别受到以完成数据处理与图形图像成为目的技术研发人员的青睐,同时可用其丰富的函数资源,使得编程人员从繁琐的程序代码中解放出来。
1.1.1界面友好、编程效率高
因语法结构简单、数据类型单一,命令表达方式接近于常用的数学公式,这使MATLAB用户在很短的时间内能够快速掌握其主要内容和基本操作。MATLAB不仅能免去大量的经常重复的基本数学运算,而且编译和执行速度都远远超过了C和FORTRAN语言设计的程序。
1.1.2功能强大,可扩展性强
MATLAB 针对不同领域的应用,推出了自动控制、信号处理、图像处理、模糊逻辑、神经网络、小波分析、通讯、数据统计、偏微分方程、财经金融等具有专门功能的工具箱。各种工具箱中的函数可以互相调用,也可以由用户更改。MATLAB支持用户对其函数进行二次开发,用户的应用程序可以作为新的函数添加到相应的工具箱中。
1.1.3图形功能灵活方便
MATLAB具有灵活的二维与三维绘图功能,用户可以方便迅速地用图形、图像、声音、动画等多媒体技术直接表述数值计算结果,可以选择不同坐标系、可以设置颜色、线性、视角,还可以在图中加上比例尺、标题等并且还可以将图形嵌入到用户的WORD文件中。
1.1.4在线帮助,有利于学习
用户可以借助于MATLAB环境下的“在线帮助”学习各种函数的用法及其内涵。
2 MATLAB图像处理
MATLAB中基本数据结构式由一组有序的实数或复数元素构成的数组,图像对象的表达采用的是一组 有序的灰度或色彩数据元素构成的实值数组。MATLAB中通常用二维数组来存储图像,数组的每一个元素对应与图像的一个像素值。
2.1MATLAB图像处理工具箱
MATLAB图像处理工具提供了丰富的图像处理函数,主要可以完成以下功能:
l 图像的几何操作;
l 图像的领域和图像块操作;
l 线性滤波和滤波器设计;
l 图像变换;
l 图像分析和增强;
l 二值图像形态学操作;
l 图像复原;
l 图像编码;
l 感兴趣区域处理。
2.2MATLAB图像处理应用
MATLAB图像处理工具箱支持四种图像类型,分别为真彩色图像、索引色图像、灰度图像、二值图像,由于有的函数对图像类型有限制,这四种类型可以用工具箱的类型转换函数相互转换。MATLAB可操作的图像文件包括BMP、HDF、JPEG、PCX、TIFF、XWD等格式。下面就图像处理的基本过程讨论工具箱所实现的常用功能。
2.3 常用图像操作及实例
图像的读写与显示操作:用imread()读取图像,imwrite()输出图像,把图像显示于屏幕有imshow(),image()等函数。Imcrop()对图像进行裁剪,图像的插值缩放可用imresize()函数实现,旋转用imrotate()实现。
2.3.1读取图像并显示:
X=imread('brid.jpg');
>>(d:/matlab/brid.jpg) 指定图片所在位置
imshow(X);
2.3.2显示图像尺寸:
X=imread('brid.jpg');
image(X);
2.3.3给图像进行整体亮度增加:
图像相加运算
X=imread('bird.jpg');
Y=imdivide(X,0.5);
subplot(1,2,1),imshow(X)
subplot(1,2,2),imshow(Y)
2.3.4 实现图像直方图均衡化:
X=imread(‘bird.jpg’);
Y=rgb2gray(X);
figure,imhist(Y);
2.3.5 保存图像:
clear all;
x=imread('bird.jpg');
imwrite(x,'bird2.png'); 将图像由原先的jpg格式另存为png格式
2.3.6 图像文件信息的查询
clear all;
info=imfinfo('bird2.png')
……
3 结论
MATLAB语言简洁,可读性强,工具箱涉及的专业领域广泛且功能强大。图像工具箱几乎包括所有经典的图像处理方法。由于工具箱具有可靠性和开放性,我们可以方便地直接加以使用,也可以把自己的代码加到工具箱中以改进函数功能,同时,MATLAB中的小波工具箱也有许多函数可运用于图像处理技术。因此,在图像处理技术中使用MATLAB语言可以快速实现模拟仿真,大大提高实验效率,如果要开发实用程序,MATLAB语言还可以通过MEX动态连接库实现与C语言的混合编程,为工程应用提供了更多的便利条件。
参考文献:
(1)Kenneth.R.Castleman. 数字图像处理技术[M], 北京:电子工业出版社,1998 .
(2)王新成,高级图像处理技术[M],北京:中国科学技术出版社,2001.
(3)孙兆林,MATLAB 6.x图像处理[M],北京:清华大学出版社,2002.
(4)贺兴华,MATLAB 7.x 图像处理,北京:人民邮电出版社,2006
(5)高展宏,基于图像处理的案例教程,北京:清华大学出版社,2011