CN102737359B - 一种快速三维二值图像完全距离变换的方法 - Google Patents

一种快速三维二值图像完全距离变换的方法 Download PDF

Info

Publication number
CN102737359B
CN102737359B CN201210205679.9A CN201210205679A CN102737359B CN 102737359 B CN102737359 B CN 102737359B CN 201210205679 A CN201210205679 A CN 201210205679A CN 102737359 B CN102737359 B CN 102737359B
Authority
CN
China
Prior art keywords
pixel
dimentional
distance
value
subfunction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201210205679.9A
Other languages
English (en)
Other versions
CN102737359A (zh
Inventor
李均利
魏平
孙宇红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CHENGDU RUIMING MEDICAL INFORMATION TECHNOLOGY Co Ltd
Sichuan Normal University
Original Assignee
CHENGDU RUIMING MEDICAL INFORMATION TECHNOLOGY Co Ltd
Sichuan Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CHENGDU RUIMING MEDICAL INFORMATION TECHNOLOGY Co Ltd, Sichuan Normal University filed Critical CHENGDU RUIMING MEDICAL INFORMATION TECHNOLOGY Co Ltd
Priority to CN201210205679.9A priority Critical patent/CN102737359B/zh
Publication of CN102737359A publication Critical patent/CN102737359A/zh
Application granted granted Critical
Publication of CN102737359B publication Critical patent/CN102737359B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Analysis (AREA)

Abstract

本发明实施例提供了一种快速三维二值图像完全距离变换的方法,该方法包括:预处理步骤;将所述三维二值图像沿其中一轴分割成相应个数的二维二值图片;分别计算分割的每一二维二值图片中各个像素的二维完全距离变换;确定所述第一像素的最近背景像素范围;确定所述第一像素在所述背景像素范围中的各个二维二值图片中的投影像素的二维完全距离变换值;根据所述确定的第一像素在所述背景像素范围中各个二维二值图像的投影像素的二维完全距离变换值,确定出所述三维二值图像中距离所述第一像素的最近的第二背景像素,计算所述第二背景像素与所述第一像素的第二完全距离。采用本方实施例可以提高计算速度以及精确性。

Description

一种快速三维二值图像完全距离变换的方法
技术领域
本发明涉及图像处理领域,更具体的说,是涉及一种快速三维二值图像完全距离变换的方法。
背景技术
距离变换是对数字图像的一项重要的预处理操作,经距离变换后的数字图像具有良好的旋转、平移及比例不变性,因而它在图像处理技术各个领域中都起着重要作用。
对二值图像进行距离变换是指把二值图像中的每一个像素的像素值变换成离其最近的背景像素与该像素的距离的过程。二值图像中的像素可分为背景像素(像素值为0)和目标像素(像素值为1)两类,而背景像素的距离变换值为零。
可以利用近似距离变换方法以及完全距离变换方法对二值图像进行距离变换,近似距离变换方法的基本思想是:利用图像处理里常用到的一个近似模板运算,计算从图形外移动到图形内某点的最短距离,模板内标识的距离值通常是欧式距离的取整近似值,同时模板也不可能始终沿着边界轮廓的法向方向移动,因此这类方法一定是有误差,如城市街区距离、棋盘距离、倒角距离等。
完全距离变换是求取每一个像素距离其最近的背景像素的精确欧式距离。传统方法分别计算每个像素与所有背景像素的距离,导致计算时间较长,完全距离变换方法包括:边界传播方法以及降维方法。
综上,现有距离变换的方法具有如下缺点:第一,近似方法存在误差而不适用于对精度要求严格的图像进行处理,如医学图像;第二,传统完全距离变换方法运行时间较长。
发明内容
有鉴于此,本发明提供了一种快速三维二值图像完全距离变换的方法及装置,以克服现有技术中计算距离变换的方法存在误差而不适用于对精度要求严格的图像进行处理以及运算时间长的问题。
为实现上述目的,本发明提供如下技术方案:
一种快速三维二值图像完全距离变换的方法,所述三维二值图像的尺寸为m×n×s包括:预处理步骤,所述预处理步骤为确定第一函数或确定第二函数,所述第一函数用于确定二维二值图片的第i行中距离任一像素最近的背景像素的位置,所述任一像素属于所述二维二值图片,所述第二函数用于确定所述二维二值图片的第j列中距离所述任一像素最近的背景像素的位置,其中,1≤i≤m,1≤j≤n,i与j均为整数,所述方法还包括:
将所述三维二值图像沿其中一轴分割成相应个数的二维二值图片;
对于每一二维二值图片中的每一像素,利用所述第一函数分别在每一二维二值图片的每行中搜索距离所述每一像素最近的背景像素,或利用所述第二函数分别在所述每一二维二值图片的每列中搜索距离所述每一像素最近背景像素;
从搜索出的各个距离所述每一像素最近的背景像素中确定出与所述每一像素距离最近的第一背景像素,计算所述每一像素与所述第一背景像素的第一完全距离,并将所述第一完全距离作为所述每一像素的二维完全距离变换值;
根据第二目标像素与需要计算三维完全距离变换的第一像素的完全距离,及所述第二目标像素在所述三维二值图像中的三维完全距离变换值,确定所述第一像素的最近背景像素范围;
确定所述第一像素在所述最近背景像素范围中的各个二维二值图片中的投影像素的二维完全距离变换值;
根据所述确定的第一像素在所述最近背景像素范围中各个二维二值图像的投影像素的二维完全距离变换值,确定出所述三维二值图像中距离所述第一像素最近的第二背景像素,计算所述第二背景像素与所述第一像素的第二完全距离,并将所述第二完全距离作为所述第一像素的三维完全距离变换值。
优选地,所述第二目标像素在所述三维二值图像中的三维完全距离变换值为r1,所述根据第二目标像素与第一像素的完全距离,及所述第二目标像素在所述三维二值图像中的三维完全距离变换值,确定所述第一像素的最近背景像素范围具体包括:
确定所述第一像素与所述第二目标像素的完全距离r2
所述最近背景像素范围为以所述第一像素为球心,以r1+r2为半径的球O1的外切正方体所围成的区域;或,所述最近背景像素范围为以所述第二目标像素为球心,以r1为半径的球O2的内接正方体与所述球O1的外切正方体所围成的区域;或,所述最近背景像素范围为以所述第一像素为球心,以|r1-r2|为半径的球O3的内接正方体与所述球O1的外切正方体所围成的区域。
优选地,所述三维二值图像沿z轴分割成s张二维二值图片,所述最近背景像素范围是以所述第一像素为球心,以r1+r2为半径的球O1的外切正方体所围成的区域,所述第一像素所在的二维二值图片为z0,所述确定所述第一像素在所述最近背景像素范围中的各个二维二值图片中的投影像素的二维完全距离变换值具体包括:
以所述二维二值图片z0为对称中心沿z轴方向从里到外依次确定所述第一像素在二维二值图片z0+rx中的投影像素的二维完全距离变换值的平方DRx 2,并记录确定的二维完全距离变换值的平方,rx=0,±1,±2,…,±(r1+r2);
判断DRx 2是否满足如果是,则停止确定第一像素分别在二维二值图片z0±(rx+1)直至二维二值图片z0±(r1+r2)中投影像素的二维完全距离变换值,如果否,则继续确定第一像素分别在二维二值图片z0±(rx+1)中投影像素的二维完全距离变换值,直至确定出所述第一像素在二维二值图片z0±(r1+r2)中的投影像素的二维完全距离变换值为止,所述DRx 2是指第一像素在二维二值图片z0+rx的投影像素的二维完全距离变换值。
优选地,所述根据所述第一像素在所述最近背景像素范围中各个二维二值图像的投影像素的二维完全距离变换值,确定出所述三维二值图像中距离所述第一像素最近的第二背景像素具体包括:
利用公式min{DRx 2+|zx-z0|2},其中zx∈最近背景像素范围中z的取值范围,确定出与第一像素距离最近的第二背景像素;
利用公式计算出第二完全距离。
优选地,所述任一像素位于二维二值图片的第x行,第y列,用(x,y)表示所述任一像素在所述二维二值图片中的位置,以(x,y)为分界点,将第x行分为左侧和右侧,将第y列分为上方和下方;所述确定第一函数具体包括:
确定用于计算所述二维二值图片第x行左侧距离所述任一像素(x,y)最近的背景像素所在列数的第一子函数,及用于计算所述二维二值图片第x行右侧距离所述任一像素(x,y)最近的背景像素所在列数的第二子函数,其中,1≤x≤m,1≤y≤n;
根据所述第一子函数及所述第二子函数,确定所述第一函数;
所述确定第二函数具体包括:
确定用于计算所述二维二值图片第y列上方距离所述任一像素最近的背景像素所在行数的第三子函数,及用于计算所述二维二值图片第y列下方距离所述任一像素最近的背景像素所在行数的第四子函数;
根据所述第三子函数及所述第四子函数,确定所述第二函数。
其中,所述第一子函数具体为L[x,y]:
L [ x , y ] = y I ( x , y ) = 0 L [ x , y - 1 ] I ( x , y ) = 1 ;
若I(x,y)=1且y=1,那么L(x,y)=-Maxlable;
所述第二子函数具体为R[x,y]:
R [ x , y ] = y I ( x , y ) = 0 R [ x , y + 1 ] I ( x , y ) = 1 ;
若I(x,y)=1且y=n,那么R[x,y]=Maxlable;
则根据所述第一子函数及所述第二子函数确定的所述第一函数具体为SZ[x,y]:
SZ [ x , y ] = L [ x , y ] y - L [ x , y ] < R [ x , y ] - y R [ x , y ] y - L [ x , y ] &GreaterEqual; R [ x , y ] - y ;
所述第三子函数具体为T[x,y]:
T [ x , y ] = x I ( x , y ) = 0 T [ x - 1 , y ] I ( x , y ) = 1 ;
若I(x,y)=1且x=1,那么T[x,y]=-Maxlable;
所述第四子函数具体为D[x,y]:
D [ x , y ] = x I ( x , y ) = 0 D [ x + 1 , y ] I ( x , y ) = 1 ;
若I(x,y)=1且x=m,那么D[x,y]=Maxlable;
则根据所述第三子函数及所述第四子函数确定的所述第二函数具体为ZS[x,y]:
ZS [ x , y ] = T [ x , y ] x - D [ x , y ] < T [ x , y ] - x D [ x , y ] x - D [ x , y ] &GreaterEqual; T [ x , y ] - x ;
其中,I(x,y)=1表示为目标像素,I(x,y)=0表示为背景像素,所述Maxlable为预设最大标记值。
其中,所述 Maxlable = ( 1 + 2 ) max ( m , n ) .
优选地,从搜索出的各个距离所述每一像素最近的背景像素中确定出与所述每一像素距离最近的第一背景像素,计算所述每一像素与所述第一背景像素的第一完全距离具体包括:
根据公式min{((y-SZ[x,y])2+(i-x)2)},i=1,2,…,m确定出与所述每一像素距离最近的第一背景像素;利用公式: min { ( ( y - SZ [ x , y ] ) 2 + ( i - x ) 2 ) | i = 1,2 , &CenterDot; &CenterDot; &CenterDot; , m } 计算出所述每一像素(x,y)的所述第一完全距离;
或,
根据min {(x-ZS[x,j])+(j-y)2},j=1,2…n确定出与所述每一像素距离最近的第一背景像素;利用公式: min { ( ( x - ZS [ x , j ] ) 2 + ( i - y ) 2 ) | j = 1,2 &CenterDot; &CenterDot; &CenterDot; n } 计算所述第一完全距离。
优选地,所述每一像素的位置为(x,y),所述方法还包括:
计算LR[x,y];在LR[x,y]不大于1的情况下,所述第一完全距离为LR[x,y];所述利用所述第一函数分别在所述每一二维二值图片的每行中搜索距离所述每一像素最近的背景像素是在LR[x,y]大于1的情况下执行的;
或,
计算TD[x,y];在TD[x,y]不大于1的情况下,所述第一完全距离为TD[x,y];所述利用所述第二函数分别在所述每一二维二值图片的每列中搜索距离所述每一像素最近背景像素时在TD[x,y]大于1的情况下执行的。
优选地,在m>n的情况下,确定所述第二函数,并利用所述第二函数分别在所述每一二维二值图片的每列中搜索距离所述每一像素最近背景像素;在m<n的情况下,确定所述第一函数,并利用所述第一函数分别在所述每一二维二值图片的每行中搜索距离所述每一像素最近的背景像素。
经由上述的技术方案可知,采用本发明实施例提供的快速三维二值图像完全距离变换的方法,首先在已知第二目标像素的距离变换的情况下,可以根据第二目标相像素在三维二值图像中的三维完全距离变换值,确定第一像素的最近背景像素范围,再搜索距离第一像素的最近背景像素时,是在最近背景像素范围内进行搜索,而不是在整个二值图像中进行搜索,从而提高了搜索最近背景像素的速度;其次,在搜索出距离第一像素最近的第二背景像素后,再计算第二背景像素与第一像素的第二完全距离,并不是搜索出一个背景像素后就计算该背景像素与第一像素的距离,从而减少了计算量,提高了计算速度,并且在整个搜索过程以及计算过程中都没有进行近似处理,所以计算得出的距离精确性高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的第一种快速三维二值图像完全距离变换的方法的流程图;
图2为第一函数搜索二维二值图片中的第i行中距离O(x,y)最近的背景像素实际是搜索距离(i,y)最近的背景像素证的明过程图;
图3为在二维二值图片中距离第一像素最近的背景像素实际为距离第一像素在该二维二值图片中的投影像素最近的背景像素的证明图;
图4为第二背景像素范围的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明所有实施例中的(x,y)和[x,y]中的x表示二维二值图片中的行,并不表示横坐标,(x,y)和[x,y]中的y表示二值图片中的列,并不表示纵坐标。例如像素(x0,y0)表示该像素在二值图片中的第x0行,第y0列。
实施例一
请参阅附图1,为本发明实施例公开的第一种快速三维二值图像完全距离变换的方法的流程图,该方法可以包括:
步骤S100:确定第一函数或第二函数;
第一函数用于确定二维二值图片的第i行中距离任一像素最近的背景像素的位置,所述任一像素属于所述二维二值图片,第二函数用于确定所述二维二值图片的第j列中距离所述任一像素最近的背景像素的位置,其中,1≤i≤m,1≤j≤n,i与j均为整数。
步骤S100是一个预处理步骤,不必每次都执行。
具体的,在m>n的情况下,确定所述第二函数,并利用第二函数分别在所述每一二维二值图片的每列中搜索距离所述每一像素最近背景像素;在m<n的情况下,确定第一函数,并利用第一函数分别在所述每一二维二值图片的每行中搜索距离所述每一像素最近的背景像素。
假设所述任一像素位于二值图像的第x行,第y列,用(x,y)表示所述任一像素在二值图像中的位置,以(x,y)为分界点,将第x行分为左侧和右侧,将第y列分为上方和下方。
确定第一函数的方法具体包括:
确定用于计算二值图像第x行左侧距离所述任一像素(x,y)最近的背景像素所在列数的第一子函数,及用于计算二值图像第x行右侧距离所述任一像素(x,y)最近的背景像素所在列数的第二子函数。其中,1≤x≤m,1≤y≤n。
根据第一子函数及第二子函数,确定第一函数。
假设上述任一像素位于二值图像的第x行,第y列,用(x,y)表示所述任一像素在二值图像中的位置,则确定第二函数具体包括:确定用于计算二值图像第y列上方距离所述任一像素(x,y)最近的背景像素所在行数的第三子函数,及用于计算二值图像第y列下方距离所述任一像素(x,y)最近的背景像素所在行数的第四子函数。
根据第三子函数及第四子函数,确定第二函数。
具体的,确定第一函数以及第二函数的第一种方法具体为:
第一子函数具体为L[x,y]:
L [ x , y ] = y I ( x , y ) = 0 L [ x , y - 1 ] I ( x , y ) = 1 ;
若I(x,y)=1且y=1,那么L(x,y)=-Maxlable;
第二子函数具体为R[x,y]:
R [ x , y ] = y I ( x , y ) = 0 R [ x , y + 1 ] I ( x , y ) = 1 ;
若I(x,y)=1且y=n,那么R[x,y]=Maxlable;
则根据第一子函数及第二子函数确定的第一函数具体为SZ[x,y]:
SZ [ x , y ] = L [ x , y ] y - L [ x , y ] < R [ x , y ] - y R [ x , y ] y - L [ x , y ] &GreaterEqual; R [ x , y ] - y ;
第三子函数具体为T[x,y]:
T [ x , y ] = x I ( x , y ) = 0 T [ x - 1 , y ] I ( x , y ) = 1 ;
若I(x,y)=1且x=1,那么T[x,y]=-Maxlable;
第四子函数具体为D[x,y]:
D [ x , y ] = x I ( x , y ) = 0 D [ x + 1 , y ] I ( x , y ) = 1 ;
若I(x,y)=1且x=m,那么D[x,y]=Maxlable;
则根据第三子函数及第四子函数确定的第二函数具体为ZS[x,y]:
ZS [ x , y ] = T [ x , y ] x - D [ x , y ] < T [ x , y ] - x D [ x , y ] x - D [ x , y ] &GreaterEqual; T [ x , y ] - x ;
具体的,确定第一函数以及第二函数的第二种方法具体为:
第一子函数具体为L[x,y]:
L [ x , y ] = y I ( x , y ) = 0 L [ x , y - 1 ] I ( x , y ) = 1 ;
若I(x,y)=1且y=1,那么L(x,y)=-Maxlable;
第二子函数具体为R[x,y]:
R [ x , y ] = y I ( x , y ) = 0 R [ x , y + 1 ] I ( x , y ) = 1 ;
若I(x,y)=1且y=n,那么R[x,y]=Maxlable;
则根据第一子函数及第二子函数确定的第一函数具体为LR[x,y]:
LR [ x , y ] = ( y - L [ x , y ] ) 2 y - L [ x , y ] < R [ x , y ] - y ( R [ x , y ] - y ) 2 y - L [ x , y ] &GreaterEqual; R [ x , y ] - y ;
第三子函数具体为T[x,y]:
T [ x , y ] = x I ( x , y ) = 0 T [ x - 1 , y ] I ( x , y ) = 1 ;
若I(x,y)=1且x=1,那么T[x,y]=-Maxlable;
第四子函数具体为D[x,y]:
D [ x , y ] = x I ( x , y ) = 0 D [ x + 1 , y ] I ( x , y ) = 1 ;
若I(x,y)=1且x=m,那么D[x,y]=Maxlable;
则根据第三子函数及第四子函数确定的第二函数具体为TD[x,y]:
TD [ x , y ] = ( x - T [ x , y ] ) 2 x - T [ x , y ] < D [ x , y ] - x ( D [ x , y ] - x ) 2 x - T [ x , y ] &GreaterEqual; D [ x , y ] - x .
其中,I(x,y)=1表示为目标像素,I(x,y)=0表示为背景像素,Maxlable为预设最大标记值,其中, Maxlable = ( 1 + 2 ) max ( m , n ) .
确定第一函数以及第二函数的第二种方法中,虽然第一函数为所述每一像素列数与最近背景像素列数差值的平方,但是通过第一函数也会将最近背景像素的位置搜索出来。同理第二函数也是如此。
步骤S101:将三维二值图像沿其中一轴分割成相应个数的二维二值图片;
具体的,沿着x轴,可将三维二值图像分割成m张二维二值图片,沿着y轴,可将三维二值图像分割成n张二维二值图片,沿着z轴,可将三维二值图像分割成s张二维二值图片。
步骤S101为现有技术在此不作赘述。
步骤S102:对于每一二维二值图片中的每一像素,利用第一函数分别在所述每一二维二值图片的每行中搜索距离所述每一像素最近的背景像素,或利用第二函数分别在所述每一二维二值图片的每列中搜索距离所述每一像素最近背景像素;
假设所述每一像素的位置为(x,y),为了提高计算速度,在步骤S102之前,还可以包括:
计算LR[x,y];在LR[x,y]不大于1的情况下,所述第一完全距离为LR[x,y],在LR[x,y]大于1的情况下,进入步骤S102。
或者,计算TD[x,y];在TD[x,y]不大于1的情况下,第一完全距离为TD[x,y],在TD[x,y]大于1的情况下,进入步骤S102。
若LR(x,y)=0或者TD[x,y]=0则说明所述每一像素(x,y)是背景像素。若LR(x,y)=1则说明所述每一像素(x,y)的水平2邻域中存在背景像素,即第一完全距离为1,如果TD[x,y]=1则说明所述每一像素(x,y)的垂直2邻域中存在背景像素,即第一完全距离为1。
为了提高计算速度,在步骤S102之前,还可以包括:
计算(y-SZ[x,y])2;在(y-SZ[x,y])2不大于1的情况下,第一完全距离为(y-SZ[x,y])2,在(y-SZ[x,y])2大于1的情况下,进入步骤S102。
或,计算(x-ZS[x,y])2;在(x-ZS[x,y])2不大于1的情况下,第一完全距离为(x-ZS[x,y])2,在(x-ZS[x,y])2大于1的情况下,进入步骤S102。
假设所述每一像素在二维二值图片中的位置为(x,y),由于第一子函数是用于计算二维二值图片第x行左侧距离所述每一像素(x,y)最近的背景像素所在的列数,第二子函数用于计算二维二值图片第x行右侧距离所述每一像素(x,y)最近的背景像素所在的列数,所以根据第一子函数与第二子函数得到的SZ[x,y]也是用于确定第x行上距离所述每一像素(x,y)最近的背景像素所在的列数。
用O(x,y)表示所述每一像素,利用第一函数搜索第i行(i≠x)中距离O(x,y)最近的背景像素,其实就是利用第一函数搜索第i行中距离(i,y)最近的背景像素,所以在执行步骤S102时,实际上是将第一函数SZ[x,y]中x替换成i的函数SZ[i,y]进行搜索,函数SZ[i,y]实际上是搜索在第i行中距离(i,y)最近的背景像素,由于在第i行中距离(i,y)最近的背景像素就是距离O(x,y)最近的背景像素,所以函数SZ[i,y]本质上还是用于搜索各行中距离O(x,y)最近的背景像素。
如图2所示,证明过程如下:假设L1,L2,R1,R2为第i行上的四个背景像素,它们与O(x,y)的距离分别为|OL1|,|OL2|,|OR1|,|OR2|,由几何知识可知距O(x,y)最近的背景像素显然就是距离(i,y)最近的背景像素,第i行中距离O(x,y)最近的背景像素的位置为(i,SZ[i,y])。
同理,利用第二函数搜索第j列(j≠y)中距O(x,y)最近的背景像素,其实就是利用第二函数搜索第j列中距离(x,j)最近的背景像素,所以在执行步骤S102时,实际上是将第二函数ZS[x,y]中y替换成j的函数ZS[x,j]进行搜索,第j列中距离O(x,y)最近的背景像素的位置为(ZS[x,j],j)。其中,1≤i≤m,1≤j≤n,i与j均为正整数。
步骤S103:从搜索出的各个距离所述每一像素最近的背景像素中确定出与所述每一像素距离最近的第一背景像素,计算所述每一像素与第一背景像素的第一完全距离,并将第一完全距离作为所述每一像素的二维完全距离变换值;
步骤S103具体的可以为:根据公式min{((y-SZ[x,y])2+(i-x)2)},i=1,2,…,m确定出与所述每一像素距离最近的第一背景像素;利用公式:
min { ( ( y - SZ [ x , y ] ) 2 + ( i - x ) 2 ) | i = 1,2 , &CenterDot; &CenterDot; &CenterDot; , m } 计算出所述每一像素(x,y)的所述第一完全距离;
或,
根据min{(x-ZS[x,j])+(j-y)2},j=1,2…n确定出与所述每一像素距离最近的第一背景像素;利用公式: min { ( ( x - ZS [ x , j ] ) 2 + ( i - y ) 2 ) | j = 1,2 &CenterDot; &CenterDot; &CenterDot; n } 计算所述第一完全距离;
或,
利用公式min{(LR[i,y]+(i-x)2)},其中i=1,2…m确定出与所述每一像素距离最近的第一背景像素;利用公式: min { ( LR [ i , y ] + ( i - x ) 2 ) | i = 1,2 , &CenterDot; &CenterDot; &CenterDot; , m } 计算出第一完全距离;
或,
利用公式min{(TD[x,j]+(j-y)2},其中i=1,2…n确定出与所述每一像素距离最近的第一背景像素;利用公式: min { ( TD [ x , j ] + ( j - y ) 2 ) | j = 1,2 , &CenterDot; &CenterDot; &CenterDot; , n } 计算出第一完全距离。
步骤S102与步骤S103是计算分割的每一二维二值图片中各个像素的二维完全距离变换的方法。
当然也可以利用现有技术中的完全距离变换方法计算每一二维二值图片中各个像素的完全距离变换。
优选的,计算一二维二值图片的距离变换(假设二维二值图片的尺寸为m×n,且m≥1,n≥1),首先计算第一行中(1,1)的完全距离变换,然后计算(1,2)的完全距离变换,按照从左到右的顺序依次计算至(1,n),再计算第二行中(2,1)的完全距离变换,从左向右依次计算至(2,n),也就是按照从左到右从上到下的顺序计算二值图片中每个像素的完全距离变换。
步骤S104:根据第二目标像素与第一像素的完全距离,及所述第二目标像素在三维二值图像中的三维完全距离变换值,确定第一像素的最近背景像素范围;
第二目标像素是三维二值图像中任一目标像素。
确定最近背景像素范围可以包括:
确定第二目标像素在三维二值图像中的三维完全距离变换值为r1
确定第一像素O1与第二目标像素O2的完全距离r2
最近背景像素范围为以第一像素O1为球心,以r1+r2为半径的球O1的外切正方体所围成的区域;
或,最近背景像素范围为以第二目标像素O2为球心,以r1为半径的球O2的内接正方体与球O1的外切正方体所围成的区域;
或,最近背景像素范围为以所述第一像素O1为球心,以|r1-r2|为半径的球O3的内接正方体与所述球O1的外切正方体所围成的区域。
如果第一像素位于三维二值图像的边缘位置,在确定最近背景像素范围时,初始确定的最近背景像素范围可能会有一部分超出三维二值图像,此时可以取确定的初始最近背景像素范围与三维二值图像的交集作为最近背景像素范围。
步骤S105:确定第一像素分别在第二背景像素范围中的各个二维二值图片中的投影像素的二维完全距离变换值;
请参阅图3,假设像素O(x,y,z)为二维二值图片z上的一个目标像素,像素O0(x,y,z0)为O(x,y,z)在二维二值图片z0上的投影像素,设在二维二值图片z0上距像素O0(x,y,z0)最近的背景像素B0与像素O0(x,y,z0)的二维完全距离变换值的平方为|O0B0|2,那么二维二值图片z0上距像素O(x,y,z)最近的背景像素显然也为B0,且 | OB 0 | = | O 0 B 0 | 2 + | OO 0 | 2 .
假设三维二值图像沿z轴分割成s张二维二值图片,第二背景像素范围为以第一像素O1为球心,以r1+r2为半径的球O1的外切正方体所围成的区域,请参阅图4,为第二背景像素范围的示意图,图4中的r=r1+r2,B为球O1上的一个像素,图中用O表示O1,由图4可以看出第二背景像素范围可以看做是由2(r1+r2)+1张图片沿z轴叠加而成的,假设第一像素O1所在的二维二值图片为z0,优选的,首先确定二维二值图片z0中第一像素的二维完全距离变换值(此时第一像素在二维二值图片z0上的投影像素就是其本身),其次确定第一像素分别在二维二值图片z0±1中投影像素的二维完全距离变换值,再确定第一像素分别在二维二值图片z0±2中投影像素的二维完全距离变换值,直至二维二值图片z0±(r1+r2)。即以二维二值图片z0为对称中心沿z轴方向从里到外依次分别确定第一像素在各个二维二值图片中的投影像素的二维完全距离变换值,假设在二维二值图片z0+rx上确定出第一像素在二维二值图片z0+rx中的投影像素的二维完全距离变化值的平方为DRx 2,rx∈[-(r1+r2),r1+r2],由于在二维二值图片z0±(rx+1)中距离第一像素最近的背景像素与第一像素的距离平方的最小值为(rx+1)2,所以当DRx 2+rx 2≤(rx+1)2时,停止确定第一像素分别在二维二值图片z0±(rx+2)直至二维二值图片z0±(r1+r2)中的投影像素的二维完全距离变换值,如果DRx 2+rx 2>(rx+1)2,则继续确定第一像素分别在二值图片z0±(rx+2)中的投影像素的二维完全距离变换值,直至到二维二值图片z0±(r1+r2)。
第二背景像素范围可以看做是由2(r1+r2)+1张图片沿z轴叠加而成的,而很有可能某张二维二值图片中距离第一像素的投影像素最近的背景像素不在第二背景像素范围内,但是这并不影响本发明实施例的实现,所以在此不作区分。
步骤S106:根据确定的第一像素分别在第二背景像素中各个二维二值图像的投影像素的二维完全距离变换值,确定出在三维二值图像中距离第一像素最近的第二背景像素,计算第二背景像素与第一像素的第二完全距离,并将此第二完全距离作为第一像素的三维完全距离变换值。
假设第一像素在三维二值图像中的位置为(x,y,z),由于每一二维二值图片中的各个像素的二维完全距离都已经计算出,假设DRx表示从二维二值图像zx中距离第一像素在二维二值图像zx中投影像素最近的背景像素的平方值,其中角标x表示第一像素的投影像素在二维二值图像zx上,那么步骤S105具体包括:
利用公式min{DRx 2+|zx-z|2},其中zx∈最近背景像素范围中z轴的取值范围,确定出与第一像素距离最近的第二背景像素,再利用公式 min { DR x 2 + | z x - z | 2 } 得到第二完全距离。
优选的,计算每一二维二值图片中各个像素的三维完全距离变换时,假设三维二值图像沿z轴分割成s张二维二值图片,这s张二维二值图片在z轴中的范围是[1,s],则首先从二维二值图片z=1计算各个二维二值图片中各个像素的三维完全距离变换,其次,计算二维二值图片z=2中各个像素的三维完全距离变换,再计算二维二值图片z=3中各个像素的三维完全距离变换,依次类推直至计算完二维二值图片z=s中各个像素的三维完全距离变换,即由二维二值图片中z的最小值计算至z的最大值。
采用本发明实施例提供的快速三维二值图像完全距离变换的方法,首先在已知第二目标像素的距离变换的情况下,可以根据第二目标相像素在三维二值图像中的三维完全距离变换值,确定第一像素的最近背景像素范围,再搜索距离第一像素的最近背景像素时,是在最近背景像素范围内进行搜索,而不是在整个二值图像中进行搜索,从而提高了搜索最近背景像素的速度;其次,在搜索出距离第一像素最近的第二背景像素后,再计算第二背景像素与第一像素的第二完全距离,并不是搜索出一个背景像素后就计算该背景像素与第一像素的距离,从而减少了计算量,提高了计算速度,并且在整个搜索过程以及计算过程中都没有进行近似处理,所以计算得出的距离精确性高。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (9)

1.一种快速三维二值图像完全距离变换的方法,所述三维二值图像的尺寸为m×n×s,其特征在于,包括:预处理步骤,所述预处理步骤为确定第一函数或确定第二函数,所述第一函数用于确定二维二值图片的第i行中距离任一像素最近的背景像素的位置,所述任一像素属于所述二维二值图片,所述第二函数用于确定所述二维二值图片的第j列中距离所述任一像素最近的背景像素的位置,其中,1≤i≤m,1≤j≤n,i与j均为整数,所述方法还包括:
将所述三维二值图像沿其中一轴分割成相应个数的二维二值图片;
对于每一二维二值图片中的每一像素,利用所述第一函数分别在每一二维二值图片的每行中搜索距离所述每一像素最近的背景像素,或利用所述第二函数分别在所述每一二维二值图片的每列中搜索距离所述每一像素最近的背景像素;
从搜索出的各个距离所述每一像素最近的背景像素中确定出与所述每一像素距离最近的第一背景像素,计算所述每一像素与所述第一背景像素的第一完全距离,并将所述第一完全距离作为所述每一像素的二维完全距离变换值;
根据第二目标像素与需要计算三维完全距离变换的第一像素的完全距离,及所述第二目标像素在所述三维二值图像中的三维完全距离变换值,确定所述第一像素的最近背景像素范围;
确定所述第一像素在所述最近背景像素范围中的各个二维二值图片中的投影像素的二维完全距离变换值;
根据所述确定的第一像素在所述最近背景像素范围中各个二维二值图片的投影像素的二维完全距离变换值,确定出所述三维二值图像中距离所述第一像素最近的第二背景像素,计算所述第二背景像素与所述第一像素的第二完全距离,并将所述第二完全距离作为所述第一像素的三维完全距离变换值;
所述任一像素位于二维二值图片的第x行,第y列,用(x,y)表示所述任一像素在所述二维二值图片中的位置,以(x,y)为分界点,将第x行分为左侧和右侧,将第y列分为上方和下方;所述确定第一函数具体包括:
确定用于计算所述二维二值图片第x行左侧距离所述任一像素(x,y)最近的背景像素所在列数的第一子函数,及用于计算所述二维二值图片第x行右侧距离所述任一像素(x,y)最近的背景像素所在列数的第二子函数,其中,1≤x≤m,1≤y≤n;
根据所述第一子函数及所述第二子函数,确定所述第一函数;
所述确定第二函数具体包括:
确定用于计算所述二维二值图片第y列上方距离所述任一像素最近的背景像素所在行数的第三子函数,及用于计算所述二维二值图片第y列下方距离所述任一像素最近的背景像素所在行数的第四子函数;
根据所述第三子函数及所述第四子函数,确定所述第二函数。
2.根据权利要求1所述方法,其特征在于,所述第二目标像素在所述三维二值图像中的三维完全距离变换值为r1,所述根据第二目标像素与第一像素的完全距离,及所述第二目标像素在所述三维二值图像中的三维完全距离变换值,确定所述第一像素的最近背景像素范围具体包括:
确定所述第一像素与所述第二目标像素的完全距离r2
所述最近背景像素范围为以所述第一像素为球心,以r1+r2为半径的球O1的外切正方体所围成的区域;或,所述最近背景像素范围为以所述第二目标像素为球心,以r1为半径的球O2的内接正方体与所述球O1的外切正方体所围成的区域;或,所述最近背景像素范围为以所述第一像素为球心,以|r1-r2|为半径的球O3的内接正方体与所述球O1的外切正方体所围成的区域。
3.根据权利要求2所述方法,其特征在于,所述三维二值图像沿z轴分割成s张二维二值图片,所述最近背景像素范围是以所述第一像素为球心,以r1+r2为半径的球O1的外切正方体所围成的区域,所述第一像素所在的二维二值图片为z0,所述确定所述第一像素在所述最近背景像素范围中的各个二维二值图片中的投影像素的二维完全距离变换值具体包括:
以所述二维二值图片z0为对称中心沿z轴方向从里到外依次确定所述第一像素在二维二值图片z0+rx中的投影像素的二维完全距离变换值的平方DRx2,并记录确定的二维完全距离变换值的平方,rx=0,±1,±2,…,±(r1+r2);
判断DRx 2是否满足如果是,则停止确定第一像素分别在二维二值图片z0±(rx+1)直至二维二值图片z0±(r1+r2)中投影像素的二维完全距离变换值,如果否,则继续确定第一像素分别在二维二值图片z0±(rx+1)中投影像素的二维完全距离变换值,直至确定出所述第一像素在二维二值图片z0±(r1+r2)中的投影像素的二维完全距离变换值为止,所述DRx 2是指第一像素在二维二值图片z0+rx的投影像素的二维完全距离变换值。
4.根据权利要求3所述方法,其特征在于,所述根据所述第一像素在所述最近背景像素范围中各个二维二值图片的投影像素的二维完全距离变换值,确定出所述三维二值图像中距离所述第一像素最近的第二背景像素具体包括:
利用公式min{DRx 2+|zx-z0|2},其中zx∈最近背景像素范围中z的取值范围,确定出与第一像素距离最近的第二背景像素;
利用公式计算出第二完全距离。
5.根据权利要求1所述方法,其特征在于,所述第一子函数具体为L[x,y]:
L [ x , y ] = y I ( x , y ) = 0 L [ x , y - 1 ] I ( x , y ) = 1 ;
若I(x,y)=1且y=1,那么L[x,y]=-Maxlable;
所述第二子函数具体为R[x,y]:
R [ x , y ] = y I ( x , y ) = 0 R [ x , y + 1 ] I ( x , y ) = 1 ;
若I(x,y)=1且y=n,那么R[x,y]=Maxlable;
则根据所述第一子函数及所述第二子函数确定的所述第一函数具体为SZ[x,y]:
SZ [ x , y ] = L [ x , y ] y - L [ x , y ] < R [ x , y ] - y R [ x , y ] y - L [ x , y ] &GreaterEqual; R [ x , y ] - y ;
所述第三子函数具体为T[x,y]:
T [ x , y ] = x I ( x , y ) = 0 T [ x - 1 , y ] I ( x , y ) = 1 ;
若I(x,y)=1且x=1,那么T[x,y]=-Maxlable;
所述第四子函数具体为D[x,y]:
D [ x , y ] = x I ( x , y ) = 0 D [ x + 1 , y ] I ( x , y ) = 1 ;
若I(x,y)=1且x=m,那么D[x,y]=Maxlable;
则根据所述第三子函数及所述第四子函数确定的所述第二函数具体为ZS[x,y]:
ZS [ x , y ] = T [ x , y ] x - D [ x , y ] < T [ x , y ] - x D [ x , y ] x - D [ x , y ] &GreaterEqual; T [ x , y ] - x ;
其中,I(x,y)=1表示为目标像素,I(x,y)=0表示为背景像素,所述Maxlable为预设最大标记值。
6.根据权利要求5所述方法,其特征在于,所述
7.根据权利要求5所述方法,其特征在于,从搜索出的各个距离所述每一像素最近的背景像素中确定出与所述每一像素距离最近的第一背景像素,计算所述每一像素与所述第一背景像素的第一完全距离具体包括:
根据公式min{((y-SZ[x,y])2+(i-x)2)},i=1,2,…,m确定出与所述每一像素距离最近的第一背景像素;利用公式: min { ( ( y - SZ [ x , y ] ) 2 + ( i - x ) 2 ) | i = 1,2 , . . . , m } 计算出所述每一像素(x,y)的所述第一完全距离;
或,
根据min{(x-ZS[x,j])+(j-y)2},j=1,2…n确定出与所述每一像素距离最近的第一背景像素;利用公式: min { ( ( x - ZS [ x , j ] ) 2 + ( j - y ) 2 ) | j = 1,2 , . . . , n } 计算所述第一完全距离。
8.根据权利要求1所述方法,其特征在于,所述每一像素的位置为(x,y),所述方法还包括:
计算LR[x,y];在LR[x,y]不大于1的情况下,所述第一完全距离为LR[x,y];所述利用所述第一函数分别在所述每一二维二值图片的每行中搜索距离所述每一像素最近的背景像素是在LR[x,y]大于1的情况下执行的;
或,
计算TD[x,y];在TD[x,y]不大于1的情况下,所述第一完全距离为TD[x,y];所述利用所述第二函数分别在所述每一二维二值图片的每列中搜索距离所述每一像素最近的背景像素是在TD[x,y]大于1的情况下执行的;
其中所述第一子函数具体为L[x,y]:
L [ x , y ] = y I ( x , y ) = 0 L [ x , y - 1 ] I ( x , y ) = 1 ;
若I(x,y)=1且y=1,那么L[x,y]=-Maxlable;
第二子函数具体为R[x,y]:
R [ x , y ] = y I ( x , y ) = 0 R [ x , y + 1 ] I ( x , y ) = 1 ;
若I(x,y)=1且y=n,那么R[x,y]=Maxlable;
则根据第一子函数及第二子函数确定的第一函数具体为LR[x,y]:
LR [ x , y ] = ( y - L [ x , y ] ) 2 y - L [ x , y ] < R [ x , y ] - y ( R [ x , y ] - y ) 2 y - L [ x , y ] &GreaterEqual; R [ x , y ] - y ;
第三子函数具体为T[x,y]:
T [ x , y ] = x I ( x , y ) = 0 T [ x - 1 , y ] I ( x , y ) = 1 ;
若I(x,y)=1且x=1,那么T[x,y]=-Maxlable;
第四子函数具体为D[x,y]:
D [ x , y ] = x I ( x , y ) = 0 D [ x + 1 , y ] I ( x , y ) = 1 ;
若I(x,y)=1且x=m,那么D[x,y]=Maxlable;
则根据第三子函数及第四子函数确定的第二函数具体为TD[x,y]:
TD [ x , y ] = ( x - T [ x , y ] ) 2 x - T [ x , y ] < D [ x , y ] - x ( D [ x , y ] - x ) 2 x - T [ x , y ] &GreaterEqual; D [ x , y ] - x ;
其中,I(x,y)=1表示为目标像素,I(x,y)=0表示为背景像素,Maxlable为预设最大标记值,其中, Maxlable = ( 1 + 2 ) max ( m , n ) .
9.根据权利要求1所述方法,其特征在于,在m>n的情况下,确定所述第二函数,并利用所述第二函数分别在所述每一二维二值图片的每列中搜索距离所述每一像素最近的背景像素;在m<n的情况下,确定所述第一函数,并利用所述第一函数分别在所述每一二维二值图片的每行中搜索距离所述每一像素最近的背景像素。
CN201210205679.9A 2012-06-20 2012-06-20 一种快速三维二值图像完全距离变换的方法 Expired - Fee Related CN102737359B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210205679.9A CN102737359B (zh) 2012-06-20 2012-06-20 一种快速三维二值图像完全距离变换的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210205679.9A CN102737359B (zh) 2012-06-20 2012-06-20 一种快速三维二值图像完全距离变换的方法

Publications (2)

Publication Number Publication Date
CN102737359A CN102737359A (zh) 2012-10-17
CN102737359B true CN102737359B (zh) 2014-11-05

Family

ID=46992795

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210205679.9A Expired - Fee Related CN102737359B (zh) 2012-06-20 2012-06-20 一种快速三维二值图像完全距离变换的方法

Country Status (1)

Country Link
CN (1) CN102737359B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014205769A1 (en) * 2013-06-28 2014-12-31 Hulu Llc Local binary pattern-based optical flow
TWI670682B (zh) * 2018-05-11 2019-09-01 台達電子工業股份有限公司 利用雙向掃瞄之影像距離轉換裝置及其方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101533518A (zh) * 2009-04-21 2009-09-16 山东大学 一种由非平行断层图像序列重建三维目标对象表面的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008259612A (ja) * 2007-04-11 2008-10-30 Fujifilm Corp 投影画像生成装置およびそのプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101533518A (zh) * 2009-04-21 2009-09-16 山东大学 一种由非平行断层图像序列重建三维目标对象表面的方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Active contours base on maximum gravity optimization algorithm;Jin Linpeng,et al.;《2009 3rd International Conference on Bioinformatics and Biomedical Engineering》;20090616;第1-4页 *
Jin Linpeng,et al..Active contours base on maximum gravity optimization algorithm.《2009 3rd International Conference on Bioinformatics and Biomedical Engineering》.2009, *
任勇勇等.基于围线分层扫描的完全欧氏距离变换算法.《中国图象图形学报》.2011,第16卷(第1期), *
基于围线分层扫描的完全欧氏距离变换算法;任勇勇等;《中国图象图形学报》;20110131;第16卷(第1期);第32-36页 *

Also Published As

Publication number Publication date
CN102737359A (zh) 2012-10-17

Similar Documents

Publication Publication Date Title
US9619691B2 (en) Multi-view 3D object recognition from a point cloud and change detection
US11900634B2 (en) Method for adaptively detecting chessboard sub-pixel level corner points
CN109978901B (zh) 一种快速、精确的圆形检测和圆心定位方法
EP3273412A1 (en) Three-dimensional modelling method and device
CN109243289A (zh) 高精度地图制作中地下车库停车位提取方法及系统
CN104484648A (zh) 基于轮廓识别的机器人可变视角障碍物检测方法
CN107192716A (zh) 一种基于轮廓特征的工件缺陷快速检测方法
Antunes et al. Unsupervised vanishing point detection and camera calibration from a single manhattan image with radial distortion
CN110738273B (zh) 图像特征点的匹配方法、装置、设备及存储介质
CN111369495B (zh) 一种基于视频的全景图像的变化检测方法
CN105787876B (zh) 一种基于surf特征跟踪匹配的全景视频自动拼接方法
CN103679702A (zh) 一种基于图像边缘矢量的匹配方法
CN105469404A (zh) 一种基于三维点云数据的旋转体拟合方法及装置
CN104252711A (zh) 一种基于图像梯度方向码的匹配方法
CN103954280A (zh) 一种快速和高鲁棒性自主恒星识别方法
US11948344B2 (en) Method, system, medium, equipment and terminal for inland vessel identification and depth estimation for smart maritime
CN102737359B (zh) 一种快速三维二值图像完全距离变换的方法
Wang et al. Accurate detection and localization of curved checkerboard-like marker based on quadratic form
CN108197531B (zh) 一种道路曲线检测方法、装置和终端
CN102354399A (zh) 一种摄像机外部参数自定标方法及装置
CN116958218A (zh) 一种基于标定板角点对齐的点云与图像配准方法及设备
CN107480710B (zh) 特征点匹配结果处理方法和装置
CN104484647A (zh) 一种高分辨率遥感图像云高度检测方法
CN102737361B (zh) 一种三维二值图像完全距离变换的方法
CN102930531A (zh) 一种建筑物表面图像重复结构检测方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20141105

Termination date: 20180620