CN104715250A - 十字激光检测方法和装置 - Google Patents
十字激光检测方法和装置 Download PDFInfo
- Publication number
- CN104715250A CN104715250A CN201310695450.2A CN201310695450A CN104715250A CN 104715250 A CN104715250 A CN 104715250A CN 201310695450 A CN201310695450 A CN 201310695450A CN 104715250 A CN104715250 A CN 104715250A
- Authority
- CN
- China
- Prior art keywords
- cross
- zero pixels
- pixels point
- image
- zero
- 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.)
- Granted
Links
Abstract
本发明提供了一种十字激光检测方法和装置。所述方法包括:获取拍摄的原始图像;预处理所述原始图像以得到预处理图像,并对所述预处理图像进行二值化处理得到二值图像;在所述二值图像中对非零像素点统计位于所述非零像素点对应的区域边缘的非零像素点个数,快速初步判断该区域内是否可能包含十字中心,获取与原始图像大小相同、像素初值为零,且以像素值大小表示该点附近区域被初步判为包含十字中心的次数的图作为累加图,通过所述累加图、所述非零像素点个数和所述非零像素点对应的区域得到所述二值图像中的二值子图像块;在所述二值子图像块中提取对应的特征序列,根据所述特征序列识别激光十字的十字中心点位置和十字方向。采用本发明能任意旋转角度且准确稳定。
Description
技术邻域
本发明涉及机器视觉技术,特别是涉及一种十字激光检测方法和装置。
背景技术
随着机器视觉技术的兴起,采用图像处理的算法提取十字激光中心点成为了自动激光定位的重要实现方式。
常见的自动激光定位要求较为苛刻,要求激光十字的角度必须是固定的;而基于十字模板匹配的方法不能检测任意旋转角度的十字激光,此外,一些基于hough直线检测的算法所进行的十字激光检测中也存在着检测不稳定,难以适应因摄像头畸变而引起的直线弯曲,进而无法保证十字激光检测的准确性。
发明内容
基于此,有必要针对十字激光的检测中无法任意旋转角度且准确稳定的技术问题,提供一种能任意旋转角度且准确稳定的十字激光检测方法。
此外,还有必要提供一种能任意旋转角度且准确稳定的十字激光检测装置。
一种十字激光检测方法,包括如下步骤:
获取拍摄的原始图像;
预处理所述原始图像以得到预处理图像,并对所述预处理图像进行二值化处理得到二值图像;
在所述二值图像中对非零像素点统计位于所述非零像素点对应的区域边缘的非零像素点个数,快速初步判断该区域内是否可能包含十字中心,获取与原始图像大小相同、像素初值为零,且以像素值大小表示该点附近区域被初步判为包含十字中心的次数的图作为累加图,通过所述累加图、所述非零像素点个数和所述非零像素点对应的区域得到所述二值图像中的二值子图像块;
在所述二值子图像块中提取对应的特征序列,根据所述特征序列识别激光十字的十字中心点位置和十字方向。
在其中一个实施例中,所述预处理所述原始图像以得到预处理图像,并对预处理图像进行二值化处理得到二值图像的步骤包括:
对所述原始图像提取灰度图,并滤除图像噪声以得到预处理图像;
分别采用固定阈值算法和自适应阈值算法对所述预处理图像进行分割以得到固定阈值算法的二值化结果和自适应阈值算法的二值化结果;
对所述固定阈值算法的二值化结果和自适应阈值算法的二值化结果进行或运算得到二值图像。
在其中一个实施例中,所述在所述二值图像中对非零像素点统计位于所述非零像素点对应的区域边缘的非零像素点个数,快速初步判断该区域内是否可能包含十字中心,获取与原始图像大小相同、像素初值为零,且以像素值大小表示该点附近区域被初步判为包含十字中心的次数的图作为累加图,通过所述累加图、所述非零像素点个数和所述非零像素点对应的区域得到所述二值图像中的二值子图像块的步骤包括:
初始化与原始图像大小相同,每一像素初值均为零的图作为累加图;
在所述二值图像中对每一非零像素点统计位于所述像素点的选取框边框上的非零像素点个数;
判断所述选取框边框上的非零像素点个数是否介于所述选取框对应的阈值范围,若为是,则
在所述累加图中对与所述选取框边框上的非零像素点对应的像素点进行像素值累加以得到累加结果图;
从所述累加结果图中提取大于预设的阈值的若干个相互独立的连通域,根据所述连通域从二值图像中获取对应区域,以得到二值子图像块。
在其中一个实施例中,所述在所述二值子图像块中提取对应的特征序列,根据所述特征序列识别激光十字的十字中心点位置和十字方向的步骤包括:
提取所述二值子图像块的中心位置;
以所述中心位置为原点依次统计各个角度方向上非零像素点的个数,以构成各个角度方向上非零像素点的个数序列;
归一化所述各个角度方向上非零像素点的个数序列以得到特征序列;
根据所述特征序列得到所述激光十字的十字中心点位置和十字方向。
在其中一个实施例中,所述根据所述特征序列得到所述激光十字的十字中心点位置和十字方向的步骤包括:
从所述特征序列依次提取四个最大非零像素点的个数,根据所述提取的最大非零像素点个数得到对应的角度方向;
判断相邻的角度方向是否与角度阈值相匹配,若为是,则
获取所述二值子图像块的左上角在原始图像中的相对位置,根据所述相对位置以及所述二值子图像块的中心位置得到所述十字中心点位置,所述得到的角度方向即为十字方向。
一种十字激光检测装置,包括:
原始图像获取模块,用于获取拍摄的原始图像;
初步处理模块,用于预处理所述原始图像以得到预处理图像,并对所述预处理图像进行二值化处理得到二值图像;
候选图像块提取模块,用于在所述二值图像中对非零像素点统计位于所述非零像素点对应的区域边缘的非零像素点个数,快速初步判断该区域内是否可能包含十字中心,获取与原始图像大小相同、像素初值为零,且以像素值大小表示该点附近区域被初步判为包含十字中心的次数的图作为累加图,通过所述累加图、所述非零像素点个数和所述非零像素点对应的区域得到二值图像中的二值子图像块;
识别模块,用于在所述二值子图像块中提取对应的特征序列,根据所述特征序列识别激光十字的十字中心点位置和十字方向。
在其中一个实施例中,所述初步处理模块包括:
预处理单元,用于对所述原始图像提取灰度图,并滤除图像噪声以得到预处理图像;
分割单元,用于分别采用固定阈值算法和自适应阈值算法对所述预处理图像进行分割以得到固定阈值算法的二值化结果和自适应阈值算法的二值化结果;
或运算单元,用于对所述固定阈值算法的二值化结果和自适应阈值算法的二值化结果进行或运算得到二值图像。
在其中一个实施例中,所述候选图像块提取模块包括:
初始化单元,用于初始化与原始图像大小相同,每一像素初始值均为零的图作为累加图;
统计单元,用于在所述二值图像中对每一非零像素点统计位于所述像素点的选取框边框上的非零像素点个数;
判断单元,用于判断所述选取框边框上的非零像素点个数是否介于所述选取框对应的阈值范围,若为是,则通知累加单元;
所述累加单元用于在所述累加图中对与所述选取框边框上的非零像素点对应的像素点进行像素值累加以得到累加结果图;
区域提取单元,用于从所述累加结果图中提取大于预设的阈值的若干个相互独立的连通域,根据所述连通域从二值图像中获取对应区域,以得到二值子图像块。
在其中一个实施例中,所述识别模块包括:
中心提取单元,用于提取所述二值子图像块的中心位置;
角度方向统计单元,用于以所述中心位置为原点依次统计各个角度方向上非零像素点的个数,以构成各个方向上非零像素点的个数序列;
归一化单元,用于归一化所述各个角度方向上非零像素点的个数序列以得到特征序列;
特征处理单元,用于根据所述特征序列得到所述激光十字的十字中心点位置和十字方向。
在其中一个实施例中,所述特征处理单元包括:
序列提取单元,用于从所述特征序列依次提取四个最大非零像素点的个数,根据所述提取的最大非零像素点个数得到对应的角度方向;
方向判断单元,用于判断相邻的角度方向是否与角度阈值相匹配,若为是,则通知位置运算单元;
所述位置运算单元用于获取所述二值子图像块的左上角在原始图像中的相对位置,根据所述相对位置以及所述二值子图像块的中心位置得到所述十字中心点位置,所述得到的角度方向即为十字方向。
上述十字激光检测方法和装置,获取拍摄的原始图像以便于检测原始图像中的激光十字,预处理原始图像以得到预处理图像,并对预处理图像进行二值化处理得到二值图像,以有效地去除原始图像中的噪声,提高后续处理的准确性,在二值图像中对非零像素点统计位于非零像素点对应的区域边缘的非零像素点个数,快速初步判断该区域内是否可能包含十字中心,获取与原始图像大小相同、像素初值为零,且以像素值大小表示该点附近区域被初步判为包含十字中心的次数的图作为累加图,以通过累加图、非零像素点个数和非零像素点对应的区域得到二值图像中的二值子图像块,该二值子图像块为可能包含了激光十字的区域,最终在二值子图像块中提取特征序列,并根据特征序列识别得到十字激光的十字中心点位置和十字方向,进而即使任意旋转十字激光的角度也能够进行准确稳定的检测。
附图说明
图1为一个实施例中十字激光检测方法的流程图;
图2为图1中预处理原始图像以得到预处理图像,并对预处理图像进行二值化处理得到二值图像的方法流程图;
图3为图1中在二值图像中对非零像素点统计位于非零像素点对应的区域边缘的非零像素点个数,快速初步判断该区域内是否可能包含十字中心,获取与原始图像大小相同,像素初值为零且以像素值大小表示该点附近区域被初步判为包含十字中心的次数的图作为累加图,通过累加图、非零像素点个数和非零像素点对应的区域得到二值图像中的二值子图像块的方法流程图;
图4为图1中在二值子图像块中提取对应的特征序列,根据特征序列识别激光十字的十字中心点位置和十字方向的方法流程图;
图5为图4中根据特征序列得到激光十字的十字中心点位置和十字方向的方法流程图;
图6为一个实施例中十字激光检测装置的结构示意图;
图7为图6中初步处理模块的结构示意图;
图8为图6中候选图像块提取模块的结构示意图;
图9为图6中识别模块的结构示意图;
图10为图9中特征处理单元的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,在一个实施例中,一种十字激光检测方法,包括如下步骤:
步骤S10,获取拍摄的原始图像。
本实施例中,激光器发射十字激光时通过摄像头进行原始图像的拍摄,例如,激光器可固定安装于室内墙上,摄像头被安装于扫地机器人上,激光器向室内屋顶发射十字激光,扫地机器人上的摄像头将垂直向上进行观测以拍摄得到原始图像,该原始图像中可能包含了激光十字,需要通过检测确定,其中,激光器所发射的是波长为850纳米(nm),在室内屋顶所形成激光十字的长度约为50厘米~100厘米。
进一步的,将在摄像头设置与激光波长配套的滤光片,该滤光片为允许红外光透过,可见光截止的滤光片,允许透过光线的波长范围为800纳米~1100纳米,以减少背影噪声。
在一个实施例中,原始图像Iorg大小可为640*480像素,对于存在着激光十字的原始图像而言,激光十字属于较为明显的相对高亮度区域,但是,随着环境等各种变换,原始图像中的相对高亮度区域还可能包括了窗户、灯管等物体,并且随着原始图像拍摄位置的变化,例如,扫地机器人位置的变换以及前进方向的变化,将使得原始图像中激光十字的大小、旋转角度也在发生着变换,因此,对拍摄得到的原始图像中的激光十字而言,其单条线的长度约为20像素~100像素,单条线的宽度约为2像素~4像素。
步骤S30,预处理原始图像以得到预处理图像,并对预处理图像进行二值化处理得到二值图像。
本实施例中,对原始图像进行预处理,以进一步降低存在的噪声,对预处理图像进行二值化处理所得到的二值图像将是可能包含了激光十字的二值图像,其中,所采用的二值化处理算法将包括了固定阈值分割算法和局部自适应阈值分割算法。
步骤S50,在二值图像中对非零像素点统计位于非零像素点对应的区域边缘的非零像素点个数,初步判断该区域内是否可能包含十字中心,获取与原始图像大小相同,像素初值为零,且以像素值大小表示该点附近区域被初步判为包含十字中心的次数的图作为累加图,通过累加图、非零像素点个数和非零像素点对应的区域得到二值图像中的二值子图像块。
本实施例中,将在累加图的作用下对二值图像进行十字中心点候选区域的提取,该十字中心点候选区域即为所得到的二值子图像块,将是二值图像中可能包含上十字中心点的区域。
具体的,二值图像将包含了若干个非零像素点,对每一非零像素点,将为该非零像素点划定一定范围,即该非零像素点对应的区域,可以是以该非零像素点为中心,按照一定大小和形状所划定的区域,此时,将统计位于该区域边缘上非零像素点个数,进而通过累加图、非零像素点个数以及为该非零像素点划定的区域得到二值子图像块。
步骤S70,在二值子图像块中提取对应的特征序列,根据特征序列识别激光十字的十字中心点位置和十字方向。
本实施例中,逐一对得到的若干个二值子图像块进行特征提取以得到每一二值上子图像块所对应的特征序列,进而分别根据每一特征序列进行十字中心点位置和十字方向的识别,确定原始图像中所存在的激光十字。
如图2所示,在一个实施例中,上述步骤S30包括:
步骤S310,对原始图像提取灰度图,并滤除图像噪声以得到预处理图像。
本实施例中,将原始图像转为灰度图,将采用尺寸为3*3像素的高斯算子卷积,以通过高斯滤波算法对灰度图滤除图像噪声得到预处理图像。
步骤S330,分别采用固定阈值算法和自适应阈值算法对预处理图像进行分割以得到固定阈值算法的二值化结果和自适应阈值算法的二值化结果。
本实施例中,在完成高斯滤波得到预处理图像之后,分别对预处理图像进行固定阈值二值化和局部自适应阈值二值化,以这两种方式所对应的二值化结果。
具体的,对于大小为640*480像素的原始图像Iorg而言,进行固定阈值二值化的图像灰度范围为0~255,固定阈值可取50。
所采用的自适应阈值算法是一种根据像素的领域块的像素值分布来确认该像素位置上的二值化阈值的算法,其中,领域块大小的参数可设置为5*5像素。
步骤S350,对固定阈值算法的二值化结果和自适应阈值算法的二值化结果进行或运算得到二值图像。
本实施例中,所得到的二值图像Ibin=Ibin1∩Ibin2,其中,∩表示取“或”运算,Ibin1为固定阈值算法的二值化结果,Ibin2为自适应阈值算法的二值化结果。
如图3所示,在一个实施例中,上述步骤S50包括:
步骤S510,初始化与原始图像大小相同,每一像素初始值均为零的图作为累加图。
步骤S520,在二值图像中对每一非零像素点统计位于像素点的选取框边框上的非零像素点个数。
本实施例中,二值图像中,非零像素点即为可能是激光十字的中心位置的点,因此,预先设置选取框大小和形状,该选取框可为矩形框或者正方形框,例如,可以是21*21像素的正方形框,边框的线宽度可取1像素。
对每一非零像素点,均以该非零像素点为选取框的中心,通过选取框进行介于非零像素点周围的非零像素点个数,即统计位于选取框边框上的非零像素点个数。
具体的,分别统计每一边框所对应的非零像素点个数,记为Ni,其中,i=1,2,3,4。
步骤S530,判断选取框边框上的非零像素点个数是否介于选取框对应的阈值范围,若为是,则进入步骤S540,若为否,则结束。
本实施例中,判断统计得到的选取框边框上的非零像素点个数是否介于阈值范围,若为是,则说明该选取框所在的区域为可能存在十字中心点的区域。
该阈值范围与选取框的大小相关,例如,若选取框为21*21像素的正方形框,则对于阈值范围[T1,T2]而言,T1可取为2,T2可取为6。
具体的,将判断每一边框所对应的非零像素点个数Ni均为Ni∈[T1,T2]时,将进入步骤S540,以进一步确认这一可能存在十字中心点的区域是否确实为十字中心点的候选区域。
步骤S540,在累加图中对选取框边框上的非零像素点对应的像素点进行像素值累加以得到累加结果图。
本实施例中,在判断到选取框边框上的非零像素点个数介于阈值范围之后,将根据该选取框在二值图像上的区域得到累加图中与该区域处于同一位置,且大小相同的区域,进而在累加图中对得到的区域中的所有像素值所对应的像素值加1。
对二值图像中的每一非零像素点均通过步骤S520至步骤S540以得到最终的累加结果图Iadd。
步骤S550,从累加结果图中提取大于预设的阈值的若干个相互独立的连通域,根据连通域从二值图像中获取对应区域,以得到二值子图像块。
本实施例中,在累加结果图Iadd中提取大于预设的阈值T3的j个相互独立的连通域,其中,阈值T3与选取框的边长和激光线宽度相关,例如,可取值为10。
根据连通域在累加结果图中的位置以及大小,在二值图像中获取对应区域,该对应区域在二值图像中的位置与连通域在累加结果图的位置相同,大小也与连续域的大小相同,该对应区域即为二值子图像块Sj,j=1,2,...,k,k为连通域的个数。
如图4所示,在一个实施例中,上述步骤S70包括:
步骤S710,提取二值子图像块的中心位置。
本实施例中,采用腐蚀后取质心的方式提取得到二值图像块的中心位置(xj,yj)。
步骤S720,以中心位置为原点依次统计各个角度方向上非零像素点的个数,以构成各个角度方向上非零像素点的个数序列。
本实施例中,进行非零像素点的个数统计的各个角度方向将是由0度至360度划分得到的若干个角度方向,其中,将以中心位置为原点,绕中心位置一圈进行各个角度方向的划分,角度方向的等分数目将与激光线的宽度相关,例如,每隔10度划分一个角度方向,角度方向的等分数目为36,所得到的角度方向为36个角度方向,相邻角度方向之间相差10度。
对每一角度方向均进行非零像素点的个数的统计,以构成各个角度方向上非零像素点的个数序列,即{p1,p2,...,pn},其中,n为360度的等分数目,例如,n=36。
步骤S730,归一化各个角度方向上非零像素点的个数序列以得到特征序列。
本实施例中,将各个方向上非零像素点的个数序列{p1,p2,...,pn}归一化,以得到特征序列{q1,q2,...,qn},其中,
步骤S740,根据特征序列得到激光十字的十字中心点位置和十字方向。
本实施例中,由特征序列识别得到激光十字的十字中心点位置和十字方向,其中,该十字方向即为激光十字的十字线四条射线的方向。
如图5所示,在一个实施例中,上述步骤S740的具体过程为:
步骤S741,从特征序列依次提取四个最大非零像素点的个数,根据提取的最大非零像素点个数得到对应的角度方向。
本实施例中,根据特征序列得到非零像素点的个数最大的四个角度方向,即n1,n2,n3,n4。若无法由特征序列得到非零像素点的个数最大的四个角度方向,则判定当前所对应的二值子图像块包含的是噪声,而不是激光十字。
步骤S743,判断相邻的角度方向是否与角度阈值相匹配,若为是,则进入步骤S745,若为否,则结束。
本实施例中,在提取得到的四个角度方向中,分别获取相邻的两个角度方向之间的方向差值,以判断该方向差值是否与角度阈值相匹配,即该方向差值是否接近角度阈值,若为是,则说明当前所对应的二值子图像块中包含了激光十字,将对激光十字进行定位以确定其在原始图像中的位置和十字方向。
进一步的,若判断到相邻的角度方向并不与角度阈值相匹配,并且远离该角度阈值,则说明当前所对应的二值子图像块包含的是噪声,无法检测得到激光十字。
步骤S745,获取二值子图像块的左上角在原始图像中的相对位置,根据相对位置以及二值子图像块的中心位置得到十字中心点位置,得到的角度方向即为十字方向。
本实施例中,根据二值子图像块的左上角在原始图像中的相对位置以及二值子图像块的中心位置计算得到十字中心点位置(xj+Xj,yj+Yj),其中,(xj,yj)为十字中心点在二值子图像块的相对位置,即中心位置,(Xj,Yj)为二值子图像块的左上角在原始图像中的相对位置,所提取得到的四个角度方向n1,n2,n3,n4即为激光十字的十字线中四条射线所对应的方向。
如图6所示,在一个实施例中,一种十字激光检测装置,包括原始图像获取模块10、初步处理模块30、候选图像块提取模块50和识别模块70。
原始图像获取模块10,用于获取拍摄的原始图像。
本实施例中,激光器发射十字激光时通过摄像头进行原始图像的拍摄,例如,激光器可固定安装于室内墙上,摄像头被安装于扫地机器人上,激光器向室内屋顶发射十字激光,扫地机器人上的摄像头将垂直向上进行观测以拍摄得到原始图像,该原始图像中可能包含了激光十字,需要通过检测确定,其中,激光器所发射的是波长为850纳米(nm),在室内屋顶所形成激光十字的长度约为50厘米~100厘米。
进一步的,将在摄像头设置与激光波长配套的滤光片,该滤光片为允许红外光透过,可见光截止的滤光片,允许透过光线的波长范围为800纳米~1100纳米,以减少背影噪声。
在一个实施例中,原始图像获取模块10获取的原始图像Iorg大小可为640*480像素,对于存在着激光十字的原始图像而言,激光十字属于较为明显的相对高亮度区域,但是,随着环境等各种变换,原始图像中的相对高亮度区域还可能包括了窗户、灯管等物体,并且随着原始图像拍摄位置的变化,例如,扫地机器人位置的变换以及前进方向的变化,将使得原始图像中激光十字的大小、旋转角度也在发生着变换,因此,对拍摄得到的原始图像中的激光十字而言,其单条线的长度约为20像素~100像素,单条线的宽度约为2像素~4像素。
初步处理模块30,用于预处理原始图像以得到预处理图像,并对预处理图像进行二值化处理得到二值图像。
本实施例中,初步处理模块30对原始图像进行预处理,以进一步降低存在的噪声,对预处理图像进行二值化处理所得到的二值图像将是可能包含了激光十字的二值图像,其中,初步处理模块30所采用的二值化处理算法将包括了固定阈值分割算法和局部自适应阈值分割算法。
候选图像块提取模块50,用于在二值图像中对非零像素点统计位于非零像素点对应的区域边缘的非零像素点个数,快速初步判断该区域内是否可能包含十字中心,获取原始图像大小相同,像素初值为零,且以像素值大小表示该点附近区域被初步判为包含十字中心的次数的图作为累加图,,通过累加图、非零像素点个数和非零像素点对应的区域得到二值图像中的二值子图像块。
本实施例中,候选图像块提取模块50将在累加图的作用下对二值图像进行十字中心点候选区域的提取,该十字中心点候选区域即为所得到的二值子图像块,将是二值图像中可能包含上十字中心点的区域。
具体的,二值图像将包含了若干个非零像素点,候选图像块提取模块50对每一非零像素点,将为该非零像素点划定一定范围,即该非零像素点对应的区域,可以是以该非零像素点为中心,按照一定大小和形状所划定的区域,此时,将统计位于该区域边缘上非零像素点个数,进而通过累加图、非零像素点个数以及为该非零像素点划定的区域得到二值子图像块。
识别模块70,用于在二值子图像块中提取对应的特征序列,根据特征序列识别激光十字的十字中心点位置和十字方向。
本实施例中,识别模块70逐一对得到的若干个二值子图像块进行特征提取以得到每一二值上子图像块所对应的特征序列,进而分别根据每一特征序列进行十字中心点位置和十字方向的识别,确定原始图像中所存在的激光十字。
如图7所示,在一个实施例中,上述初步处理模块30包括预处理单元310、分割单元330和或运算单元350。
预处理单元310,用于对原始图像提取灰度图,并滤除图像噪声以得到预处理图像。
本实施例中,预处理单元310将原始图像转为灰度图,将采用尺寸为3*3像素的高斯算子卷积,以通过高斯滤波算法对灰度图滤除图像噪声得到预处理图像。
分割单元330,用于分别采用固定阈值算法和自适应阈值算法对预处理图像进行分割以得到固定阈值算法的二值化结果和自适应阈值算法的二值化结果。
本实施例中,在完成高斯滤波得到预处理图像之后,分割单元330分别对预处理图像进行固定阈值二值化和局部自适应阈值二值化,以这两种方式所对应的二值化结果。
具体的,对于大小为640*480像素的原始图像Iorg而言,进行固定阈值二值化的图像灰度范围为0~255,固定阈值可取50。
所采用的自适应阈值算法是一种根据像素的领域块的像素值分布来确认该像素位置上的二值化阈值的算法,其中,领域块大小的参数可设置为5*5像素。
或运算单元350,用于对固定阈值算法的二值化结果和自适应阈值算法的二值化结果进行或运算得到二值图像。
本实施例中,或运算单元350所得到的二值图像Ibin=Ibin1∩Ibin2,其中,∩表示取“或”运算,Ibin1为固定阈值算法的二值化结果,Ibin2为自适应阈值算法的二值化结果。
如图8所示,在一个实施例中,上述候选图像块提取模块50包括初始化单元510、统计单元520、判断单元530、累加单元540和区域提取单元550。
初始化单元510,用于初始化与原始图像大小相同,每一像素初始值均为零的图作为累加图。
统计单元520,用于在二值图像中对每一非零像素点统计位于像素点的选取框边框上的非零像素点个数。
本实施例中,二值图像中,非零像素点即为可能是激光十字的中心位置的点,因此,统计单元520预先设置选取框大小和形状,该选取框可为矩形框或者正方形框,例如,可以是21*21像素的正方形框,边框的线宽度可取1像素。
对每一非零像素点,统计单元520均以该非零像素点为选取框的中心,通过选取框进行介于非零像素点周围的非零像素点个数,即统计位于选取框边框上的非零像素点个数。
具体的,统计单元520分别统计每一边框所对应的非零像素点个数,记为Ni,其中,i=1,2,3,4。
判断单元530,用于判断选取框边框上的非零像素点个数是否介于选取框对应的阈值范围,若为是,则通知累加单元540,若为否,则停止执行。
本实施例中,判断单元530判断统计得到的选取框边框上的非零像素点个数是否介于阈值范围,若为是,则说明该选取框所在的区域为可能存在十字中心点的区域。
该阈值范围与选取框的大小相关,例如,若选取框为21*21像素的正方形框,则对于阈值范围[T1,T2]而言,T1可取为2,T2可取为6。
具体的,判断单元530将判断每一边框所对应的非零像素点个数Ni均为Ni∈[T1,T2]时,将通知累加单元540,以进一步确认这一可能存在十字中心点的区域是否确实为十字中心点的候选区域。
累加单元540,用于在累加图中对选取框上的非零像素点对应的像素点进行像素值累加以得到累加结果图。
本实施例中,在判断到选取框边框上的非零像素点个数介于阈值范围之后,累加单元540将根据该选取框在二值图像上的区域得到累加图中与该区域处于同一位置,且大小相同的区域,进而在累加图中对得到的区域中的所有像素值所对应的像素值加1。
对二值图像中的每一非零像素点均通过统计单元520、判断单元530和累加单元540得到最终的累加结果图Iadd。
区域提取单元550,用于从累加结果中提取大于预设的阈值的若干个相互独立的连通域,根据连通域从二值图像中获取对应区域,以得到二值子图像块。
本实施例中,区域提取单元550在累加结果图Iadd中提取大于预设的阈值T3的j个相互独立的连通域,其中,阈值T3与选取框的边长和激光线宽度相关,例如,可取值为10。
区域提取单元550根据连通域在累加结果图中的位置以及大小,在二值图像中获取对应区域,该对应区域在二值图像中的位置与连通域在累加结果图的位置相同,大小也与连续域的大小相同,该对应区域即为二值子图像块Sj,j=1,2,..,k,k为连通域的个数。
如图9所示,在一个实施例中,识别模块70包括中心提取单元710、角度方向统计单元730、归一化单元740和特征处理单元750。
中心提取单元710,用于提取二值子图像块的中心位置。
本实施例中,中心提取单元710采用腐蚀后取质心的方式提取得到二值图像块的中心位置(xj,yj)。
角度方向统计单元730,用于以中心位置为原点依次统计各个角度方向上非零像素点的个数,以构成各个方向上非零像素点的个数序列。
本实施例中,角度方向统计单元730进行非零像素点的个数统计的各个角度方向将是由0度至360度划分得到的若干个角度方向,其中,将以中心位置为原点,绕中心位置一圈进行各个角度方向的划分,角度方向的等分数目将与激光线的宽度相关,例如,每隔10度划分一个角度方向,角度方向的等分数目为36,所得到的角度方向为36个角度方向,相邻角度方向之间相差10度。
角度方向统计单元730对每一角度方向均进行非零像素点的个数的统计,以构成各个角度方向上非零像素点的个数序列,即{p1,p2,...,pn},其中,n为360度的等分数目,例如,n=36。
归一化单元740,用于归一化各个角度方向上非零像素点的个数序列以得到特征序列。
本实施例中,归一化单元740将各个方向上非零像素点的个数序列{p1,p2,...,pn}归一化,以得到特征序列{q1,q2,...,qn},其中,
特征处理单元750,用于根据特征序列得到激光十字的十字中心点位置和十字方向。
本实施例中,特征处理单元750由特征序列识别得到激光十字的十字中心点位置和十字方向,其中,该十字方向即为激光十字的十字线四条射线的方向。
如图10所示,在一个实施例中,上述特征处理单元750包括序列提取单元751、方向判断单元753和位置运算单元755。
序列提取单元751,用于从特征序列依次提取四个最大非零像素点的个数,根据提取的最大非零像素点个数得到对应的角度方向。
本实施例中,序列提取单元751根据特征序列得到非零像素点的个数最大的四个角度方向,即n1,n2,n3,n4。若无法由特征序列得到非零像素点的个数最大的四个角度方向,则判定当前所对应的二值子图像块包含的是噪声,而不是激光十字。
方向判断单元753,用于判断相邻的角度方向是否与角度阈值相匹配,若为是,则通知位置运算单元755,若为否,则停止执行。
本实施例中,在提取得到的四个角度方向中,方向判断单元753分别获取相邻的两个角度方向之间的方向差值,以判断该方向差值是否与角度阈值相匹配,即该方向差值是否接近角度阈值,若为是,则说明当前所对应的二值子图像块中包含了激光十字,位置运算单元755将对激光十字进行定位以确定其在原始图像中的位置和十字方向。
进一步的,若判断到相邻的角度方向并不与角度阈值相匹配,并且远离该角度阈值,则说明当前所对应的二值子图像块包含的是噪声,无法检测得到激光十字。
位置运算单元755,用于获取二值子图像块的左上角在原始图像中的相对位置,根据相对位置以及二值子图像块的中心位置得到十字中心点位置,得到的角度方向即为十字方向。
本实施例中,位置运算单元755根据二值子图像块的左上角在原始图像中的相对位置以及二值子图像块的中心位置计算得到十字中心点位置(xj+Xj,yj+Yj),其中,(xj,yj)为十字中心点在二值子图像块的相对位置,即中心位置,(Xj,Yj)为二值子图像块的左上角在原始图像中的相对位置,所提取得到的四个角度方向n1,n2,n3,n4即为激光十字的十字线中四条射线所对应的方向。
上述十字激光检测方法和装置可工作于相对较为复杂的光照背景情况中,实现任务旋转角度的十字激光的准确检测,快速排除了绝大部分非相关区域,大大地减少了运算量,实时检测十字激光。
采用上述十字激光检测方法和装置所开发的各种激光定位装置对环境要求低,准确稳定,简单易用,可应用于各种工业用户以及家庭服务机器人定位等智能化领域。
本邻域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本邻域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种十字激光检测方法,包括如下步骤:
获取拍摄的原始图像;
预处理所述原始图像以得到预处理图像,并对所述预处理图像进行二值化处理得到二值图像;
在所述二值图像中对非零像素点统计位于所述非零像素点对应的区域边缘的非零像素点个数,快速初步判断该区域内是否可能包含十字中心,获取与原始图像大小相同、像素初值为零,且以像素值大小表示该点附近区域被初步判为包含十字中心的次数的图作为累加图,通过所述累加图、所述非零像素点个数和所述非零像素点对应的区域得到所述二值图像中的二值子图像块;
在所述二值子图像块中提取对应的特征序列,根据所述特征序列识别激光十字的十字中心点位置和十字方向。
2.根据权利要求1所述的方法,其特征在于,所述预处理所述原始图像以得到预处理图像,并对预处理图像进行二值化处理得到二值图像的步骤包括:
对所述原始图像提取灰度图,并滤除图像噪声以得到预处理图像;
分别采用固定阈值算法和自适应阈值算法对所述预处理图像进行分割以得到固定阈值算法的二值化结果和自适应阈值算法的二值化结果;
对所述固定阈值算法的二值化结果和自适应阈值算法的二值化结果进行或运算得到二值图像。
3.根据权利要求1所述的方法,其特征在于,所述在所述二值图像中对非零像素点统计位于所述非零像素点对应的区域边缘的非零像素点个数,快速初步判断该区域内是否可能包含十字中心,获取与原始图像大小相同、像素初值为零,且以像素值大小表示该点附近区域被初步判为包含十字中心的次数的图作为累加图,,通过所述累加图、所述非零像素点个数和所述非零像素点对应的区域得到所述二值图像中的二值子图像块的步骤包括:
初始化与原始图像大小相同,每一像素初值均为零的图作为累加图;
在所述二值图像中对每一非零像素点统计位于所述像素点的选取框边框上的非零像素点个数;
判断所述选取框边框上的非零像素点个数是否介于所述选取框对应的阈值范围,若为是,则
在所述累加图中对与所述选取框边框上的非零像素点对应的像素点进行像素值累加以得到累加结果图;
从所述累加结果图中提取大于预设的阈值的若干个相互独立的连通域,根据所述连通域从二值图像中获取对应区域,以得到二值子图像块。
4.根据权利要求1所述的方法,其特征在于,所述在所述二值子图像块中提取对应的特征序列,根据所述特征序列识别激光十字的十字中心点位置和十字方向的步骤包括:
提取所述二值子图像块的中心位置;
以所述中心位置为原点依次统计各个角度方向上非零像素点的个数,以构成各个角度方向上非零像素点的个数序列;
归一化所述各个角度方向上非零像素点的个数序列以得到特征序列;
根据所述特征序列得到所述激光十字的十字中心点位置和十字方向。
5.根据权利要求4所述的方法,其特征在于,所述根据所述特征序列得到所述激光十字的十字中心点位置和十字方向的步骤包括:
从所述特征序列依次提取四个最大非零像素点的个数,根据所述提取的最大非零像素点个数得到对应的角度方向;
判断相邻的角度方向是否与角度阈值相匹配,若为是,则
获取所述二值子图像块的左上角在原始图像中的相对位置,根据所述相对位置以及所述二值子图像块的中心位置得到所述十字中心点位置,所述得到的角度方向即为十字方向。
6.一种十字激光检测装置,其特征在于,包括:
原始图像获取模块,用于获取拍摄的原始图像;
初步处理模块,用于预处理所述原始图像以得到预处理图像,并对所述预处理图像进行二值化处理得到二值图像;
候选图像块提取模块,用于在所述二值图像中对非零像素点统计位于所述非零像素点对应的区域边缘的非零像素点个数,快速初步判断该区域内是否可能包含十字中心,获取与原始图像大小相同、像素初值为零,且以像素值大小表示该点附近区域被初步判为包含十字中心的次数的图作为累加图,通过所述累加图、所述非零像素点个数和所述非零像素点对应的区域得到二值图像中的二值子图像块;
识别模块,用于在所述二值子图像块中提取对应的特征序列,根据所述特征序列识别激光十字的十字中心点位置和十字方向。
7.根据权利要求6所述的装置,其特征在于,所述初步处理模块包括:
预处理单元,用于对所述原始图像提取灰度图,并滤除图像噪声以得到预处理图像;
分割单元,用于分别采用固定阈值算法和自适应阈值算法对所述预处理图像进行分割以得到固定阈值算法的二值化结果和自适应阈值算法的二值化结果;
或运算单元,用于对所述固定阈值算法的二值化结果和自适应阈值算法的二值化结果进行或运算得到二值图像。
8.根据权利要求6所述的装置,其特征在于,所述候选图像块提取模块包括:
初始化单元,用于初始化与原始图像大小相同,每一像素初始值均为零的图作为累加图;
统计单元,用于在所述二值图像中对每一非零像素点统计位于所述像素点的选取框边框上的非零像素点个数;
判断单元,用于判断所述选取框边框上的非零像素点个数是否介于所述选取框对应的阈值范围,若为是,则通知累加单元;
所述累加单元用于在所述累加图中对与所述选取框边框上的非零像素点对应的像素点进行像素值累加以得到累加结果图;
区域提取单元,用于从所述累加结果图中提取大于预设的阈值的若干个相互独立的连通域,根据所述连通域从二值图像中获取对应区域,以得到二值子图像块。
9.根据权利要求6所述的装置,其特征在于,所述识别模块包括:
中心提取单元,用于提取所述二值子图像块的中心位置;
角度方向统计单元,用于以所述中心位置为原点依次统计各个角度方向上非零像素点的个数,以构成各个方向上非零像素点的个数序列;
归一化单元,用于归一化所述各个角度方向上非零像素点的个数序列以得到特征序列;
特征处理单元,用于根据所述特征序列得到所述激光十字的十字中心点位置和十字方向。
10.根据权利要求9所述的装置,其特征在于,所述特征处理单元包括:
序列提取单元,用于从所述特征序列依次提取四个最大非零像素点的个数,根据所述提取的最大非零像素点个数得到对应的角度方向;
方向判断单元,用于判断相邻的角度方向是否与角度阈值相匹配,若为是,则通知位置运算单元;
所述位置运算单元用于获取所述二值子图像块的左上角在原始图像中的相对位置,根据所述相对位置以及所述二值子图像块的中心位置得到所述十字中心点位置,所述得到的角度方向即为十字方向。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310695450.2A CN104715250B (zh) | 2013-12-17 | 2013-12-17 | 十字激光检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310695450.2A CN104715250B (zh) | 2013-12-17 | 2013-12-17 | 十字激光检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104715250A true CN104715250A (zh) | 2015-06-17 |
CN104715250B CN104715250B (zh) | 2018-06-12 |
Family
ID=53414560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310695450.2A Active CN104715250B (zh) | 2013-12-17 | 2013-12-17 | 十字激光检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104715250B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104966302A (zh) * | 2015-07-09 | 2015-10-07 | 深圳中科智酷机器人科技有限公司 | 一种任意角度激光十字的检测定位方法 |
CN107705294A (zh) * | 2017-09-14 | 2018-02-16 | 兰州交通大学 | 一种十字激光的图像式路基表面沉降监测方法和监测系统 |
CN109101880A (zh) * | 2018-07-05 | 2018-12-28 | 杭州晶智能科技有限公司 | 基于概率融合的红外图像人体识别方法 |
CN111753688A (zh) * | 2020-06-12 | 2020-10-09 | 广州极飞科技有限公司 | 种植行中心线确定方法、装置、电子设备及存储介质 |
CN113822094A (zh) * | 2020-06-02 | 2021-12-21 | 苏州科瓴精密机械科技有限公司 | 基于图像识别工作位置的方法、系统,机器人及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6347150B1 (en) * | 1996-09-17 | 2002-02-12 | Hitachi, Ltd. | Method and system for inspecting a pattern |
CN104182731A (zh) * | 2014-08-12 | 2014-12-03 | 中国科学技术大学 | 一种基于十字检测的栅格状雷达检测方法 |
-
2013
- 2013-12-17 CN CN201310695450.2A patent/CN104715250B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6347150B1 (en) * | 1996-09-17 | 2002-02-12 | Hitachi, Ltd. | Method and system for inspecting a pattern |
CN104182731A (zh) * | 2014-08-12 | 2014-12-03 | 中国科学技术大学 | 一种基于十字检测的栅格状雷达检测方法 |
Non-Patent Citations (2)
Title |
---|
张竞丹等: "十字激光图像的亚像素中心检测算法研究", 《深圳信息职业技术学院学报》 * |
杜飞明等: "一种十字丝中心坐标检测方法", 《计算技术与自动化》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104966302A (zh) * | 2015-07-09 | 2015-10-07 | 深圳中科智酷机器人科技有限公司 | 一种任意角度激光十字的检测定位方法 |
CN104966302B (zh) * | 2015-07-09 | 2018-04-20 | 中科爱芯智能科技(深圳)有限公司 | 一种任意角度激光十字的检测定位方法 |
CN107705294A (zh) * | 2017-09-14 | 2018-02-16 | 兰州交通大学 | 一种十字激光的图像式路基表面沉降监测方法和监测系统 |
CN107705294B (zh) * | 2017-09-14 | 2021-02-12 | 兰州交通大学 | 一种十字激光的图像式路基表面沉降监测方法和监测系统 |
CN109101880A (zh) * | 2018-07-05 | 2018-12-28 | 杭州晶智能科技有限公司 | 基于概率融合的红外图像人体识别方法 |
CN109101880B (zh) * | 2018-07-05 | 2022-05-31 | 北京国联视讯信息技术股份有限公司 | 基于概率融合的红外图像人体识别方法 |
CN113822094A (zh) * | 2020-06-02 | 2021-12-21 | 苏州科瓴精密机械科技有限公司 | 基于图像识别工作位置的方法、系统,机器人及存储介质 |
CN113822094B (zh) * | 2020-06-02 | 2024-01-16 | 苏州科瓴精密机械科技有限公司 | 基于图像识别工作位置的方法、系统,机器人及存储介质 |
CN111753688A (zh) * | 2020-06-12 | 2020-10-09 | 广州极飞科技有限公司 | 种植行中心线确定方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104715250B (zh) | 2018-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yuan et al. | Robust lane detection for complicated road environment based on normal map | |
EP2783328B1 (en) | Text detection using multi-layer connected components with histograms | |
CN106650665B (zh) | 人脸跟踪方法及装置 | |
CN109086724B (zh) | 一种加速的人脸检测方法及存储介质 | |
CN104715250A (zh) | 十字激光检测方法和装置 | |
CN107808161A (zh) | 一种基于光视觉的水下目标识别方法 | |
JPWO2008020544A1 (ja) | 車両検知装置,車両検知方法並びに車両検知プログラム | |
CN108198417A (zh) | 一种基于无人机的道路巡检系统 | |
JP5656768B2 (ja) | 画像特徴量抽出装置およびそのプログラム | |
EP3376438A1 (en) | A system and method for detecting change using ontology based saliency | |
KR101333459B1 (ko) | 차선 인식 방법 및 장치 | |
CN102915522A (zh) | 一种智能手机的名片提取系统及其实现方法 | |
EP3044734B1 (en) | Isotropic feature matching | |
Yu et al. | MSER based shadow detection in high resolution remote sensing image | |
CN103455998A (zh) | 视频图像中阴影的检测方法及装置 | |
CN113286086B (zh) | 一种摄像头的使用控制方法、装置、电子设备及存储介质 | |
Li et al. | Graph network refining for pavement crack detection based on multiscale curvilinear structure filter | |
JP2008084109A (ja) | 目開閉判定装置及び目開閉判定方法 | |
CN111986169A (zh) | 门窗检测方法、系统、终端以及介质 | |
CN112907661A (zh) | 一种移动目标定位方法、装置、电子设备、系统及介质 | |
CN107392209B (zh) | 一种提取线段的装置及方法 | |
CN105404891A (zh) | 一种室外设施巡检方法 | |
CN114581890B (zh) | 确定车道线的方法、装置、电子设备和存储介质 | |
CN116755562B (zh) | 一种避障方法、装置、介质及ar/vr设备 | |
CN111507339B (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 |