主题:【分享】图象处理方法

浏览0 回复36 电梯直达
可能感兴趣
我是砖家
结帖率:
100%
关注:0 |粉丝:0
新手级: 新兵
腐蚀及扩大的几何解释
腐蚀,是通过将边界向内移动一个统一的量,将图像缩小,而扩大则是将边界向外移动一个统一的量,将图像扩大。

原图

用圆形修补元素进行腐蚀的过程
腐蚀过后的图像
图2.10 腐蚀的几何解释(一次循环)
我是砖家
结帖率:
100%
关注:0 |粉丝:0
新手级: 新兵
各向等量的扩大或腐蚀可以用几何的方式来解释:可将这两种操作想象为分别用一个圆形的修补元素沿着边界外边或里边移动,图2.11简略地表示了这一过程。用所选修补元素内象素阵代替二进制图像内的每一个象素,就实现了扩大操作。其中一些新的象素在原图中没有象素的地方,这就是扩大增量了。

图2.12 修补过程
从技术上讲,形态转换的基本概念是由此而来的:将二进制图像当作一个象素集,每一象素可根据’hit-or-miss’规则作平移及重合。因而,通过将图像平移,再与原图合并,就得到了‘扩大’,而取其‘相交’,就得到了‘腐蚀’。平移由结构元素定义,结构元素有效地定义了转换的范围或邻点。常常要将形态转换进行迭代,以扩大有效的邻点范围。
灰色形态
用局部邻点最大/最小操作,通过替换象素集合的联合/相交,可将这一规则扩大到灰度图像,因而,灰度腐蚀只是取原图及平移图之间的最小灰度值。由这些基本操作可以产生无限丰富的次级功能,如打开,过滤,骨架,边界值等功能。
修补元素
QWin软件提供了大量不同的操作符(结构元素),见图0.5。操作符的大小与循环次数有关。在作腐蚀操作时,当对象的面积比腐蚀量小时,这个对象就会被消除,见图0.12
图像修补应用
二维腐蚀可使相连的特征对象分离开,或消除特征对象中的狭长部份。
球体计数


图2.13(a)中的一些球体互相相连,所以得到了一个假的计数3,经过腐蚀操作后的图2.13(b)中,特征对象被分离了,得到了正确的计数7。
测量孔状结构


图2.14 (a)原图 
(b)腐蚀图  (c)扩大图
图a中的孔由细线相连,在孔大小分布测量时,就不能单独检测
图b中,图像被足够腐蚀,检测出的细线被消除,图中的孔缩小分开了,可以统计数量。
图c,腐蚀后的孔被扩大,其大小很接近其原来的大小,这称为‘孔被打开’,所用的修补元素为多边形。
区域测量
描述整个视野属性的测量称为视野测量,由其产生的数据称为视野数据,参数的示例如视野面积、视野周长。
之所以称为视野数据,是因为它表示的是测量框中所有对象的总值,不管它们是否相连或分开。它有别于特征对象数据,后者是位于测量框内每一被分离的‘块’或特征对象的值。尽管如灰度分布测量、灰度曲线测量等也可看作是视野数据,这些术语还是多用于对二进制图像的测量。

我是砖家
结帖率:
100%
关注:0 |粉丝:0
新手级: 新兵
第三章 高级图像处理技巧
前一章介绍了应用图像分析系统的一些主要概念。回想一下,可将图像分析的步骤总结如下:
1.    获取图像
2.    产生灰色图
3.    如果需要,作灰图处理,以增强目标特征对象。
4.    设置阈值,产生二进制图像,检测目标特征对象。
5.    如果需要,处理二进制图像,以进一步提高目标特征对象的定义。
6.    作所需测量并输出结果
本章将解释第三第四步所说的处理技巧在实际应用中是怎样应用的,要求你对怎么样正确检测特征对象及进行基本测量有一些工作经验,如果没有的话,请你还是先复习第一、二章的内容。
3.1 为什么需要图像处理技术?
我们常发现目标特征对象难于检测,请记住:灰度阈值是全盘操作,它假定要检测的特征对象全部位于相当一致的灰度值范围内。图3.1显示的是含杂质的抛光金属。杂质对于高反射率的背景有较好的对比度,因而可能轻易地指定一个能标识出杂质的灰度范围。图3.2表示的是一个类似的样品,塑料中含有的气泡,在白背景下看起来是黑色的对象,但从灰度阈值得到的结果却不太令人满意。
在实际应用中,在检测特征对象时常常会遇到这样那样的问题。我们会经常发现,一些不需要的斑点,如杂质、斑点及阴影等,会减小特征对象的标识精度,或者,在极端情况下,使我们根本得不到任何有意义的东西。在图像分析的范围内,其目标是图像内容测量结果的准确及可重复性,图像处理技术给我们提供了一套可以使用的工具,它们可使目标区域可被精确、重复地检测,因而提高了测量结果的质量。


