CN105528759B - 一种基于动态规划的距离变换计算方法 - Google Patents
一种基于动态规划的距离变换计算方法 Download PDFInfo
- Publication number
- CN105528759B CN105528759B CN201610080714.7A CN201610080714A CN105528759B CN 105528759 B CN105528759 B CN 105528759B CN 201610080714 A CN201610080714 A CN 201610080714A CN 105528759 B CN105528759 B CN 105528759B
- Authority
- CN
- China
- Prior art keywords
- neighborhood
- distance
- pixel
- range conversion
- pseudo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于动态规划的距离变换计算方法,所述方法包括:步骤1:输入二值图像创建数组,将目标像素的8个邻域划分为上邻域和下邻域,其中,上邻域和下邻域分别包括4个邻域;步骤2:在目标像素的上邻域内计算目标像素与背景像素的伪距离变换,获得第一伪距离变换结果;步骤3:在目标像素的下邻域内计算目标像素与背景像素的伪距离变换,获得第二伪距离变换结果;步骤4:比较所述第一伪距离变换结果和所述第二伪距离变换结果,获得二者的较小值,则二者的较小值作为最终距离变换计算的结果,实现了减少了计算的复杂度,保障了计算的一定精确度,运算时间较短,处理效率较高的技术效果。
Description
技术领域
本发明涉及图像分析与模式识别领域,尤其是涉及图像处理过程中一种近似的距离变换方法。
背景技术
对于一幅二值图像,图像中的像素可分为背景像素(像素值为0)和目标像素(像素值为1)两类,而距离变换就是指把二值图像每一像素的像素值0、1变换成由到其最近背景像素间的距离值的过程。经距离变换后的图像更能突出展现图像的边缘、几何骨架等信息,进而有助于进行图像形态处理(如细化、粗化、骨架化),模式匹配(如物体检测和stereofeature匹配),目标重建、图像分割、机器人碰撞检测等方面的研究应用,因此距离变换一直是图像处理领域的研究热点。
现在的对距离变换计算方法的研究可分为两个方向:
一、近似欧氏距离变换计算方法
这类计算方法的基本思想是利用图像处理里常用到的一个近似模板运算,计算从图形外移动到图形内某点的最短距离,模板内标识的距离值通常是欧式距离的取整近似值,同时模板也不可能始终沿着边界轮廓的法向方向移动,因此这类方法一定是有误差,如城市街区距离、棋盘距离、倒角距离等。尽管此类计算方法实现简单,且速度较快,但由于存在误差而不适用于对精度高度严格要求的一些图像处理过程中,如医学图像。
二、完全欧氏距离变换计算方法
随着硬件技术的不断提高及对距离变换的广泛应用,人们也开始致力于完全欧氏距离变换计算方法的研究,并提出了许多相对高效的计算方法,如行列交叉法、边界追踪法及基于Voronoi的方法等。虽然上述计算方法可以获得精确的距离变换,但其中的大部分方法的复杂度较高,运行时间较长,同时随着社会的发展,所需处理的图像的数据量也越来越大,此类计算方法的运行时间会更长,这将给实际应用带来一定困难。
综上所述,本申请发明人在实现本申请实施例中发明技术方案的过程中,发现上述技术至少存在如下技术问题:
在现有技术中,现有的距离变换计算方法存存在误差,导致精度较差,或存在运算时间较长,处理效率较低的技术问题。
发明内容
本发明提供了一种基于动态规划的距离变换计算方法,解决了现有的距离变换计算方法存存在误差,导致精度较差,或存在运算时间较长,处理效率较低的技术问题,实现了减少了计算的复杂度,保障了计算的一定精确度,运算时间较短,处理效率较高的技术效果。
距离变换是针对二值图像的一种变换。对于一幅m×n的二值图像I(x,y),其中,(x,y)∈(0≤x≤m-1,0≤y≤n-1),(x,y)代表像素在图像中的位置,I(x,y)代表该位置的像素值,若I(x,y)=1代表图像的目标像素;I(x,y)=0代表图像的背景像素,所以根据图像值,可以将二值图像分为目标Ob和背景Bg,Ob={(x,y)|I(x,y)=1}为目标像素集合,Bg={(x,y)|I(x,y)=0}为背景像素集合。
对于图像I中任意的2个像素点P1(x1,y1),P2(x2,y2)它们之间的城市街区距离(City Block Distance,CBD)为;CBD(P1,P2)=|x1-x2|+|y1-y2|,则DT就是求I中的所有像素到Bg的最短城市街区距离,即像素I(x,y)的城市街区距离变换(CBDT)为:
式1
在现有技术中,在计算距离变换时,主要采用蛮力法、模板传播扫描法、边界传播法、标记数组法等方法,本领域中的技术人员并没有采用动态规划方法来应用到距离变换计算中,动态规划方通常为是求解决策过程最优化的数学方法,在图像分析与模式识别领域中的距离变换计算中并没有应用过。
对于一副m×n二值图像I,可以将图像中任意非边界目标像素I(x,y)的八邻域分为“上邻域”和“下邻域”(如图2所示,目标像素I(x,y)横条格邻域表示上邻域,竖条格邻域表示下邻域),即上邻域包括目标像素I(x,y)上面3个邻域和目标像素I(x,y)左侧一个邻域;下邻域包括目标像素I(x,y)下面3个邻域和目标像素I(x,y)右侧一个邻域;不失一般性,I(x,y)的CBDT值一定是八邻域的距离与(x,y)距离之和的最小值。
由CBDT的定义我们知道,图像中的2点(x,y)到(x1,y1)距离可以借助从(x,y)到(x1,y1)路径上的像素点(x0,y0)来计算(如图3),先从左到右,从上到下计算上邻域到目标像素的最短CBD,然后从右到左,从下到上计算下邻域,最后的结果为两次计算的最小值就是该目标像素的最短距离。即:
CBD((x,y),(x1,y1))=CBD((x,y),(x0,y0))+CBD((x0,y0),(x1,y1)) 式2
定义二维数组LD:
式3;
定义二维数组RU:
式4;
则:
CBDT(x,y)=min(LD[x,y],RU[x,y]); 式5;
如图2所示,不失一般性,图中有G(x,y)和B(x,y),则两点的CBD为:
CBD(G,B)=|G.x-B.x|+|G.y-B.y|;式6,其中,.表示属性,x,y是G、B的横、纵坐标;
现假设有一点T(x,y)在图中所示路径上,则有:
CBD(T,G)=|T.x-G.x|+|T.y-G.y|; 式7
CBD(B,T)=|B.x-T.x|+|T.y-G.y|; 式8
CBD(T,G)+CBD(B,T)=|T.x-G.y|+|B.x-T.x|+|B.y-T.y|; 式9
又:B.x>T.x>G.x且B.y>T.y>G.y(条件1)故式9可以表示为:
CBD(T,G)+CBD(B,T)=|B.x-G.x|+|B.y-G.y|; 式10
可知式6与式10相等,所以式6左边部分可以转换为式10左边来求解,而计算方法的扫描方法能满足式9到式10的成立条件。所以在求一个目标G点的最短距离可以转化为满足上述条件1的T点的最短距离与B点与T点的距离之和来求解。
本申请中的计算方法只是和上邻域或者下领域有关,所以我们只需要一个大小为n的数组DP来记录当前值,并同时更新DP和距离变换结果的数据。
从上到下,从左到右:
val=DP[0]
式11
从下到上,从右到左:
val=DP[n]
式12
从而额外空间就从2×m×n缩减到n。按照上述方法,考虑到计算一个目标像素的距离变换计算时,只是和上邻域或者下邻域有关,所以完全可以用一个一维数组DP[n]来记录上一行像素计算的结果,并且在计算下一行的像素时,同步更新DP[]相应点距离变换值,这样就能把空间复杂度从O(m*n)降低到O(n)。即,计算方法的空间复杂度需求为O(n),第一伪距离变换结果和所述第二伪距离变换结果大小均为一维数组。
其中,本申请中的计算方法基于动态规划思想解决数字图像处理中距离变换计算;利用滚动数组达到空间压缩的目的,在计算上领域和下邻域的伪距离时,只和目标点的邻域有关,与邻域之外的值并无关系,所以可以设置一维数组DP[n]来记录上一次的计算结果,并作为下一次计算的依据,在计算一个像素时I[x,y],同时更新DP[x],计算下一行的像素时,它的邻域的距离变换值就是相应领域像素横坐标在DP[]中的值。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
由于采用了将目标像素的8个邻域划分为上邻域和下邻域,然后在目标像素的上下邻域内计算目标像素与背景像素的伪距离变换,然后比较伪距离变换结果,把空间复杂度从O(m*n)降低到O(n),从动态规划的角度,减少数字图像处理中求取距离变换中重叠子问题,在实践效率上有较大提高,从实验效果来看,与模板计算方法、标记数组计算方法相比较,本申请中的计算方法在时间上有较大提升,和标记数组计算方法相比,在图像数据比较大的时候,本文计算方法能够求得最少的子问题,从而在时间上能够优于前者,通过分别计算目标像素“上邻域”和“下领域”的伪最小距离,从而计算出距离背景像素点真实的最短距离来解决距离变换求解,通过和传统的距离变换计算方法和标记数组计算方法进行时间和空间的对比,验证了本文计算方法的有效性,同时本文计算方法采用空间压缩大大降低了算法的空间复杂度,所以,有效解决了现有的距离变换计算方法存存在误差,导致精度较差,或存在运算时间较长,处理效率较低的技术问题,进而实现了减少了计算的复杂度,保障了计算的一定精确度,运算时间较短,处理效率较高的技术效果。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定;
图1是本申请实施例一中基于动态规划的距离变换计算方法的流程示意图;
图2是本申请实施例一中目标像素上下邻域示意图;
图3是本申请实施例一中CBD示意图。
具体实施方式
本发明提供了一种基于动态规划的距离变换计算方法,解决了现有的距离变换计算方法存存在误差,导致精度较差,或存在运算时间较长,处理效率较低的技术问题,实现了减少了计算的复杂度,保障了计算的一定精确度,运算时间较短,处理效率较高的技术效果。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
下面结合具体实施例及附图,对本发明作进一步地的详细说明,但本发明的实施方式不限于此。
实施例一:
下面举例对本申请中的方法进行介绍:
请参考图1-图3,本申请中的计算方法使用C++在visual stdio 2013和OpenCV图像处理库存取图像数据实现,分别采用长和宽为1024*1024、512*512、256*256像素的二值实验图像测试,在本申请中的计算方法的2个实现步骤中:
Step1:从左到右,从上到下,扫描目标像素,根据目标像素的上领域来计算DP数组的值,所需的时间是O(m×n);
Step2:从下到上,从右到左,扫描目标像素,根据目标像素的下邻域来计算DP数组的值,并根据Step1记录的值确定最终的距离值,所需的时间是O(m×n)。
和传统方法相比,模板方法在两次扫描中,对于每个点需要计算和模板的卷积,模板大小s,时间复杂度为O(m×n×s×s),标记数组法分析时间复杂度是O(m×n),并且和标记数组法相比,在图像较大时,本文能减少大量的递归深度,减少重叠自问题的重复计算,标记数组会对比和计算4个标记数组,所以会耗时比较比较多,但在图像较小时,标记数据采用多数组记录方式,时间上占优。
本申请中的计算方法采用空间优化能将算法的额外空间复杂度降低到O(n),模板法只需要和模板进行卷积,故需的额外空间O(1),而标记数组,则需要O(4×m×n)大小的空间。
本申请中的计算方法从动态规划的角度,减少数字图像处理中求取距离变换中重叠子问题,在实践效率上有较大提高,从实验效果来看,与模板方法、标记数组方法相比较,本文的方法在时间上有较大提升,和标记数组算法相比,在图像数据比较大的时候,本文算法能够求得最少的子问题,从而在时间上能够优于前者,但是在图像数据少的时候,标记方法由于使用的空间从而比本文方法快,空间复杂度有了较大幅度的优化,但我们应该看到标记数组在3D距离变换时具有很大优势,本文提出的方法,在计算欧式距离(ED)上不是完全的精确的,所以,在并不是需要很大精度的应用时,本文提出的方法具有可行性。
在本申请实施例中,请参考表1,申请人采用4个大小尺寸不同的图像进行实验,分别为图a-d,图像尺寸分别为512×512、256×256、240×380、1024×1024,且图像a-d的形状不同,分别采用了本申请中的方法、模板方法、标记数组方法进行计算,实验结果表明本申请中的计算方法执行时间较短。
表1计算方法时间对比
上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:
由于采用了将目标像素的8个邻域划分为上邻域和下邻域,然后在目标像素的上下邻域内计算目标像素与背景像素的伪距离变换,然后比较伪距离变换结果,把空间复杂度从O(m*n)降低到O(n),从动态规划的角度,减少数字图像处理中求取距离变换中重叠子问题,在实践效率上有较大提高,从实验效果来看,与模板计算方法、标记数组计算方法相比较,本申请中的计算方法在时间上有较大提升,和标记数组计算方法相比,在图像数据比较大的时候,本文计算方法能够求得最少的子问题,从而在时间上能够优于前者,通过分别计算目标像素“上邻域”和“下领域”的伪最小距离,从而计算出距离背景像素点真实的最短距离来解决距离变换求解,通过和传统的距离变换计算方法和标记数组计算方法进行时间和空间的对比,验证了本文计算方法的有效性,同时本文计算方法采用空间压缩大大降低了算法的空间复杂度,所以,有效解决了现有的距离变换计算方法存存在误差,导致精度较差,或存在运算时间较长,处理效率较低的技术问题,进而实现了减少了计算的复杂度,保障了计算的一定精确度,运算时间较短,处理效率较高的技术效果。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (3)
1.一种对二值图像像素进行距离变换处理的方法,其特征在于,所述方法包括:
步骤1:输入二值图像创建数组,将目标像素的8个邻域划分为上邻域和下邻域,其中,上邻域和下邻域分别包括4个邻域;
步骤2:在目标像素的上邻域内计算目标像素与背景像素的伪距离变换,获得第一伪距离变换结果;
步骤3:在目标像素的下邻域内计算目标像素与背景像素的伪距离变换,获得第二伪距离变换结果;
步骤4:比较所述第一伪距离变换结果和所述第二伪距离变换结果,获得二者的较小值,则二者的较小值作为最终距离变换计算的结果;
所述方法具体包括:
首先,针对m*n大小的图像,将目标像素I(x,y)=1的八邻域分为上邻域Un、下邻域Dn,I(x,y)=1代表图像的目标像素;
Un={(x-1,y-1),(x,y-1),(x+1,y-1),(x-1,y)}
Dn={(x+1,y),(x-1,y+1),(x,y+1),(x+1,y+1)}
然后,设置伪距离记录数组:第一伪距离记录数组LD[m,n],第二伪距离记录数组RU[m,n],并将二者初始化为0;
然后,从上到下,从左到右,光栅扫描图像,若一个目标像素的上邻域内存在一像素点p,若p为背景像素,则这一目标点的距离变换值为1,即LD[x,y]=1;反之,即若一个目标像素的上邻域内没有背景像素点,则该目标点的距离变换值是上邻域中相应点的距离变换值与该目标点距离之和的最小值;
然后,从下到上,从右到左,光栅扫描图像,若一个目标像素的下邻域内存在一像素点p,若p为背景像素,则这一目标点的距离变换值为1,即LD[x,y]=1;反之,即若一个目标像素的下邻域内没有背景像素点,则该目标像素点的距离变换值是下邻域中相应点的距离变换值与该目标点距离之和的最小值;
最后,取LD[x,y]和RU[x,y]相应点的较小值为最终距离变换计算的结果值:
RET[x,y]=min(LD[x,y],RU[x,y])。
2.根据权利要求1所述的对二值图像像素进行距离变换处理的方法,其特征在于,所述计算方法的空间复杂度需求为O(n)。
3.根据权利要求1所述的对二值图像像素进行距离变换处理的方法,其特征在于,所述方法具体应用于城市街区距离计算中,最短城市街区距离CBDT(x,y)=RET[x,y]。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610080714.7A CN105528759B (zh) | 2016-02-03 | 2016-02-03 | 一种基于动态规划的距离变换计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610080714.7A CN105528759B (zh) | 2016-02-03 | 2016-02-03 | 一种基于动态规划的距离变换计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105528759A CN105528759A (zh) | 2016-04-27 |
CN105528759B true CN105528759B (zh) | 2018-11-09 |
Family
ID=55770966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610080714.7A Expired - Fee Related CN105528759B (zh) | 2016-02-03 | 2016-02-03 | 一种基于动态规划的距离变换计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105528759B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102136133A (zh) * | 2011-01-21 | 2011-07-27 | 北京中星微电子有限公司 | 一种图像处理方法及图像处理装置 |
CN102467740A (zh) * | 2010-11-08 | 2012-05-23 | 北京大学 | 一种大尺寸彩色图像的前景和背景交互式分割方法及系统 |
CN103150741A (zh) * | 2012-11-30 | 2013-06-12 | 常州大学 | 一种快速骨骼化二值数字图像中图形的方法 |
CN104637066A (zh) * | 2015-03-12 | 2015-05-20 | 湖南大学 | 基于序贯细化的二值图像快速骨架提取方法 |
-
2016
- 2016-02-03 CN CN201610080714.7A patent/CN105528759B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102467740A (zh) * | 2010-11-08 | 2012-05-23 | 北京大学 | 一种大尺寸彩色图像的前景和背景交互式分割方法及系统 |
CN102136133A (zh) * | 2011-01-21 | 2011-07-27 | 北京中星微电子有限公司 | 一种图像处理方法及图像处理装置 |
CN103150741A (zh) * | 2012-11-30 | 2013-06-12 | 常州大学 | 一种快速骨骼化二值数字图像中图形的方法 |
CN104637066A (zh) * | 2015-03-12 | 2015-05-20 | 湖南大学 | 基于序贯细化的二值图像快速骨架提取方法 |
Non-Patent Citations (1)
Title |
---|
Fast Euclidean distance transformation in two scans using a 3×3 neighborhood;Frank Y.Shih and YI-TA WU;《Computer Vision and Image Understanding》;20040228;第93卷(第2期);第195-205页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105528759A (zh) | 2016-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105513064B (zh) | 一种基于图像分割和自适应权重的立体匹配方法 | |
US9661228B1 (en) | Robust image feature based video stabilization and smoothing | |
CN106940876A (zh) | 一种基于surf的快速无人机航拍图像拼接算法 | |
CN108597009B (zh) | 一种基于方向角信息进行三维目标检测的方法 | |
US9990534B2 (en) | Image processing device and image processing method | |
US9483830B2 (en) | Depth map generation method, related system and computer program product | |
CN109754459B (zh) | 一种用于构建人体三维模型的方法及系统 | |
CN106709948A (zh) | 一种基于超像素分割的快速双目立体匹配方法 | |
CN109376641B (zh) | 一种基于无人机航拍视频的运动车辆检测方法 | |
CN107578430A (zh) | 一种基于自适应权值和局部熵的立体匹配方法 | |
CN106709878B (zh) | 一种快速图像融合方法 | |
CN103996202A (zh) | 一种基于混合匹配代价和自适应窗口的立体匹配方法 | |
CN107895375A (zh) | 基于视觉多特征的复杂道路线提取方法 | |
CN105335952B (zh) | 匹配代价计算方法和装置、以及视差值计算方法和设备 | |
CN109544635B (zh) | 一种基于枚举试探的相机自动标定方法 | |
CN106408596A (zh) | 基于边缘的局部立体匹配方法 | |
CN103400393B (zh) | 一种图像匹配方法和系统 | |
CN109903379A (zh) | 一种基于点云优化采样的三维重建方法 | |
CN108629809B (zh) | 一种精确高效的立体匹配方法 | |
CN105787932A (zh) | 基于分割交叉树的立体匹配方法 | |
CN103903256A (zh) | 一种基于相对高度深度线索的深度估计方法 | |
CN104537627A (zh) | 一种深度图像的后处理方法 | |
CN109741358A (zh) | 基于自适应超图学习的超像素分割方法 | |
CN111126418A (zh) | 一种基于平面透视投影的倾斜影像匹配方法 | |
CN105528759B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181109 Termination date: 20200203 |
|
CF01 | Termination of patent right due to non-payment of annual fee |