1、题目 成绩 专业 课程名称、代码 年级 姓名 学号 时间 年 月 彩色图像分割数字图像处理1摘 要 由于彩色图像提供了比灰度图像更为丰富的信息,因此彩色图像处理正受到人们越来越多的关注。彩色图像分割是彩色图像处理的重要问题,彩色图像分割可以看成是灰度图像分割技术在各种颜色空间上的应用,为了使该领域的研究人员对当前各种彩色图像分割方法有较全面的了解,因此对各种彩色图像分割方法进行了系统论述,即先对各种颜色空间进行简单介绍,然后对直方图阈值法、特征空间聚类、基于区域的方法、边缘检测、模糊方法、神经元网络、基于物理模型方法等主要的彩色图像分割技术进行综述,并比较了它们的优缺点,通过比较发现模糊技术由
2、于能很好地表达和处理不确定性问题,因此在彩色图像分割领域会有更广阔的应用前景。关键词 彩色图像分割 颜色空间 直方图阈值化 边缘检测 模糊方法 神经网络目录数字图像处理2基于 MATLAB 工具箱的数字图像处理技术 11 引言 32 MATLAB 图像处理工具箱及数字图像处理基本过程简介 32.1. 常用图像操作 42.2. 图像增强功能: 42.3. 边缘检测和图像分割功能 52.4. 图像变换功能 53 MATLAB 图像处理工具箱运用实例 53.1 对灰度图进行直方图均衡化处理 .73.2 灰度调整 83.3 灰度图像平滑与锐化处理 .84 结论 10参考文献 10数字图像处理31 引言
3、MATLAB 语言是由美国 MathWorks 公司推出的计算机软件,经过多年的逐步发展与不断完善,现已成为国际公认的最优秀的科学计算与数学应用软件之一, 是近几年来在国内外广泛流行的一种可视化科学计算软件。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境,而且还具有可扩展性特征。MathWorks 公司针对不同领域的应用,推出了信号处理、控制系统、神经网络、图像处理、小波分析、鲁棒控制、非线性系统控制设计、系统辨识、优化设计、统计分析、财政金融、样条、通信等 30 多个具有专门功能的工具箱,这些工具箱是由该领域内的学术水平较高的专家编写的,无需用户自己编
4、写所用的专业基础程序, 可直接对工具箱进行运用。同时,工具箱内的函数源程序也是开放性的,多为 M 文件,用户可以查看这些文件的代码并进行更改,MALAB 支持用户对其函数进行二次开发, 用户的应用程序也可以作为新的函数添加到相应的工具箱中。MATLAB 中的数字图像是以矩阵形式表示的,这意味着 MATLAB 强大的矩阵运算能力用于图像处理非常有利,矩阵运算的语法对 MATLAB 中的数字图像同样适用。本文对 MATLAB 图像处理工具箱进行探索及应用,实验证明该软件功能强大,语言简洁易学,人机界面友好,工具箱具有丰富的技术支持并集成了该领域专家的智慧,应用简单而效果良好。2 MATLAB 图像
5、处理工具箱及数字图像处理基本过程简介数字图像处理工具箱函数包括以下 15 类:、图像显示函数; 、图像文件输入、输出函数;、图像几何操作函数;、图像像素值及统计函数;、图像分析函数;、图像增强函数;、线性滤波函数; 、二维线性滤波器设计函数;、图像变换函数;、图像邻域及块操作函数;、二值图像操作函数;、基于区域的图像处理函数;、颜色图操作函数;、颜色空间转换函数;、图像类型和类型转换函数。MATLAB 图像处理工具箱支持四种图像类型, 分别为真彩色图像、索引数字图像处理4色图像、灰度图像、二值图像,由于有的函数对图像类型有限制, 这四种类型可以用工具箱的类型转换函数相互转换。MATLAB 可操
6、作的图像文件包括JPG、 HDF、JPEG、PCX、TIFF、XWD 等格式。下面就图像处理的基本过程讨论工具箱所实现的常用功能。2.1. 常用图像操作图像的读写与显示操作:用 imread( )读取图像,imwrite( )输出图像,把图像显示于屏幕有 imshow( ),image( )等函数。imcrop() 对图像进行裁剪,图像的插值缩放可用 imresize( )函数实现,旋转用 imrotate( )实现。2.2. 图像增强功能:图像增强是数字图像处理过程中常用的一种方法, 目的是采用一系列技术去改善图像的视觉效果或将图像转换成一种更适合于人眼观察和机器自动分析的形式。常用的图像增
7、强方法有以下几种:1)灰度直方图均衡化均匀量化的自然图像的灰度直方图通常在低灰度区间上频率较大, 使得图像中较暗区域中的细节看不清楚, 采用直方图修整可使原图像灰度集中的区域拉开或使灰度分布均匀,从而增大反差,使图像的细节清晰,达到增强目的。直方图均衡化可用 histeq( )函数实现。2)灰度变换法照片或电子方法得到的图像,常表现出低对比度即整个图像偏亮或偏暗, 为此需要对图像中的每一像素的灰度级进行标度变换,扩大图像灰度范围,以达到改善图像质量的目的。这一灰度调整过程可用 imadjust( )函数实现。3)平滑与锐化滤波平滑技术用于平滑图像中的噪声,基本采用在空间域上的求平均值或中值。或
8、在频域上采取低通滤波,因在灰度连续变化的图像中, 我们通常认为与相邻像素灰度相差很大的突变点为噪声点,灰度突变代表了一种高频分量,低通滤波则可以削弱图像的高频成分,平滑了图像信号,但也可能使图像目标区域的数字图像处理5边界变得模糊。而锐化技术采用的是频域上的高通滤波方法,通过增强高频成分减少图像中的模糊,特别是模糊的边缘部分得到了增强, 但同时也放大了图像的噪声。在 MATLAB 中,各种滤波方法都是在空间域中通过不同的卷积模板即滤波算子实现,可用 fspecial( )函数创建预定义的滤波算子,然后用 filter2( )或conv2( )函数在实现卷积运算的基础上进行滤波。2.3. 边缘检
9、测和图像分割功能边缘检测是一种重要的区域处理方法, 边缘是所要提取目标和背景的分界线,提取出边缘才能将目标和背景区分开来。如果一个像素落在边界上, 那么它的邻域将成为一个灰度级变化的带。对这种变化最有用的两个特征是灰度的变化率和方向。边缘检测算子可以检查每个像素的邻域并对灰度变化率进行量化,也包括对方向的确定,其中大多数是基于方向导数掩模求卷积的方法。MATLAB 工具箱提供的 edge( )函数可针对 sobel 算子、prewitt 算子、Roberts 算子、log 算子和 canny 算子实现检测边缘的功能。基于灰度的图像分割方法也可以用简单的 MATLAB 代码实现。2.4. 图像变
10、换功能图像变换技术是图像处理的重要工具,常运用于图像压缩、滤波、编码和后续的特征抽取或信息分析过程。MATLAB 工具箱提供了常用的变换函数,如 fft2( )与 ifft2( )函数分别实现二维快速傅立叶变换与其逆变换,dct2( )与idct2( )函数实现二维离散余弦变换与其逆变换, Radon( ),iradon( )函数实现Radon 变换与逆 Radon 变换。除了以上基本的图像处理功能,MATLAB 还提供了如二值图像的膨胀运算 dilate( )函数、腐蚀运算 erode( )函数等基于数学形态学与二值图像的操作函数。3 MATLAB 图像处理工具箱运用实例为了证明 MATLA
11、B 语言是一种简洁,可读性较强的高效率编程软件, 本文通过运用图像处理工具箱中的有关函数对一实拍的芯片图像进行处理。如图数字图像处理61,图“ Fig.jpg”为一幅原图像,该图像右边的剪切图像为从“ Fig.jpg”中剪切出的将用于分析的子图像块。为了便于分析与观察,把子图像块旋转 90 度置于水平位置并把该图存在名为“ Fig1.jpg” 的图像文件中。以上的过程可用以下代码实现。x=imread(E:study电子与通信Term 2数字图像处理 DIPFig.jpg);figure,imshow(x);y=imcrop(x);figure,imshow(y,);z=imrotate(y,
12、90);imwrite(z,E:study电子与通信 Term 2数字图像处理 DIPFig1.jpg,jpg);isrgb(z)原图 Fig.jpg 剪贴图 Fig1.jpg图 1 经判断得知该图像为一真彩色图像, 首先把它转换为灰度图像, 以下所有的进一步处理均采用经过灰度化处理后的图像作为原图。数字图像处理73.1 对灰度图进行直方图均衡化处理通过比较灰度原图和经均衡化后的图形可见图像变得清晰, 均衡化后的直方图形状比原直方图的形状更理想。效果比较见图 2, 程序代码如下:x=imread(E:study电子与通信Term 2数字图像处理 DIPFig1.jpg);y=rgb2gray(
13、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(均衡化后直方图);Fig1.jpg 为为为为为0 50 100 150 200 2500200400600为为为为为为为为为为为为为0 50 100 150 200 25002004006008001000为为为为为为为图 2数字图像处理83.2 灰度调整通过灰度调整把感
14、兴趣的灰度范围拉开,使图像中亮的越亮,暗的越暗,分别取原图中要变换的灰度范围为(0.3,0.7)和(0.5,0.6),把变换后的图像相比较,见图 3,可知原图所变换的灰度范围小,则调整后的图像反差大。程序代码如下:x=imread(E:study电子与通信Term 2数字图像处理 DIPFig1.jpg);y = imadjust(x,0.3 0.7,);z = imadjust(x,0.5 0.6,);subplot(211),imshow(y);title(原图所变换的灰度范围为 (0.3,0.7);subplot(212),imshow(z);title(原图所变换的灰度范围为(0.5,
15、0.6);为为为为为为为为为为为(0.3,0.7)为为为为为为为为为为为(0.5,0.6)图 3数字图像处理93.3 灰度图像平滑与锐化处理MATLAB 图像工具箱中有多种平滑与锐化滤波函数,也可以自定义滤波算子。在此我们采用可根据图像的局部方差来调整滤波器输出的自适应滤波对图像进行平滑,及采用拉氏算子运算使图像的模糊部分得到增强。处理后的图像见图 4,实现代码如下:x=imread(E:study电子与通信Term 2数字图像处理 DIPFig1.jpg);x=rgb2gray(x);x=double(x);p=wiener2(x);subplot(211),imshow(p,);title
16、(自适应滤波平滑)h=0 1 0;1 -4 0;0 1 0;q=conv2(x,h,same);r=x-q ;subplot(212),imshow(r,);title(拉氏算子卷积锐化)为为为为为为为为为为为为为为为图 4数字图像处理104 结论以上图像处理实例只是对 MATLAB 图像工具箱的一小部分进行运用,经过更进一步的图像分割、二值化、归一化等处理,可以把芯片中的字符特征提取出来送入神经网络分类器进行识别,我们应用 MATLAB 神经网络工具箱对字符分类进行模拟仿真也取得了较好的效果。由此可以看出 MATLAB 语言简洁,可读性强,工具箱涉及的专业领域广泛且功能强大。图像工具箱几乎包
17、括所有经典的图像处理方法。由于工具箱具有可靠性和开放性,我们可以方便地直接加以使用,也可以把自己的代码加到工具箱中以改进函数功能,同时,MATLAB 中的小波工具箱也有许多函数可运用于图像处理技术。因此,在图像处理技术中使用 MATLAB 语言可以快速实现模拟仿真,大大提高实验效率,如果要开发实用程序,MATLAB 语言还可以通过 MEX 动态连接库实现与 C 语言的混合编程,为工程应用提供了更多的便利条件。参考文献1王新成.高级图像处理技术M .北京:中国科学技术出版社.2001,18-90;2 Kenneth.R.Castleman.数字图像处理技术M.北京: 电子工业出版社.1998,14-16;3周龙等.基于 MATLAB 的储粮害虫图像处理方法 J.微计算机信息.2005,2-0;