图3.1 含杂质的钢 因为对比度好,杂质检测非常容易。



图3.2 塑料中的气泡 由于背景局部光照的变化,气泡的检测受到影响。
3.2 决定是否使用图像处理技术
首要决定是是否需要使用图像处理技术。有许多的图像,它们提供了高对比度,对特征对象的检测可轻易地设定阈值,并不需要图像编辑或处理。虽然,图像处理技术经过多年的发展,已经得到很大地提高,对于一些困难的分析问题,研究出了一些复杂、有用的解决办法,但要请住的是,越是操作程序复杂的方法,越难设置,对于一定范围内的图像,其可靠程度就越小。
当检测产生的二进制图像与目标特征对象不太相似时,我们求助于灰图处理,也如二进制处理一样,灰图处理的类型取决于检测问题的性质。当你使用图像分析系统有了一些经验之后,你对特征对象的合理表示的判断能力便会提高。象形态转换技术一样,我们为你提供了一些示例,以帮助你了解是怎样应用这些方法的。以下列表,尽管不是很全面,表明了怎么样应用具体的图像处理功能来解决一些常见的问题。
问题    尝试…
特征对象中有孔    二进制处理中用孔填充(fill holes),灰图测量中用填黑(fillblack)或填白(fillwhite)
边界堵在一起    打开(open)及关闭(close)
有杂质    二进制处理中用打开(open);灰度测量中,对于白色杂质用打开(open),对黑色杂质用关闭(close)
特征对象相连    二进制处理中用分段(segment);灰度测量中,用阈值技术(watershed)
杂质呈阵列 如第二层颗粒位于颗粒边界结构中    二进制处理,用线性打开及重建(linear open & build);灰度测量中,对黑色特征对象,用线性关闭(linear close using build black),构造黑块; 对白色特征对象,用线性打开,构造白块(linear open using build white)。
特征对象的灰度值不一致    梯度转换(gradiant)-->阈值定义特征边界,然后填空(fillholes)
我是砖家
结帖率:
100%
关注:0 |粉丝:0
新手级: 新兵
3.3图像处理类型
有许多的图像处理类型,对于深入的描述,可以参考几本书(见Bibliography)。表2中列出一些最常用的图像处理类型,及它们的一些应用。
图像处理类型    应用
查询表(LUTS)    对比度增强,数学操作,伪彩色
数学形态转换    平滑,变细,阴影纠正,边界检测,对比度增强,孔填充,骨架化,测量,形状识别
转换法    平滑,变细,边界检测
数学法    图像比较,图像合并
外转转换    平滑,变细,边界检测,周期性分析,图像相互关系,形状识别
本章我们重点介绍查询表,数学形态转换及卷动法
查询表
查询表,或叫LUTs,在整个图像处理系统中都要用到。图像获取及图像处理硬件用查询表来完成与模-数转换、图像数学比较有关的任务及其它许多功能。在作图像对比增强时,QWin还为用户提供了操纵查询表的功能(请见图像菜单,查询表项)及伪彩色处理(见图像菜单,显示项,用户指南,第四章)。
灰度查询表
查询表用于重新度量图像的灰度值。查询表的名称由此得来:图像中的每一象素通过了一个值表,一个给定的象素,其灰度值为g,它的值被转换成在表中找到的第g项的值。
比如,如果我们要将图像反转,以使灰度值被如下重新映射:
0    255
1    254
2    253
…    …
255    0
则,我们只要如下定义一个查询表即可(见图3.3)
输入图像中每一象素的灰度值作为表中的序号,在表中找到的值用于创建输出图像
实际应用中,LUT是相当有用的,你可以定义提供对比度增强及图像数学比较功能的查询表,比如,你想将图像中每一象素的灰度值除2,其实并不需要读出图像中每一象素的值再去作除法,而只需要定义一个具有每一象素灰度值应有的值的查询表,见图3.4
类似地,你可以建立一个查询表,用一些常数乘上每一象素的灰度值(提供对比度增强)及加上或减掉一个常数(提供白度调节),从而操纵对比度及白度。这就是你可以在QWin用户自定义LUT对话框里可以做的事(在图像菜单,LUT转换项下可找到),从这里,你可以调节坡度(对比度)及偏移量(白度),将LUT的内容相关到输入图像的灰度值上即可。
用适当的LUT转换,你就可以实现一些有用的对比度增强效果,
尽管由LUT转换得到的结果可能会相当有吸引力,重要的是记住,效果是更注重质量而非数量。尽管结构等同法在决定一幅低对比度图像中有什么样的信息时很有用,但在处理过程中,并未提高真正的灰度分辨率。事实上,在LUT转换过程中,真正的灰度分辨率可能被降低了,因为在一些操作中,不同的灰度级别被重新映射到了同样的灰度级别,当灰度值接近0或255时,更容易发生这种情况。更有甚者,用LUTs增强或降低对比度时,可能会适得其反:其效果是增强了阴影或杂质,或使目标特征对象的对比度被降低了。尽管如此,它的好处还是占多数,从查询表转换操作得到的好处仍然使得它成为了一种流行的图像处理操作方法。
伪彩色LUTs
LUT的另一用途类型是产生图像的伪彩色。伪彩色是对图像的一种假的彩色转换,即每一灰度值被赋予一种相应的红、绿、蓝(RGB),见图3.8。将RGB颜色构成混合,就形成了最终的有色彩的显示。
3.4数学形态转换
数学形态学是数学的一个分支,它特别适合于解决图像分析问题。它是一套图像处理的系统方法,由一系列处理步骤组成,以获取图像中的信息。形态学方法的一个优点是,它以一种受控的方式摒弃信息,消除无关细节,使图像更易分析。相比之下,较知名的卷动处理类型(本章稍后将讨论),它以一种可视的形式改变图像,但常常保留了无关信息,因而难于获得有用(所期望)的结果。
应用形态方法,可以解决很多很费神的图像分析应用问题,如果用其它分类、非形态学方法,则其中许多问题将很难于解决。形态方法提供了一种受控的图像信息简化方法,使得它相对于其它多数方法,如卷动法及边界转换法等,是一种首选的方法。当然,在一定环境下,每一种图像处理方法相对于其它方法都有它的优点,但经验表明,对于大多数图像分析问题,要想得到是精确和有用的图像内容测量结果,形态方法应是你首选的方法。
值得注意的是,通用的图像分段技术还没有发明出来,这即是说,对于一幅给定的图像,没有一套特定的操作过程能够从中抽取出感兴趣的特征对象。尽管对于一定范围内的样品类型,有可能作出通用的算法,但这些方法中的参数需要调整以获得最佳结果,而且只要稍作努力,就可以找到一样图,使得这种方法失效。这些并非是坏事。总之,最佳的形状认知系统还是人眼与人脑,但我们中的多数却又很轻易地被光晕及虚假现象所迷惑。图像处理的目标不是建立一种能够所有可能情况的方法,而是用来克服那些不能用更换样品准备或显微摄影能修正的问题。
本章讲述了形态方法的实践初步,希望能够消除对形态方法的神秘感。但是,应当认识到,对于较为费神的问题,还需要对形态方法的深入理解。正如演奏乐器一样,可以轻松地讲述演奏机制,但成功的演奏还需要耐心、投入,还有最重要的,即坚持练习,形态方法可以轻松详细描述,它们用法的精妙之处,只有在对它们的应用有了经验之后,才可以完全理解。有很重要的一点是,也就是你付出的努力越多,应用起来就越熟练,你的收获就会越大。
3.5二进制形态
可以将二进制图像想象为一个由象素组成的格子,其中有象素的地方值为1,没有象素的地方值为0,如图3.9所示。二进制图像对于图像处理是必须的,因为图像分析仪需要用户定义图像中的哪些象素需要测量。未经处理的灰度图或彩色图,未被分段,形成需要测量的区域和不需要测量的区域,因此,对于这些图像,域及特征对象显得模棱两可,由此而产生的二进制图像,对于Qwin来说,目标定义也就显得模棱两可了。
我是砖家
结帖率:
100%
关注:0 |粉丝:0
新手级: 新兵
因此,要得到精确的测量结果,必须有精确的二进制图像。然而,二进制图像常常不能充分体现出目标特征对象。二进制图像处理可用于提高特征对象检测,对于多数情况,二进制图像处理由增加、删减、平移,选定和排除周围的象素。这些操作就组成了二进制形态图像处理的基础。
与、或及平移
二进制形态方法的基础操作是与、或、平移。它们是集合的数学运算方法,但对于图像处理来说,它们是逻辑操作。与,体现两幅二进制图像中的共同象素,其值设为1(相当于数学中的乘)。或,体现两幅二进制图像中所有的象素,(相当于数学中的加)。平移操作,只是将图像在x、y方向上平移给定数量的象素。
它们不但在二进制图像的比较及合并中有用,这些功能还构成了形态转换方法:腐蚀及扩大的基础。
腐蚀及扩大Erosion & Dilation
它们是二进制图像形态方法的基本转换方法(参见BINARY菜单项下的二进制修补项,用户指南第四章)。腐蚀,是在二进制图像中从边界处消除一些象素。应用连续的腐蚀,当连续层被消除后,特征对象将会缩小,直至消失。图3.10演示了腐蚀操作的效果。
扩大,是腐蚀方法的互补操作。在扩大过程中,边界处被增加一些象素,连续的扩大将使特征对象增大,特征对象开始合并,直至整幅图被覆盖。图3.10中还演示了扩大的效果。既然扩大是腐蚀的互补操作,有时可以认为对选定象素的扩大,是对未选定象素即背景的腐蚀操作。腐蚀及扩大的这一双重性质(腐蚀特征对象等于是对背景的扩大,反之亦然)将在检验对灰度图进行形态转换处理的效果时特别有用。
你将会注意到,在腐蚀及扩大操作中,特征对象边界的细节被降低了。特别是,腐蚀倾向于消除特征对象外端消失,而扩大的互补效果使背景的外端消失。因此,它们都有平滑边界的效果。
怎样使用腐蚀及扩大的一个简例是特征对象边界的形成。一旦腐蚀操作消除了特征对象的所有边界象素后,如果我们将腐蚀的图从原图中抽取出来(用异或法),我们将仅能标识出那些边界上的象素(参见BINARY菜单,二进制逻辑操作,用户指南,第四章)。这是特征对象的内部轮廓线,因为轮廓线正好是特征对象内部。如果我们要想得到特征对象的外部轮廓线(正好是特征对象边界的外部轮廓线),则用扩大而非腐蚀,再提取不同部分。
结构元素(操作符)
为了理解腐蚀用度扩大的隐含机制,得必须介绍结构元素,亦称操作符。结构元素定义了腐蚀及扩大操作的行为。腐蚀一幅图像时,必须检查图像中的每一象素,并与其邻点象素进行比较,因为图像是由方形象素格组成,位于33的象素格中,一个给定的象素p,可以有8个邻点,n1-n8
打开及关闭 Open & Close
可以合并腐蚀及扩大序列,产生打开及关闭过滤器。打开,即腐蚀操作之后再作等量的扩大。打开的效果是在腐蚀过程中消除细节,再在扩大中将特征对象恢复到原来的大致尺寸。
关闭是扩大后再作等量腐蚀。关闭的效果是在扩大过程中将背景中空白结合在一起,再在腐蚀过程中将特征对象恢复至原来的大致尺寸。
打开及关闭常用于过滤图像中的杂质及斑点。在打开过程中,一些小的特征对象,如杂质,如果它比打开量小的话,则被消除。关闭则填充丢失的象素,如在特征对象中及沿特征对象边界找到的一些黑色杂质。
打开及关闭具有平滑特征对象边界的效果。图3.14显示了打开及关闭怎样影响一个边界粗糙的特征对象。你可以看到打开操作,由于初始的腐蚀,使得最外端消失,因而减少了特征对象的大小,事实上,一幅打开的图像总是与原图具有相同或较少的象素。而且,打开的图像中的象素不可能超出原图中的象素。
关闭,由于初始的扩大,使得特征对象边界的最外端边在一起,因而增加了特征对象的大小。事实上,一幅经过关闭操作的图像,比起原图来,它的象素与原图相同或稍多一点。你可以期望关闭图像中的象素超过原图中的边界,但超过程度取决于特征对象的形状,及它与其它特征对象的接近程度及所用的结构元素。
我是砖家
结帖率:
100%
关注:0 |粉丝:0
新手级: 新兵
关闭的另一作用是定义图中的特征对象簇。请看图3.15,很清楚,特征对象被扩大化了,因为它们并未相连,开始时它们未被连在一起。关闭可用于生成一个单一的特征对象,这由关闭中的扩大步骤完成,使所有的特征对象形成了一个大的特征对象,而随后的腐蚀操作又将这一簇特征对象大致恢复至近似其边界轮廓的尺寸大小。
二进制修补的最常用的两个用处是用以消除小特征对象及平滑边界。打开及关闭是完成这一功能的极有用的工具。尽管在大小(还有其它参数)的基础上,应用特征对象测量及特征对象接受方法也可做到这一点,但形态方法仍有其优点。消除小对象时,应用打开方法的一个优点是,在修补对话框中进行操作时,可以立即得到交互效果。当交互地改变打开的大小时,Qwin很快地显示出每一步操作的结果,帮助你决定所需打开的适当程度。另一个好处是,打开操作的速度与图中特征对象的数量无关,而特征对象测量必须测量所有的特征对象,然后再对所有的特征对象进行排序,决定哪些太大或太小,由于这个原因,在测量前如果用打开法将任何杂质及斑点过滤掉,这将非常有用,对于多数情况,能提高图像分析的整体速度。
在消除对象时,用打开法与特征对象测量法相比,也存在一些缺点。打开/关闭操作对特征对象有平滑效果,改变了它们的形状及大小。平滑程序取决于原特征对象的平滑程序、所用结构元素及循环次数。因而,特征对象测量方法提供的结果要更精确一些。但是,有一些技术可以重构在腐蚀、扩大、打开及关闭操作中损失的细节,这些方法将在下一章节中讨论。
重构技术
二进制形态操作,如腐蚀及扩大,通常假定是对整幅图进行操作,由图框定义。有时,需要将修补区域限制在由另一个“屏蔽”二进制平面区域内,此时,屏蔽平面定义了合法的操作象素,在处理过程中,未被设置在屏蔽平面内的象素应保持不变。这即是说,在目标图像及屏蔽平面之间建了一个屏蔽,当进行操作时,如用这个限制作扩大操作时,我们称这种操作为屏蔽扩大。在Qwin里,有许多操作会用屏蔽图像进行,几个用到屏蔽的有用操作是预先定义的,如构造操作(在BINARY菜单下二进制分段对话框中可找到)。
屏蔽 操作的一个主要用途是用在图像重构中。如前提及的,应用打开方法来过滤杂质及斑点时,有一个潜在的缺点是,边界中的细节被降低了。重构技术可以将打开过程中未消失的特征对象的边界完整性恢复。用屏蔽扩大技术即构造操作可实现这一功能。
重构(build)操作用第二幅图像作为屏蔽,对一幅图作无限屏蔽扩大操作。如果我们将用扩大的图称为种子图,则屏蔽扩大只是将由屏蔽图边界所限制的(见图3.16)种子图长大。最后,种子图中不断长大的特征对象将完全充满与屏蔽图中一致的特征对象,因为屏蔽扩大不能超出屏蔽图中的边界,进一步的扩大将没有效果。所以,无限的屏蔽扩大是一种受屏蔽的二进制扩大,直到再没有变化。
在这个示例中,特征对象的中心用作种子。环代表种子连续扩大的迭代,它受限于特征对象,用作屏蔽图像。
达到了进一步的操作却没有进一步改变的操作被称为达到饱和。
孔填充及标识 Hole filling & identification
在二进制图像中最常发现的一个问题是,检测到的特征对象中常有孔眼。在二进制图像中,孔的定义是,一个内部象素未被选定的区域(其值为0),并被值为1的象素完全包围。图3.17中显示的一个孔的示例。应用二进制标识法,这些孔可被标识出及填充。
记住,孔被定义为未被选定的象素且未连到背景上。这里,背景的定义相当严格:我们批的背景是指,一组未被选定的象素,它们与图像的边界完全相连。
分清了这些术语后,我们现在可以简单地说,孔是那些从图像边界开始,用屏蔽扩大但未被重构的面积。这句话的意思是,如果我们将特征对象二进制图取反(即孔及背景象素现在被选定了),然后,用沿着图像边界的象素作为“种子”,作一个屏蔽扩大,背景中的所有象素将被标识,因为,根据定义,它们是连到图像边界的象素,又因我们仔细地说过,“孔”是指那些未连到图像边界的象素,因此,用屏蔽扩大法未被标识的象素必定是孔。
必须牢记孔的定义,因为你可能遇到特征对象中的孔与孔边界非常接近的情况,在这些情况下,当特征对象边上只有少数象素损失时,孔便与背景相连了,你看起来是一个非常明显的孔,但图像分析仪不这么认为(见图3.18)。这时,你应将图像扩大几次,使这些小沟填充起来,也填充孔,再将图像腐蚀,将特征对象恢复到它们原来的大小。
我是砖家
结帖率:
100%
关注:0 |粉丝:0
新手级: 新兵
消除与图像边界相连的特征对象
屏蔽扩大用于标识与图像边界相连的特征对象。将与图像边界相连的孔标识出来常常是有用的。尽管处理边界效果的首选方法是恰当的使用图像及测量框,以定义测量保护区域,但在有些情况下,用户可能只希望消除所有与图像边界相连的特征对象。(比如,有的用户更加关心每一测得的特征对象数据是完整的,而非丢失非常大的特征对象。)
可用形态方法来消除与边界相连的特征对象。至于孔填充,如果我们将沿图像边界的象素当做“种子”,含有特征对象的二进制图像作为屏蔽图,屏蔽扩大将只重构那些与图像边界具有相同象素的特征对象。然后用逻辑异或操作,将它们从原图中抽取出来,如图3.19所示。


