用于分析图象结构的方法和装置 本发明涉及对离散的图形元素或象素图象的处理,特别涉及一种用于自动标识和增强由这种图象中的象素所限定的特定结构或显著特征的技术。这种技术特别适用于医学图象系统及其图象模态,例如磁共振图象。
各种用于采集和处理离散象素图象数据的技术已被开发研制出来。离散象素图象由一个象素阵列或象素矩阵构成,这些象素具有不同的特性,如亮度、颜色等。根据所采用的图象模态,可以以不同的方式得到限定每个象素的数据。例如,医学图象模态包括磁共振图象技术、X-射线技术等,但是,一般地,每个象素以一个信号,典型地以一个表示检测到的参数的数字化数值来表示,例如每个象素区域内的受激物质发射或每个象素区域内接收到的辐射。为了便于对图象进行解释,必须对这些象素值进行滤波和处理以增强观测者感兴趣的特性的清晰度。最后,重新构成这个被处理地图象以进行显示或打印。
已采用各种用于增强离散象素图象的技术以便有助于对这图象进行显示,这种技术可以采用标识由图象矩阵内的多串象素或多组象素限定的对比区域、边缘等。平滑和锐化步骤用于显示出特定的边缘或对比区域,或用于使与感兴趣的部分无关的特定区域不被强调。
但是,迄今为止,这些公知的技术并不是总能提供令人满意的灵活性和计算效率。特别是,现有的技术在限定醒目的结构区时需要操作员的介入,有时在达到可接受的最终图象效果之前,需要根据操作员的调整,对原始数据进行多次处理。而且,系统之间和一个系统的图象之间在图象信号采集、处理和显示电路上的变化导致了限定一个图象的象素之间的关系上的相应变化,从而不能始终如一地检测、处理和显示一个对象中令人感兴趣部分的结构。因此,在一个图象内和在一组图象之间都难以对结构、纹理(texture)、对比度以及其它图象特征进行观测和比较。其结果是,使参与提供这些图象的医生或放射学家对相关的结构做出解释增加了难度。
本发明提供了一种标识离散象素图象中的醒目的结构区的技术。在一个实施例中,该技术利用为每个象素而生成的梯度数据自动确定一个用于区分所产生的图象中的结构特征和非结构特征的梯度阈值.在选择用于限定图象结构区的梯度阈值的过程中所采用的参数,可以由操作员来设置或修改,或取决于隐含值,从而提供了灵活性并且可以根据需要而减少操作员的人工介入。还可以根据图象的矩阵大小来改变用于限定图象结构区的参数。该技术还适用于从图象的结构区中分离出较小的有干扰区域,以节省计算量的方式标识出这些区域,并由隐含值或操作员选定的值来限定它们的尺寸。通过平滑和锐化过程,所生成的结构区被进一步增强。该技术可广泛应用于从各图象模态中采集的图象类型。
图1是用于增强一个对象的离散象素图象的磁共振图象系统的示意图;
图2是由一个象素矩阵构成的离散象素图象的示例,其中用于限定结构区和非结构区的象素具有不同的亮度;
图3是用于处理一个离散象素图象以便标识其结构区并增强该图象中的结构区和非结构区域的控制逻辑示例的流程图;
图4是用于标识一个离散象素图象中的结构特征的控制逻辑示例的流程图;
图5是用在图4的步骤中的用于生成图象的每个离散象素的梯度(gradient)分量的元素或模块图;
图6是用于标识将结构区从图象中的非结构区中分离出来的梯度阈值的图象的梯度直方图;
图7是用于从结构区清晰度中有选择地消除较小或有干扰区域的控制逻辑示例流程图;
图8是用于通过二进制秩序滤波对图象中标识出的结构特征进行处理的控制逻辑示例流程图;
图9是用于对一个图象中标识出的结构进行定向平滑的控制逻辑示例流程图;
图10是用于执行图9所示的处理过程中的主向定向平滑的控制逻辑示例流程图;
图11示出了图10所示的定向平滑过程中所采用的方向索引;
图12是用于通过图9所示的过程执行局部定向平滑的控制逻辑示例流程图;
图13是用于对一个离散象素图象中的非结构区域进行均化平滑的控制逻辑示例流程图;
图14是用于对一个离散象素图象中的结构区域进行定向锐化的控制逻辑示例流程图;以及
图15是用于重新采用一个离散象素图象中的非结构区域的特定纹理特征的控制逻辑示例流程图。
参照图1,一个磁共振系统10包括一个与用于采集和处理离散象素数据的电路相耦合的扫描仪12。扫描仪12包括一个其中可放置一个主体(subject)16的支撑结构14,用于采集表示内部特征的图象,如组织、流体等,扫描仪12包括一个电磁构件18,用于以所属技术领域内所公知的方式产生一个电磁场。在扫描仪12中还提供了励磁和读出线圈20,以用于激励主体16中的旋磁材料和读取来自该材料的发射。
由线圈20感测到的信号被编码以便提供表示主体内特定位置所发出的激励信号的数字值,并将这些信号传输到信号采集电路22。信号采集电路22在特定的图象采集序列中还提供用于配置和协调线圈20发出的场强(fields)的控制信号。信号采集电路22将编码图象信号发送到一个信号处理电路24。信号处理电路24执行一个存储在存储电路26中的预先设立的控制逻辑程序,对从信号采集电路22接收到的信号进行滤波和调节,以提供用于表示所获得的图象中的每个象素的数字值,然后,这些数值被存入存储电路26中,以备后续的处理和显示之用。
信号处理电路24通过一个输入接口电路30接收来自一个输入设备28的配置和控制命令,输入设备28通常包括一个操作员站和键盘,用于有选择地输入配置参数和控制特定的图象采集序列,信号处理电路24还通过一个输出接口电路34与一个输出设备32耦合。输出设备32通常包括一个监视器和一台打印机,用于在由电路24执行的图象增强处理的基础上,生成重新构成的图象。
应当注意的是,虽然在当前讨论中参照了由磁共振图象系统生成的离散象素图象,但是此处所描述的信号处理技术并不受限于任何一种特定图象模态。因此,这些技术也可以适用于通过X-射线系统、PET系统以及计算机层析X-射线照相系统等得到的图象数据。还应当注意的是,在所述的实施例中,信号处理电路24、存储电路26、输入和输出接口电路30和34被包含在一个编程的数字计算机中。但是,用于实现此处所述的技术的电路也可被配置成专用微处理器、模拟电路或数字与模拟电路的组合中的适当程序。
图2示出一个通过系统10产生的离散象素图象的例子。图象36由一个40行42列的离散象素矩阵构成,每个象素38彼此相邻排列。这些象素的行和列提供了预先设立的矩阵宽度44和矩阵高度46。典型的矩阵尺寸包括256×256象素;512×512象素;1024×1024象素等。可通过输入设备28选择特定的图象矩阵大小(参看图1)并且可根据诸如要成像的主体和所需的分辨率之类的因素来改变图象矩阵的大小。
如图2所示,图象36包括由较长的连线构成的结构区域48,其中的较长连线是由相邻的象素限定而成的。图象36还包括位于结构区域48外围的非结构区域50。图象36还包括不同大小(即相邻象素的个数)的游离后生物(artifact)52,它们可以被限定为结构区域,或者按照下述的方法将它们从结构区的限定中删除。
按照图3所示的控制逻辑,标识并增强图象36中的结构区域48和非结构区域50。最好由信号处理电路24根据存储在存储电路26中的适当编程代码来实现这个控制逻辑。由图3中的附图标记60所指示的控制逻辑程序从步骤62开始,对信号增强处理中所采用的参数进行初始化。这个初始化步骤包括读取后面讨论中所述的各参数的隐含值和由操作员选定的值,例如将要从结构区中删除的较小区域的大小、焦距(focus)参数等。如果需要,可以通过输入设备28对一些特定参数进行提示,例如图象矩阵大小,使操作员可以在几种参数选择之间进行选择。
在步骤64,信号处理电路24收集并归一化所获得的用于限定图象36的象素的原始数据,在所述的实施例中,此步骤包括读取表示每个象素处的亮度的数字值,并将这些亮度值标定在一个希望的动态范围内。例如,确定图象中的最大和最小亮度值并利用其来确定输出设备32的整个动态范围上的定标因数。而且,将一个数据补偿值加到每个象素值上或从每个象素值中减去一个数据补偿值以校正所得到的数据中存在的亮度偏移。在步骤64,电路24对图3中Ir所示的原始图象数据进行上述处理,以提供一个归一化的图象In,它包括被滤波的例如12位的象素值,其跨度为动态范围的一部分,而与采集电路或主体的变化无关。
应当注意的是,虽然当前讨论是以图象36中的亮度值为参考数值,但本技术也可用于处理图象36中被编码以用于单个象素38的数值或其它参数。这样的参数可包括频率或颜色。
在步骤66,信号处理电路24执行一个预定的逻辑程序,用于标识由表示图象单个象素的数据所限定的图象36中的结构区域48。后面将参照图4描述依据本发明技术标识结构区域的各个步骤。在步骤68,于步骤66中标识出的结构区域被定向平滑,如后面的图9-12所述。在所述的实施例中,可以采用不同的定向平滑技术,如采用主向定向平滑以试图使结构区域之间的间隔连接起来,或采用局部定向平滑则是为了避免这样的连接。根据一个在步骤66中限定的结构掩码图象(structure mask)Ms,在归一化图象In上执行步骤68。这样,在步骤68中执行的定向平滑将归一化图象转变成一个滤波图象If,这个滤波图象将在后续的处理中被进一步地加工。
滤波图象If被如下处理:在步骤70,信号处理电路24在图象36的非结构区域上执行均化平滑。如下面参照图13的详细说明所述,这个均化平滑用于将非结构区域的特征融入在步骤66标识出的结构区域周围的环境中。在步骤72,在步骤66中标识出的结构区域被定向锐化。后面将参照图14更详细地描述定向锐化的处理过程。然后在步骤74,根据滤波后的亮度值和原始的归一化亮度范围,对滤波后的图象再次进行归一化。最后,在步骤76,出现在图象的非结构区域中的纹理被融入到重新归一化的滤波图象Ifn中,以便为最终的图象提供参照背景。后面将参照图15更详细地描述纹理融合过程,接着在步骤76,合成的象素图象值被存入存储电路26中以便用于图象36的最后重构过程。
图4示出了用于标识图象36中的结构区域并从结构区域中删除较小或有干扰的游离区域的控制逻辑的步骤。如上所述,图4的逻辑以图3中步骤66所述的归一化图象In的象素数据为起点。在步骤80,计算每个象素的梯度分量X和Y。为此可以采用多种技术,而在当前的最佳实施例中,采用了图5所示的3×3 Sobel模块或算符102和104。如所属领域的技术人员所理解的,模块102用于标识X梯度分量,而模块104用于标识每个象素的Y梯度分量。在这个过程中,利用位于3×3模块中心位置上的感兴趣部分的象素,模块102和104被叠加到感兴趣部分的单个象素上,位于每个模块中的元素位置上的亮度值与包含在相应元素中的标量值相乘,并对所产生的值求和以达到相应的X和Y梯度分量。
利用这些如此计算出的梯度分量,在步骤82计算梯度量值Gmag和梯度方向Gdir。在当前的优选技术中,每个象素梯度量值等于相应象素的X和Y梯度分量的绝对值中的较大者。通过求出Y分量除以X分量的反正切值来确定梯度方向。对于X分量等于0的象素,梯度方向被指定为π/2。每个象素的梯度量值和梯度方向值被保存到存储电路26中。
应当注意的是可以采用另一种技术来标识X和Y梯度分量以及计算梯度量值和方向。例如,所属领域的技术人员可以以利用了Roberts或Prewitt算符的其它模块取代Sobel梯度模块102和104。并且可以通过其它方式来确定梯度量值,例如使之等于X和Y梯度分量的绝对值之和。
根据在步骤82中确定的梯度量值,在步骤84生成了一个梯度直方图。图6示出了这种类型的梯度直方图。附图标记106所指示的直方图是具有特定梯度值的特定象素数的条状图。水平轴108上的位置表示这些梯度量值,而纵轴110表示每个梯度量值下的象素数的计数值,每个计数值落在离散级112上,这样产生的条形图形成了一个阶梯形的梯度分布曲线114。正如所属领域的技术人员所理解的,在实际的实施过程中,不必以图形方式来表示图6的直方图,而是通过结合存在存储电路中的值来对信号处理电路从功能上确定该直方图。
直方图106被用于标识一个使图象的结构分量与非结构分量分离的梯度阈值,该阈值被设定在一个所需的梯度值级上,具有等于或高于阈值的梯度量值的象素被认为符合用于限定图象中的结构区的第一判断标准,而具有低于该阈值的梯度量值的象素最初被认为是非结构区的,用于区分结构区和非结构区的阈值最好是通过一个后述的自动处理或“自动聚焦”程序设定的。但是,应当注意,也可以通过操作员的介入(例如通过输入设备28)来设定阈值或由操作员来人工控制通过下述过程标识出的自动值以提供结果图象中的特定信息。
如图4所述,用于标识阈值的过程从在步骤86选择一个初始梯度阈值开始。图6中由116指定的初始梯度阈值被方便地设置成一个与整个象素数的百分率,如30%相对应的值。这样,通过从图6所示的直方图106的左手边邻接于轴110的位置开始加上象素数的计数值并向右移动(即梯度量值递增)来确定IGT值116在轴108上的位置,一旦达到所需的百分比值,相应的梯度值就是指定给IGT的值。在步骤88,对所需结构区的边缘执行一次检索。边缘检索是通过对具有大于步骤86中选定的IGT值的梯度值的象素定位并考虑到感兴趣部分的相关象素周围的5×5个邻近象素进行的。在感兴趣部分的每个象素的5×5个邻近象素中,对具有大于IGT的梯度量值且方向比感兴趣部分的象素方向大一个预定角度的象素计数。在当前的最佳实施例中,一个0.35弧度的角度被用在此比较步骤中。如果5×5邻近计数值大于一个预先设定的数,在本实施例中为3,则将感兴趣部分的象素标识为一个相关边缘象素。在步骤90,生成一个二进制掩码图象(Binary mask image),其中在步骤88中被标识为相关边缘象素的象素的值为1,而其它所有象素的值为0。
在步骤92,反复删除结构区中标识为潜在被选物的较小或有干扰的区段。用于删除这些区段的控制逻辑步骤如图7所示。参照图7,该过程从步骤120开始,其中通过将具有等于或大于一个希望值的梯度量值的象素设定为值1并将其它所有象素设定为值0而得到一个二进制图象。这个二进制图象或掩码(mask)图象与在步骤90(参见图4)产生的图象基本一致。在步骤122,从图象的左上角到右下角,为二进制掩码图象中值为1的每个象素分配一个索引号。掩码图象中每个值为1的象素的索引号是递增的。在步骤124,从左上角开始,通过比较小范围内的邻近象素的索引值来逐行分析掩码图象。例如,当一个象素被标识具有一个索引号时,执行一次四向连接比较,其中将感兴趣部分中的象素的索引号与上、下、左和右紧邻于感兴趣部分的象素的象素索引号相比较。然后将每个连接象素的索引号变为相互邻接的象素中的最低索引号。对整个象素矩阵连续进行检索、比较和重分配,其结果是邻近象素所构成的区域被指定公用的索引号。在最佳实施例中,步骤124中的索引号归并步骤可被执行若干次,如图7中的步骤126所示。最好以相反的方向执行每次后续的重复(即从顶到底以及从底到顶)。
在通过索引号的后续检索和归并而完成了重复之后,索引号象素矩阵将包含由具有公用索引号的象素所构成的连续区域。如图7中的步骤128所示,根据这个索引矩阵,通过分别对具有出现在索引矩阵中的每一索引号的象素数进行计数而生成一个直方图。对于所属领域的技术人员来说,每个分离的由具有索引号的象素所构成的连续区域将具有一个唯一的索引号是显而易见的。在步骤130,从在图4的步骤90所确定的结构区中删除由索引号表示的象素数低于一个希望的阈值的区域。在当前的最佳实施例中,在步骤130中删除了象素计数值低于50个象素的区域。但是,在这一步骤中将被删除的象素数可随矩阵大小以及最终图象中的结构区限定所允许的游离后生物的数量和大小的变化来进行选择。
返回图4,如步骤94所示,利用从在步骤90生成的二进制掩码图象中删除的小区段中的象素,对二进制掩码图象中剩余的象素数进行计数。在结果数值可用于确定一个最终梯度阈值的同时,还发现了用于确定结构区的最终梯度阈值的简便方法包括将一个所希望的象素数加到结果象素计数上,例如,在当前最佳实施例中,值4000被加到在步骤92中产生的二进制掩码图象计数值上以达到图象结构区限定中所需的象素数。这个参数可被设置成一个隐含值或由操作员进行修改。一般地,一个较大的相加值生成一个更尖锐的图象,而一个较小的相加值则产生一个更平滑的图象。从而,可以改变这个在本实施例中被视为“焦距参数”的参数来重新限定被分成结构区和非结构区的象素。
利用上述方法标识出的结构象素的所需数目,如图4中的步骤96所示,根据图6所示的直方图106确定一个最终梯度阈值。特别是,如附图标记132所示,在将每个梯度值的象素数计数值从直方图106的右侧向左移动的同时,对其求和。一旦达到结构象素的希望数(即在步骤94所计算的象素数加上焦距参数),就将相对应的梯度值标识为最终梯度阈值134。根据这个最终梯度阈值,通过使具有等于或大于FGT的值的象素的值为1,其它所有象素的值为0来限定一个新的二进制掩码图象。在步骤98,对所产生的二进制掩码图象进行滤波,以在一个与上述图7和步骤92相同的过程中删除较小的游离区段。但是,在步骤98,索引号归并步骤中考虑到的是八向邻接象素(即包括共享感兴趣部分中的象素边界上的边和角的象素)而不是四向邻接象素。
在图4中的步骤100,对经过前述步骤而被标识出并表示图象中的候选结构区的特征边缘进行二进制秩序滤波(binary rank orderfiltering)。虽然可以将各种不同的技术用于增强这个标识出的候选结构区,但人们发现二进制秩序滤波能够在扩展和限定用于限定结构元素的连续特征部分的适当宽度方面提供令人满意的结果。用于实现步骤100中二进制秩序滤波的控制逻辑如图8所示。
参照图8,以在前述步骤中产生和改进的二进制掩码图象从步骤140开始二进制秩序滤波。在步骤140,电路24判断是否二进制掩码图象中的每个象素的值均为1。如果发现掩码图象中的象素具有值1,则在步骤142执行邻近计数。在这个邻近计数过程中,在感兴趣部分的结构象素周围的3×3个邻近象素范围内,对掩码图象中值为1的象素计数。这个计数值中包括了感兴趣部分的象素。在步骤144,电路24判断来自步骤142的计数值是否超过了希望的计数值m,在本实施例中,步骤144中的m值为2,如果该计数值超过了值m,则将值1重新分配给感兴趣部分的象素,如步骤146所示,但是,如果该计数值没有超过值m,则将值0分配给感兴趣部分的象素,如步骤148所示。在步骤146和148之后,或者如果在步骤140没有发现掩码图象的象素具有原始值1,则控制过程进入步骤150。
在步骤150,电路24再次检查结构掩码图象以判断感兴趣部分的每个象素是否值为0,如果存在值为0的象素,电路24就进入步骤152以计算一个邻近计数值,其过程与上述步骤142相似,特别是,检查了感兴趣部分中的非结构象素周围的3×3个邻近象素并确定了这些邻近象素中具有掩码值1的象素计数值。在步骤154,将该邻近计数值与一个参数n相比较。如果该计数值超过了参数n,则在步骤156将该象素的掩码值变为1。如果该值没有超过n,则掩码象素保留其值0,如步骤158所示,在本实施例中,用在步骤154中的n值为2。在步骤156和158之后,所产生的掩码图象Ms包含用于标识感兴趣部分的结构特征和非结构区域的信息。具体地,掩码图象中值为1的象素用于标识结构区,而值为0的象素则用于表示非结构区。
利用上述方法标识的图象结构区,通过图9所示的控制逻辑执行如图3中步骤68所示的结构区定向平滑,如图9所示,图象结构区的定向平滑以用于相应结构区的归一化值开始,并可根据所需的平滑类型以不同的方式进行。特别是,根据图9中160所指示的操作员输入,一个逻辑判定块162使信号处理电路24转向附图标记164所示的主向定向平滑或166所示的局部定向平滑。如果选择主向定向平滑,则如后面图10所示,对结构象素的亮度值进行处理以产生一个二进制掩码图象M`。在图10所示的重复过程之后,在步骤168对掩码图象M`的值进行估计,并利用乘数α和β在结构亮度值上执行平滑过程,并对所产生的结果值求和,如图9中的块170、172和174所示,后面将进行更详细的描述。
为了说明步骤164的主向定向平滑步骤,现参照图10。如图10所示,以向结构掩码图象Ms中被标识为结构象素的每个象素分配方向标记而开始主向定向平滑过程。在本实施例中,根据每个象素的统计方差,将四个方向标记中的一个分配给每个结构象素,如图11所示。如图11所述,在每个结构象素周围的一个局部邻近象素182内,参照周围象素的归一化亮度值,计算象素核(pixel kernel)在四个方向上的统计方差。从计算出的四个值中选择最小方差的方向并分配一个相应的如图11中的标记184所示的方向标记。在本实施例中,对这些方向标记做如下分配:“1”为45度;“2”为135度;“3”为90度;“4”为0度。这些步骤如图10中的186和188所述。在步骤190,根据图象矩阵的大小,分配一个局部区域阈值。在本实施例中,局部区域阈值6用于256×256象素图象,值14.25用于512×512象素图象,而值23用于1024×1024象素图象。
在步骤192,一个二进制掩码图象M`中的每个象素的值被初始化为0。在步骤194,通过检查在每个结构象素周围的邻近象素范围内于步骤188设定的方向标记,为每个结构象素建立一个主向定向。在这个过程中,对出现在局部邻近象素中的方向标记进行计数,并将具有最大计数值的方向标记指定给感兴趣部分的象素(或在计数值相等的情况下指定位置最低的方向标记)。在本实施例中,对于不同的图象矩阵维数,用于标识步骤194中的主向定向的方向的邻近象素的多少也是不同的。特别地,3×3个邻近象素用于256×256象素图象,5×5个邻近象素用于512×512象素图象,而9×9个邻近象素用于1024×1024象素图象。
在步骤196,将在检索每个象素的邻近象素中所确定的计数值与局部区域阈值相比较,如果计数值超过了局部区域阈值,信号处理电路24则进入步骤198。在该步骤,每个结构象素的亮度值被设置成等于在感兴趣部分的象素的主向方向上的1×3个象素核的平均亮度。接着,在步骤200,二进制矩阵M`中相应位置上的值被从0变为1。如果在步骤196,计数值没有超过特定象素的局部区域阈值,感兴趣部分的象素的亮度值就被设置成等于一个加权平均值,如步骤202所示,这个加权平均值由下式确定:
加权平均值=(1/1+p)(输入值)+(p/1+p)(平滑值);
其中输入值为感兴趣部分的象素在程序164开始时的值,p是一个1到200的加权因子,平滑值是感兴趣部分的象素的主向方向上的1×3个象素核的平均亮度。电路24从步骤200或202返回图9中的步骤168。
再次参照图9,在步骤168,估计二进制掩码图象M`中每个象素的值,如果该值等于0,则在步骤170将相应的亮度值Ii与加权因子α相乘。在本实施例中,因子α为0.45,在块172,所产生的结果值与相应象素的归一化亮度值和在步骤174中计算出的加权因子β的积相加,在本实施例中,因子α和β之和为1,故使得β值等于0.55。
如果在步骤168发现二进制掩码图象M`中存在特定象素的值为1,则控制过程进入判断块176,在上述块172中执行了求和之后也进入判断块176。在本实施例中,重复执行若干次前述主向定向平滑步骤以在结构区之间提供足够平滑的连接。因此,在步骤176,电路24判断是否已经完成了所需次数的重复过程,如果没有,则返回步骤164以进一步对结构区进行平滑。在本实施例中,操作员可在重复1到10次之间进行选择。
如上面所提及的,可以通过图9中的块166所提及的局部定向平滑的步骤的替换序列来执行定向平滑。图12示出了用于这种局部定向平滑的控制逻辑。与主向定向平滑一样,以结构象素的归一化亮度值开始局部定向平滑。在步骤202,计算每个索引方向上每个结构象素周围的1×3个象素核的统计方差(参照图11),如上面的主向定向平滑过程所述。在步骤204,计算步骤202中为每个象素标识的最大/最小统计方差之比。在步骤206,将每个结构象素的此比值与一个被称作用于局部定向滤波的衰减因子的参数R相比较。在本实施例中,R值可设为1到200之间。如果在步骤206,方差比超过了R,则通过将感兴趣部分的结构象素的亮度值设置为等于最小方差方向上的1×3个象素核的平均值来完成如步骤208所示的局部定向滤波。如果在步骤206,感兴趣部分的象素的最大和最小方差之间的比值没有超过R,则不执行局部定向平滑,并且电路24跳过步骤208,然后控制过程返回图9的块170。
如图9所述,在块170,使每个结构象素的亮度值与一个加权因子α相乘,然后在块172与相应象素的归一化亮度值和在块174生成的加权因子β之积相加。如上所述,在步骤176,电路24判断是否已经完成了所需次数的重复过程,如果没有,则返回局部定向平滑块166,以重复图12的步骤直至完成所需次数的重复过程为止。一旦执行了所需的重复过程,就通过下述的过程对经过定向平滑而产生的滤波图象If进行进一步的滤波。
如参照图3所述,在进行了对图象中所标识的结构区的定向平滑之后,执行非结构区的均化平滑,均化平滑过程的步骤如图13所述。如图13所示,在这个过程中涉及了非结构象素的归一化亮度值。在步骤210,计算每个非结构象素的平均邻近亮度值(涉及包含在邻近象素中的结构象素的归一化值)。在本实施例中,在每个非结构象素周围的3×3个邻近象素的基础上执行步骤210。这个均值被指定给感兴趣部分的象素并且控制过程进入步骤212。在步骤212,电路24判断是否已经完成了所需次数的重复。如果没有,控制过程返回步骤210以进一步进行非结构象素亮度值的均匀化。一旦完成了所需次数的重复,则退出图13所示的均化平滑程序。在本实施例中,操作者可将均化平滑重复次数设为1-10。
在均化平滑之后,通过对标识出的结构区进行上述图3中提及的定向锐化过程,来对滤波图象进行进一步的处理,详细描述如图14所述。如图14所示,定向锐化过程从步骤214开始,其中计算每个结构象素在图11所示的索引方向上的拉氏调和值。可根据下式计算这些拉氏调和值:
L(k)=2.0×I(k)-I(k-1)-I(k+1);
其中k是感兴趣部分的结构象素,“k-1”是感兴趣部分的该象素在索引方向上的前一个象素,“k+1”是感兴趣部分的该象素在索引方向上的后一个象素。应当注意在步骤214计算出的拉氏调和值基于滤波亮度值(即结构区的平滑值)。在步骤216,保存每个结构象素的四个拉氏调和值中的最大值,以形成一个边缘图象Me。在步骤218,对于每个结构象素,再次利用相关的邻近象素中的每个象素的滤波值(即均匀和平滑值),计算图11所示的索引方向上的3×1个象素核的统计方差和均值。然后如步骤220所示,从这些值中标识出每个结构象素的最小方差的方向,并保存每个象素在最小方差方向上的均值。在步骤222,每个结构象素在最小方差方向上的均值与一个因子γ相乘。在本实施例中,γ的值可被设定在0.00001到2.0的变化范围内,一般地,选择的γ值越高,最终图象中的整个边缘的锐化程度就越大。在步骤224,所产生的加权值与相应结构象素的初始滤波值相加,然后如下所述对产生的滤波图象值进行进一步的处理。
在对图象的结构特征进行了定向锐化之后,整个图象被再次重新归一化,如图3中的步骤74所述,虽然可以利用不同的方法进行重新归一化,但在本实施例中,计算步骤72之后的滤波图象中的总的平均象素亮度值,并根据这个平均值与上述滤波步骤之前得到的平均值之间的差值,确定一个归一化因子,然后通过使该归一化因子与滤波象素亮度相乘,并在其乘积上加上原始数据中的总的最小亮度值,来确定每个象素新的归一化亮度值。
然后对所产生的在图3中以Ifn表示的重新归一化滤波图象进一步处理以重新融入原始数据中的非结构区域纹理。这个纹理融合步骤如图15所述。一般地,图15的步骤加入更多或更少的原始纹理取决于非结构象素的梯度值,特别是,在步骤226中,将感兴趣部分的每个非结构象素的梯度值与一个阈值T相比较。在本实施例中,这个阈值被设为300。如果该梯度没有超过该阈值,则在步骤228,象素亮度值与一个值“a”相乘。在步骤228,所产生的乘积与该象素的原始亮度值(在图3中步骤164所述的归一化之前)和一个在步骤232计算出的等于“1-a”的值之乘积相加。所产生的加权平均值被指定给该象素。
如果在步骤226,一个象素的梯度值超过了阈值T,则该象素亮度值与一个在步骤234中表示出的因子“b”相乘,然后在步骤236,其乘积与该象素的原始亮度值和在步骤238确定的乘数“1-b”的乘积相加。在本实施例中,“b”值可被设在0到1的范围内,“a”值被设为“b”值的1.5倍。对所属领域的技术人员来说,执行图15所示的加权平均过程能够有效地将纹理加回到非结构区域中,以便为经上述滤波的结构区提供易于理解的环境是显而易见的。通过执行步骤226的比较,该过程可以有效地为具有低梯度值的象素加入较少的原始纹理,而为具有高梯度值的象素加入更多的原始纹理,如果需要,可通过设置“a”和“b”的值来增强或削弱该过程的此功能。