数字化图像处理中的图像分割研究
2013-04-29兰连意李波
兰连意 李波
摘 要 由于彩色图像提供了比灰度图像更为丰富的信息,因此彩色图像处理正受到人们越来越多的关注。彩色图像分割是彩色图像处理的重要问题,彩色图像分割可以看成是灰度图像分割技术在各种颜色空间上的应用,为了使该领域的研究人员对当前各种彩色图像分割方法有较全面的了解,因此对各种彩色图像分割方法进行了系统论述,即先对各种颜色空间进行简单介绍,然后对直方图阈值法、特征空间聚类、基于区域的方法、边缘检测、模糊方法、神经元网络、基于物理模型方法等主要的彩色图像分割技术进行综述,并比较了它们的优缺点,通过比较发现模糊技术由于能很好地表达和处理不确定性问题,因此在彩色图像分割领域会有更广阔的应用前景。
关键词 彩色图像分割 颜色空间 直方图阈值化 边缘检测 模糊方法 神经网络
中图分类号:TP312 文献标识码:A
1 数字图像技术概述
数字图像处理工具箱函数包括以下15类:(1)图像显示函数;(2)图像文件输入、输出函数;(3)图像几何操作函数;(4)图像像素值及统计函数;(5)图像分析函数;(6)图像增强函数;(7)线性滤波函数;(8)二维线性滤波器设计函数;(9)图像变换函数;(10)图像邻域及块操作函数;(11)二值图像操作函数;(12)基于区域的图像处理函数;(13)颜色图操作函数;(14)颜色空间转换函数;(15)图像类型和类型转换函数。
MATLAB图像处理工具箱支持四种图像类型,分别为真彩色图像、索引色图像、灰度图像、二值图像,由于有的函数对图像类型有限制,这四种类型可以用工具箱的类型转换函数相互转换。MATLAB可操作的图像文件包括JPG、HDF、JPEG、PCX、TIFF、XWD等格式。下面就图像处理的基本过程讨论工具箱所实现的常用功能。
图像的读写与显示操作:用imread( )读取图像,imwrite( )输出图像,把图像显示于屏幕有imshow( ),image( )等函数。imcrop()对图像进行裁剪,图像的插值缩放可用imresize( )函数实现,旋转用imrotate( )实现。
图像增强是数字图像处理过程中常用的一种方法,目的是采用一系列技术去改善图像的视觉效果或将图像转换成一种更适合于人眼观察和机器自动分析的形式。
2 MATLAB图像处理工具箱运用实例
为了证明MATLAB语言是一种简洁,可读性较强的高效率编程软件,本文通过运用图像处理工具箱中的有关函数对一实拍的芯片图像进行处理。如图1,图“Fig.jpg”为一幅原图像,该图像右边的剪切图像为从“Fig.jpg”中剪切出的将用于分析的子图像块。为了便于分析与观察,把子图像块旋转90度置于水平位置并把该图存在名为“Fig1.jpg”的图像文件中。以上的过程可用以下代码实现。
x=imread('E:\study\电子与通信\Term 2\数字图像处理DIP\Fig.jpg');
figure,imshow(x);
y=imcrop(x);
figure,imshow(y,[]);
z=imrotate(y,90);
imwrite(z,'E:\study\电子与通信\Term 2\数字图像处理DIP\Fig1.jpg','jpg');
isrgb(z)
原图Fig.jpg 剪贴图Fig1.jpg
图1
经判断得知该图像为一真彩色图像,首先把它转换为灰度图像,以下所有的进一步处理均采用经过灰度化处理后的图像作为原图。
通过比较灰度原图和经均衡化后的图形可见图像变得清晰,均衡化后的直方图形状比原直方图的形状更理想。效果比较见图2,程序代码如下:
x=imread('E:\study\电子与通信\Term 2\数字图像处理DIP\Fig1.jpg');
y=rgb2gray(x);
subplot(221),imshow(y);title('Fig1.jpg 灰度化图像');
subplot(222),imhist(y);title('均衡化前直方图');
I=histeq(y);
subplot(223),imshow(I);title('均衡化后图像');
subplot(224),imhist(I);title('均衡化后直方图');
图2
3 结论
以上图像处理实例只是对MATLAB图像工具箱的一小部分进行运用,经过更进一步的图像分割、二值化、归一化等处理,可以把芯片中的字符特征提取出来送入神经网络分类器进行识别,我们应用MATLAB神经网络工具箱对字符分类进行模拟仿真也取得了较好的效果。由此可以看出MATLAB语言简洁,可读性强,工具箱涉及的专业领域广泛且功能强大。图像工具箱几乎包括所有经典的图像处理方法。由于工具箱具有可靠性和开放性,我们可以方便地直接加以使用,也可以把自己的代码加到工具箱中以改进函数功能,同时,MATLAB中的小波工具箱也有许多函数可运用于图像处理技术。因此,在图像处理技术中使用MATLAB语言可以快速实现模拟仿真,大大提高实验效率, 如果要开发实用程序,MATLAB语言还可以通过MEX动态连接库实现与C语言的混合编程,为工程应用提供了更多的便利条件。
参考文献
[1] 王新成.高级图像处理技术[M] .北京:中国科学技术出版社,2001,18-90.
[2] Kenneth·R·Castleman.数字图像处理技术[M].北京:电子工业出版社,1998,14-16.
[3] 周龙,等.基于MATLAB的储粮害虫图像处理方法[J].微计算机信息,2005,2-0.