图3.19消除与图像边界相连的特征对象,a) 检测出的颗粒边界,b) 取反的边界,表示颗粒,c)与边相连的特征对象 d)消除与边相连的特征对象之后保留下来的特征对象
线性打开及关闭 Linear open & Linear close
可以复合应用有线性结构元素的打开及关闭操作,创建对拉长的特征对象较为灵敏的过滤器。线性打开,即用指定大小的线性结构将图像作打开操作后,再将它们进行联合(即取或)起来。线性打开,将位于一个或多个打开方向、被延长的特征对象保留下来,而将非延长特征对象去掉。
线性关闭是线性打开的互补操作。它是在用指定大小的线性结构将图像作关闭操作后取它们的交集(即与)而成的。线性关闭针对图像背景进行操作,将位于一个或多个关闭方向、被延长的特征对象保留下来,而将非延长特征对象去掉。
一般来讲,有8个打开方向,22.5度的分辨率。线性打开或线性关闭的次数用得越多,则图像越需要用测量扩大(对线性打开)或测量腐蚀(对线性关闭)来重构。
框架法及特征点 Skeleonization
有一类与Hit-or-Miss转换不同的操作,可用于创建图像特征对象的条件变细或加厚。如腐蚀一样,变细会减少特征对象的大小,但通常可以构建一些细化HMTs,可将特征对象缩小到只有一个象素宽。这种细化类型称为框架法,因为当把特征对象变细到只有一个象素宽时,这根象素线象特征对象的中心框架(参见图3.20)。无穷的骨化,使得对象的大小不断减小,直至找到介质轴线,所以我们说骨化是一种饱和操作。


