数字图像处理中Matlab的应用实例
2016-01-28吕敬兰
吕敬兰
摘 要:图像是人类赖以获取信息的最重要来源之一。图像技术与计算机技术不断融合,出现了一系列图像处理软件,其中最典型的是 Matlab,该软件为图像技术的发展提供了强大支持。本文通过实例阐述Matlab 在图像处理中的应用,以图像增强、图像压缩为例,给出了实现图像处理的程序代码,为今后进一步研究打下了基础。
关键词:Matlab;图像增强;图像压缩
中图分类号:G642 文献标识码:B 文章编号:1002-7661(2016)02-002-01
一、引言
Matlab软件是矩阵实验室的简称,是由美国 Math Works 公司于1984 年推出,历经十几年的发展和竞争,现已成为(IEEE) 国际公认的最优秀的科技应用软件之一[1]。Matlab是数字图像处理、计算机图形学、电子线路、电机学、自动控制、通信技术、物理、力学等领域的科研人员所必须掌握的一种程序设计语言。目前基于Windows 系统的最新版本已上升到Matlab6.5,它继承了以往版本的优点, 非常容易使用。Matlab最基本的数据结构是数组,数字图像用数组(矩阵)存储,矩阵中的一个元素对应于图像的一个像素,这意味着 Matlab矩阵运算功能可以应用于图像处理。
数字图像处理是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。一般来讲,图像处理主要包括三个方面:
1、提高图像的视感质量,如改变图像亮度和彩色,增强或抑制某些成分,对图像进行几何变换等,以改善图像的质量。
2、提取图像中所包含的某些特征或特殊信息,所提取出来的特征或信息往往为计算机分析图像提供便利。提取的特征包括很多方面,如频域特征、灰度特征、颜色特征、边界特征、区域特征、文理特征、形状特征、拓扑特征和关系结构等。
3、图像数据的变换、编码和压缩,以便于图像的存储和传输。
数字图像处理的过程其实就是对图像的一种运算过程,从技术上来说,数字图像处理分为空间域和频率域处理。本文通过2个应用实例,验证了 Matlab 图像处理所得到的效果。
二、图像增强的应用
如果不考虑图像降质,仅突出图像中所感兴趣的部分,可以强化图像的某些分量。例如,强化图像高频分量,可使图像中物体轮廓清晰、细节明显;强化低频分量可以减少图像中噪声的影响。 图像复原要求对图像降质的原因有一定的了解, 一般讲应根据降质过程建立降质模型,再采用某种滤波方法,恢复或重建原来的图像。
小波分析方法在图像处理方面具有很多优点。经二维小波分解后,图像的轮廓主要体现在低频部分,而细节部分则体现在高频部分。因此,通过对低频分解系数进行增强处理,对高频分解系数进行衰减处理,即可以达到图像增强的作用。 Matlab用于图像增强的一个实例如下:
function exam1()
I=imread(' … \lena.bmp');
subplot(1,2,1); imshow(I)
colormap(gray);title(' 原始图像 ')
[a,b]=wavedec2(I,2,'sym4'); len=length(a);
for i=1:len
if(a(i)>300)
a(i)=2*a(i);
else
a(i)=0.5*a(i);
end
end
nx=waverec2(a, b, 'sym4');subplot(1,2,2);
image(nx);
title(' 增强图像 ')
三、图像压缩的应用
图像数据的特点之一是信息量大。 一幅 512×512,灰度等级为8b 的图像,其数据量为256KB。在现代通信中,图片传输成了一个重要的研究课题,如何尽可能减少数据的传输量,并保证图像的质量,是目前人们面对的一大难题。采用编码压缩技术,可以减少数据的传输量、提高通信速度。
在某些情况下,如果对图像的要求不高,可以对图像进行有目的的压缩。 作为一个应用实例, 可用Matlab把一个 512×512 的图像压缩为 256×256 的图像。图像压缩的实现代码如下:
Function exam2 ()
I=imread(' … \lena.bmp');I=double(I)/255;
[m,n]=size(I);
figure(1)
imshow(I)
title(sprintf(' 原始图片: %4d * %4d',size(I)));
A=[];B=[];
for i=1:2:n-1
A=[A,(I(:,i)+I(:,i+1))/2];
end
for i=1:2:m-1
B=[B;(A(i,:)+A(i+1,:))/2];
end
figure(2)
imshow(B)
title(sprintf(' 压缩图片: %4d * %4d',size(B)));
与图像处理系统相关的软件和图像处理中图像变换的方法有很多种,Matlab 软件在图像处理当中有着很多的优点,本文介绍了Matlab的图像处理功能,以图像增强、图像压缩作为应用实例,给出了 Matlab 实现的程序代码,为今后进一步研究打下了基础。
参考文献:
[1] 冈萨雷斯. 数字图像处理(第二版)[M].北京:电子工业出版社,2009.8
[2] 蓝章礼.数值图像处理与数值通信 [M].北京:清华大学出版社,2009.3
[3] 曹 弋.MATLAB 教程及实例[M].北京:机械工业出版社,2009.6