用形态学方法进行图像处理与分析<br>以rice. tif 为图像实例,介绍用形态学方法对灰度图像进行处理与分析的技术要点,即对灰度图像进<br>行如下操作:去除图像的不均匀背景;用设置阈值的方法(thresholding) 将结果图像转换成二值图像;通过<br>成分标记(components labeling) 返回图像中的目标对象属性,并计算目标对象的统计数字特征。其算法步<br>骤描述如下:<br>(1) 用工具箱函数imread 和imshow 读取和显示8 位灰度图。<br>(2) 用形态学开运算(Morphological Opening) 估计背景。通过调用imopen 并对输入图像I 执行形态学<br>开运算, 取半径为15 的圆盘结构元素,且结构元素通过函数strel 建立。形态学开运算有消除不能完全包<br>含在半径为15 的圆盘内的目标对象的作用。注意到图像中央的背景照度(background illumina2<br>tion) 比底部要亮。<br>(3) 用surf 指令察看背景图像。用Surf 指令创建近似背景的彩色表面图 ,使人可以看到在<br>一个矩形区域上的数学函数特征。在表面图中,[0 , 0 ] 表示原点, 或图像左上角,曲面图最高部分表示背<br>景的最亮像素(从而rice. tif 的背景的最亮像素出现在图像中央行的附近,而最暗像素出现在图像的底<br>部) 。<br>(4) 从原图像中减去背景图像。须用图像处理工具箱的图像算术函数imsubtract 产生均匀的背景 。<br>(5) 调节图像对比度。用imadjust 指令增大图像对比度 。imadjust 函数需要一个输入图像且<br>也可带两个矢量: [ low high ] 和[ bottom top ] . 输出图像通过将输入图像中low 值映射到输出图像中的bot2<br>tom 值、high 值映射到输出图像中的top 值,并将low 与high 间的值进行线性缩放而产生。<br>(6) 对图像进行阈值处理。先调用graythresh ,自动计算一个适当的阈值;然后使用graythresh 返回的阈值,调用im2bw 执行阈值处理,将灰度图像转换成二值图像 。<br>(7) 确定图像中的目标对象并予以标记。调用bwlabel 寻找连通成份而且用惟一的数字将他们分类标记。bwlabel 接受一个二值图像和指定各目标对象的连通性的值(4 或8 ,表示4 或8 连通) 作为输入。<br>注意: 结果的准确性依赖于许多因素,包括: 目标对象的大小; 近似背景的准确程度; 是否设定连接基于MATLAB 的图像处理与分析. 1995-2005 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.<br>a 原图b 背景<br>性参数为4 或8 ; 是否任何目标对象均相接(在这种情况下他们可能被标记为同一目标对象) ;在该实例中, rice 的一些谷粒正好相接,因此bwlabel 把它们视为了同一目标对象。<br>(8) 查看标记矩阵。看一看bwlabel 产生的标记的近似形状是有用的。调用imcrop 并用鼠<br>标选择包含某一目标对象的一部分及其一些背景的部分图,则所选部分图的像素值会在MAT2LAB 窗口中返回。若查看上面的结果,你会看到c 背景的表面图d 原图与背景的差<br>一个对象的一角标以某数字标记k ,这意味着它是第k 个被bwlabel 分类的目标对象。imcrop 函数也可带矢量指定剪裁矩形的坐标。在这种情况下,它不执行交互式操作。举例来说,rect = [15 25 10 10 ] ; roi = imcrop (labeled ,rect)这个调用指定一个剪裁矩形的左上角坐标始于(15 ,25) ,而且高度和宽度均为10 。<br>一种查看标记矩阵的好方法是将它显示成<br>e 图像对比度调节结果 f 阈值处理后的二值图<br>一种假彩色索引图像(如图2g) 。在假彩色索引图像中,将标记矩阵中区分每一对象的数字映射成了相关色彩映射矩阵中的一种不同的颜色。当把一个标记矩阵看成一个RGB 图像时,图像中的对象是比较容易区别的。为此, 使用la2bel2rgb 函数。使用该函数时,可以指定色彩映射表,背景颜色,以及标记矩阵中的对象如何映射为色彩映射表中的颜色。<br>(9) 测量图像中的对象属性。regionprops 指令可测量图像中的对象或区域的属性,并返回一g 假彩色标记图h 谷粒大小分布图<br>形态学图像处理的对比分析结果个结构数组。当将其作用于一个图像成分的标记矩阵时,它为每个成分建立一个结构元素,而每一结构元素包含一个标记成分的一些基本属性。regionprops 函数支持对许多不同的属性予以测量, 但是设定属性参数为’basic’旨在返回最常用的三个量: 面积(Area) , 质心或块中心(Centroid) 和边框(BoundingBox) 。边框Bounding2Box 表示能容纳一个区域(所举实例中的谷粒)的最小长方形, 为四元素矢量: [ left top width height ] 。<br>(10) 在图像中计算目标对象的统计特性。使用MATLAB 函数max , mean , 和hist 可计算被阈值处理的目标对象的一些统计属性 。图像处理工具箱也有一些统计函数,如mean2 和std2 ,适用于图像数据,因为他们对二维空间的数据返回单一值。<br><br><br>下面是算法实现的程序代码:<br>%程序代码:test2. m<br>clear , close all ,I = imread(’rice. tif’)<br>; imshow( I) %读取和显示8 位灰度图rice. tif
[此贴子已经被作者于2005-9-8 16:28:48编辑过]
|