图3.20 骨化示例
我是砖家
结帖率:
100%
关注:0 |粉丝:0
新手级: 新兵
不象腐蚀法,多数的骨化形式并不改变特征对象的数量,并且保持一个特征对象位于另一特征对象内部的关系,(如一个特征对象位于另一特征对象内部中的孔内)。这种现象称为”共生”。因而,腐蚀及扩大操作不能”共生”,因为在腐蚀或扩大过程中,特征对象可能轻易地就消失或是连到了一起,但骨化操作确能保留”共生”,因此,你可以相信,在骨化操作前后,特征对象的数量不会改变。
应用骨化图像的多数应用是为了标识图像中的特征点,如相交及结束点。当图像被骨架化后,再作进一步的Hit-or-Miss转换,可以标识出三重点,即有超过三个被选定邻点的象素,这种情况是由于两个骨架线相交在一起而产生的。当标识出两骨架线相交处的三重点后,就可以将它们消除,将骨架线分断,划入它们各自所属部份的段。用于将相交的纤维分离时,这种方法很有用,在我们能正确标识出相交的纤维前,我们必须弄清怎样清除已骨架化的图像。
用枝剪法清除骨架线 Pruning
骨架化后的图像经常含有许多的分枝或节头。(见图3.21)它们可能代表特征对象中真正的分枝,或可能是由象素格的数字属性引起的,骨架化的,这些节点可能会导致标识出太多的终点或相交点。为了减少这种效果,可以给骨架线来一个剪枝,即是去掉那些终点。通过多次剥除终点或任何比枝剪量短的节点后,骨架线就变短了(见图3.21)。


图3.21 用枝剪法消除节点,上图为检测出的特征对象,中图为骨架线,底图表明多次枝剪后可消除小分枝。
在实际应用中,只用几次(1-50)枝剪,通常可能标识出相交或终点等特征点。无穷次的枝剪,可以消除任何不含有孔的特征对象,但有孔的特征对象将被缩小成围绕孔、没有终点的一根骨架。
反转骨架及Skiz
正如腐蚀操作有一个互补的扩大操作一样,形成骨架的变细操作也有一个互补的操作,即加厚操作。加厚可以认为是背景的骨架,因为当特征对象被加厚后,背景当然就被变细了,甚至于缩小到单一的背景线。当不断地将特征对象加厚,直至它们只由一根单一的背景线分开时,就形成了反转骨架或黑色骨架(见图3.22)。


图3.22 反转骨架,原来的特征对象(灰色显示)被加厚,填满了背景空间,黑色线表示反转骨架的边界。
跟前面讨论的白色骨架一样,也可以给黑色骨架打枝,消除反色的节点。无限黑骨架及无限反色枝剪,将产生影响区域骨架,或称Skiz。图3.23显示的是一幅由Skiz操作形成的一群特征对象及边界线。每一个特征对象位于它自己的影响区域内,影响区域之间由一个单象素边界分开。


图3.23
记住,还可以用测量屏蔽平面来约束形态转换操作,对骨架也一样。对测量样式的skiz有特别兴趣的话,可以查看QWin分段对话框,即GDSSkiz操作,它在解决特征对象分段问题上有许多用处。以下将讨论几个这种应用,及它们怎样与其它基本的二进制形态操作进行组合操作。
我是砖家
结帖率:
100%
关注:0 |粉丝:0
新手级: 新兵
骨架及skiz应用
骨架及skiz应用非常有用的形态转换工具,特别是当它们与前面所讲的其它形态转换方法结合起来使用时,以下几个章节将演示怎样用这些方法来形成有趣的解决方法。
分离聚结在一起的对象-从Masker重构
当目标对象相连或相搭在一起到一定程度时,许多问题就产生了。因为特征对象的定义是由一些相连、被选定,由未被选定的背景边界包围而成的象素,则两个相连的特征对象就会被当成一个特征对象测量。这种情况就称为特征对象的聚结。但这些特征对象块可被打散,即分开,使用的标准图像编辑方法有:二进制编辑对话框中的剪切功能,消除相连区域附近的象素,创建两个分离的特征对象,这项功能可在二进制菜单下找到。
以上功能通常就足够了,除非在大量的特征对象相连,如图3.24所示,对此,如果用手工查找所有的特征对象相连的地方,将是一件非常烦琐的事情,但使用以上讨论的二进制形态转换方法,对于这个问题,我们就可得到一种自动的解决办法。


图3.24 聚结在一起的特征对象。
基于形态转换操作的多数特征对象分离技术都涉及到以下2步:
1.    标识出一个标志点,它将每一个特征对象表示为一个单独的对象。
2.    从标志点重构每一特征对象,并尽可能恢复到它们原来的大小。
标志点用于许多更加有趣的形态转换技巧中,从中你会体会到重构的概念。许多的操作如骨架及腐蚀(极限腐蚀、外端及倾斜度功能,以后将讨论),都可被看成是用于标识标志点的工具。其它操作,如屏蔽扩大及屏蔽skiz(距离函数,屏蔽灰度扩大,分界功能,稍后将讨论),可被看成是重构操作。
因而,要解决一个简单的特征对象分离问题,首先,我们需要给每一个特征对象标识出一个唯一的标志点。对于图3.24的情况,我们可将情况分为:特征对象相连但未互相覆盖,与二进制图像相连的地方比, 特征对象要小。这意味着,在腐蚀特征对象时,较狭窄的地方要被腐蚀光了,但特征对象还存在。经过适当数量的腐蚀后,我们就完成了分离的第一步:如图3.25所示,这些被腐蚀后的特征对象是我们得到的唯一的一群标志点。


图3.25
你应当注意到,这种方法依赖于这个假设:所有的特征对象都比它们相连的最宽区域还要大。如果有一处两个特征对象相连的区域比其它任何特征对象都要大的话,用于将这两个相连特征对象分离的腐蚀量将把那些较小的特征对象都腐蚀掉了。
但是,有一种更加复杂的形态方法可用于正确处理这种情况,将在以后的“分段”章节中讲到。当标识出一套好的标志点后,我们就可以着手进行重构,重构过后的特征对象的大小与形状几乎与原来差不多(不可能与原来一样大,因为我们至少要让它们不再相连了)。因为我们是用腐蚀来分离特征对象的嘛,自然我们会想到用扩大来将特征对象长回去,但是,扩大会使即使不是全部也会有很多的特征对象又连到了一块了,所以这是一个错误的选择。我们真正需要的是一种能使特征对象加厚,但又不至于让它们重新连接起来的方法,并能保留特征对象的数目不变(即保持同伦),在特征对象之间的边界只有一个象素宽。至此为止,在我们所讨论的方法中,skiz操作看起来是首选。
对腐蚀过后的特征对象作skiz操作,其操作结果风图3.26。我们可以看到skiz真还有点没有辜负我们的期望。但是,特征对象的边界被加厚得太大,超过了特征对象应有的边界。
我是砖家
结帖率:
100%
关注:0 |粉丝:0
新手级: 新兵


图3.26被腐蚀后的特征对象的skiz操作结果。
因而,我们真正需要的是对skiz进行限制,使其只在原图特征对象内进行,这就是前面所提到的屏蔽Skiz。用原二进制图像作屏蔽平面,对腐蚀的特征对象作屏蔽Skiz 操作,就得到了如图3.27所示的特征对象图像,其分离效果相当令人满意。


图3.27 图3.25所示腐蚀特征对象的屏蔽Skiz 操作结果,用了原图的特征对象作为屏蔽图。
标识相交的纤维
相交的纤维代表图像分析中一个特别困难的问题,且,对于多数的样品准备来说,多数的解决办法是在有限的结果及手工编辑之间进行折衷。对于所有准备的样品来说,不存在所谓通用的自动测量的方法。但对于一定范围内的样品,一些技术确能产生较好的效果。请看图3.28,结合这幅图,我们将讲述一些这样的办法。


图3.28 相交的玻璃纤维
第一步是将纤维分成两组:相交的和未相交的。由以下步骤来完成:
1.    对黑块设置阈值,检测出纤维
2.    用无穷细化操作,骨架化纤维
3.    给骨架线打枝几次(一般5-10次,取决于放大倍数),清除不需要的分枝。
4.    标识出三重点(相交点,见图3.29a)
5.    用原图作屏蔽图,三重点为种子,运用构建功能,重构相交的纤维(见图3.29b)
6.    再用逻辑异或功能,找出未相交的纤维



图3.29  图a纤维骨架,三重点已被标出 图b 用原图作屏蔽,三重点作种子,用屏蔽扩大操作,标识出了相交的纤维。
当分开之后,对未相交纤维的测量就可直接进行了。对于未相交但有覆盖的纤维的测量技术随样品类型及样品准备情况而变化。对于相交点相对较少的直纤维,你可以移掉三重点,给纤维分段,再用特征对象方法测量,对分段进行排序,重构它们的长度。当相交纤维聚集越厉害时,这种方法就失去效果了,主要原因是以小角度相交的纤维太多。对于这些情况,你可以对原图作线性打开,在每一个方向上接收特征对象,能否成功取决于所需打开数量及纤维的厚度。在实际应用中,一个最重要的因子还是相交少,密集度低的纤维样品。
极限腐蚀
极限腐蚀是正常腐蚀的变化类型,它可以防止特征对象被彻底地腐蚀掉。请看图3.30中的球体图像,如果我们用腐蚀+屏蔽Skiz方法,对特征对象作分段,其结果是不能令人满意的,部分原因是为了将一部分特征对象分离开,所需的腐蚀量较大,而这却使一些较小的特征对象被腐蚀掉了,不能给屏蔽Skiz操作规程留下标志点作重构操作。
猜你喜欢最新推荐热门推荐更多推荐
品牌合作伙伴