CN109300104A - 角点检测方法、装置 - Google Patents
角点检测方法、装置 Download PDFInfo
- Publication number
- CN109300104A CN109300104A CN201710607933.0A CN201710607933A CN109300104A CN 109300104 A CN109300104 A CN 109300104A CN 201710607933 A CN201710607933 A CN 201710607933A CN 109300104 A CN109300104 A CN 109300104A
- Authority
- CN
- China
- Prior art keywords
- pixel
- table images
- line segment
- chessboard table
- value
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20164—Salient point detection; Corner detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种角点检测方法、装置。其中,角点检测方法包括以下步骤:获取棋盘格图像,其中,棋盘格图像为灰度图像;对棋盘格图像进行二值化处理;通过预设方形模板对二值化处理后的棋盘格图像进行遍历,并实时获取预设方形模板的对角线上的像素信息,以及根据对角线上的像素信息确定棋盘格图像的角点。该实施例的角点检测方法能够提升角点检测的准确率,进而有利于摄像头标定中参数的计算。另外,本发明还公开了一种非临时性计算机可读存储介质。
Description
技术领域
本发明涉及图像处理领域,尤其涉及一种角点检测方法和一种角点检测装置。
背景技术
随着科学技术的不断发展,车辆驾驶智能化已逐渐变成了现实,基于交通信号灯的检测、识别与跟踪算法,为当前的机动车驾驶甚至无人驾驶的实现提供了很大的帮助。其中,摄像头起到很大的重要,通过摄像头可以获取车辆外面的图像信息,进而可以根据图像信息计算出空间物体的位置、形状等几何信息,进而达到描述和识别环境中的空间物体的目的。若要达到这个目的,首先必须确定空间环境中物体表面上某点的位置与其在图像上相对应点之间的映射关系,即构造几何模型,而其中的模型参数即为摄像头标定所要的结果称之为摄像头参数,求解过程称作标定过程,而其中检测角点是一个重要的过程,它直接关系到摄像头参数的获取。
相关技术中,采用SUSAN(Smallest Univalve Segment Assimilating Nucleus,最小核值相似区)角点检测算子进行角点检测。下面以二值图像为例对SUSAN算子进行简要说明:
如图1所示,采用半径为R=3.4(pixel)的圆形模板(由于图像是由像素组成,无法采用真正意义上的圆形模板,故采用近似圆代替,如5*5或37像素模板),其包含37个像素,位于圆形模板中心的像素称为核心点。如图2所示,暗区矩形窗口置于亮区背景上,圆形模板位于亮区背景中的五个不同的位置。比较模板内像素灰度值与核心点灰度值之间的大小关系,将与核心点灰度值相似的区域定义为USAN(Univalve Segment AssimilatingNucleus,核值相似区),图2中的a、b、c、d、e圆形模板位于五种不同位置。
如图3所示,模板e完全处于亮区背景中,USAN面积最大;模板c的核心点位于一侧亮区边缘附近,USAN面积较模板e减少;模板b的核心点恰好位于暗区边缘,USAN面积较模板e减半;模板a的核心点恰好位于角点上,USAN面积最小。因此,USAN的面积越小,表示当前像素是角点的可能性就越大,基于这种思想的算法称为SUSAN算法。
然而,由于SUSAN角点检测算法不需要用对图像进行求导,因此具有较强的抗噪声能力。但USAN的三种典型形状只是理想的情况,在实际情况下,图像边缘的灰度也是渐变的,因此在边缘较平滑的区域,很容易提取出伪角点,并且这些伪角点在噪声严重的情况下表现更为明显。由此,制约了SUSAN算法的角点检测性能。而且SUSAN算子对阈值选取的依赖性较大,如果阈值选择不当,则会影响检测结果的准确率。
发明内容
本发明旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本发明的一个目的在于提出一种角点检测方法,该方法能够提升角点检测的准确率,进而有利于摄像头标定中参数的计算。
本发明的第二个目的在于提出一种角点的检测装置。
本发明的第三个目的在于提出一种非临时性计算机可读存储介质。
为达到上述目的,本发明第一方面实施例提出了一种角点检测方法,包括以下步骤:获取棋盘格图像,其中,所述棋盘格图像为灰度图像;对所述棋盘格图像进行二值化处理;通过预设方形模板对二值化处理后的棋盘格图像进行遍历,并实时获取所述预设方形模板的对角线上的像素信息,以及根据所述对角线上的像素信息确定所述棋盘格图像的角点。
根据本发明实施例的角点检测方法,对获取的棋盘格图像进行二值化处理,进而通过预设方形模板对二值化处理后的棋盘格图像进行遍历,并实时获取预设方形模板的对角线上的像素信息,以根据对角线上的像素信息确定棋盘格图像的角点,由此,能够提升角点检测的准确率,进而有利于摄像头标定中参数的计算。
另外,根据本发明实施例的角点检测方法还可以具有如下附加的技术特征:
根据本发明的一个实施例,所述对所述棋盘格图像进行二值化处理包括:A、计算所述棋盘格图像的直方图,并将所述直方图的中值作为二值化初始中值Tinit;B、根据Tinit将所述棋盘格图像的像素分成第一组像素和第二组像素,其中,所述第一组像素的灰度值满足条件G(x,y)≥Tinit,所述第二组像素的灰度值满足条件G(x,y)<Tinit;C、分别计算所述第一组像素和所述第二组像素中像素的平均灰度值u1、u2;D、根据u1、u2计算新的像素分组阈值T,其中,T=(u1+u2)/2;E、将所述新的像素分组阈值T作为二值化中值,并重复执行步骤B-E,直至T<Tinit;F、根据最终得到的像素分组阈值T对所述棋盘格图像中的像素进行分组,得到所述二值化处理后的棋盘格图像。
根据本发明的一个实施例,在对所述棋盘格图像进行二值化处理之前,还对所述棋盘格图像进行去噪处理。
根据本发明的一个实施例,所述获取所述预设方形模板的对角线上的像素信息包括:获取所述预设方形模板内灰度值为0的像素数m和灰度值为255的像素数n,其中,所述预设方形模板的两条对角线的两端分别延长预设长度;判断m/n的取值是否在预设区间内;如果m/n的取值在所述预设区间内,则以所述预设方形模板的核心点为分界点将延长后的两条对角线分为线段一、线段二、线段三、线段四,并获取每个线段上的像素的数量及对应的灰度值,其中,所述线段一和所述线段三位于同一延长后的对角线上,所述线段二和线段四位于同一延长后的对角线上;如果所述线段一和所述线段三上的像素数及像素的灰度值均相同,且所述线段二和所述线段四上的像素数及像素的灰度值均相同,则判断所述两条对角线的交点为所述棋盘格图像的角点。
其中,所述预设区间为(0.8,1.2)。
为达到上述目的,本发明第二方面实施例提出了一种角点检测装置,包括:第一获取模块,用于获取棋盘格图像,其中,所述棋盘格图像为灰度图像;处理模块,用于对所述棋盘格图像进行二值化处理;遍历模块,用于通过预设方形模板对二值化处理后的棋盘格图像进行遍历;第二获取模块,用于在所述遍历模块对二值化处理后的棋盘格图像进行遍历时,实时获取所述预设方形模板的对角线上的像素信息,并根据所述对角线上的像素信息确定所述棋盘格图像的角点。
根据本发明实施例的角点检测装置,通过处理模块对获取的棋盘格图像进行二值化处理,进而通过遍历模块采用预设方形模板对二值化处理后的棋盘格图像进行遍历,通过第二获取模块在遍历模块对二值化处理后的棋盘格图像进行遍历时,实时获取预设方形模板的对角线上的像素信息,并根据对角线上的像素信息确定棋盘格图像的角点,由此,能够提升角点检测的准确率,进而有利于摄像头标定中参数的计算。
另外,根据本发明实施例的角点检测装置还可以具有如下附加的技术特征:
根据本发明的一个实施例,所述处理模块具体执行如下步骤:A、计算所述棋盘格图像的直方图,并将所述直方图的中值作为二值化初始中值Tinit;B、根据Tinit将所述棋盘格图像的像素分成第一组像素和第二组像素,其中,所述第一组像素的灰度值满足条件G(x,y)≥Tinit,所述第二组像素的灰度值满足条件G(x,y)<Tinit;C、分别计算所述第一组像素和所述第二组像素中像素的平均灰度值u1、u2;D、根据u1、u2计算新的像素分组阈值T,其中,T=(u1+u2)/2;E、将所述新的像素分组阈值T作为二值化中值,并重复执行步骤B-E,直至T<Tinit;F、根据最终得到的像素分组阈值T对所述棋盘格图像中的像素进行分组,得到所述二值化处理后的棋盘格图像。
根据本发明的一个实施例,所述处理模块,还用于在对所述棋盘格图像进行二值化处理之前,对所述棋盘格图像进行去噪处理。
根据本发明的一个实施例,所述第二获取模块包括:第一获取单元,用于获取所述预设方形模板内灰度值为0的像素数m和灰度值为255的像素数n,其中,所述预设方形模板的两条对角线的两端分别延长预设长度;判断单元,用于判断m/n的取值是否在预设区间内;处理单元,用于在m/n的取值在所述预设区间内时,以所述预设方形模板的核心点为分界点将延长后的两条对角线分为线段一、线段二、线段三、线段四;第二获取单元,用于获取每个线段上的像素的数量及对应的灰度值,其中,所述线段一和所述线段三位于同一延长后的对角线上,所述线段二和线段四位于同一延长后的对角线上;确定模块,用于在所述线段一和所述线段三上的像素数及像素的灰度值均相同,且所述线段二和所述线段四上的像素数及像素的灰度值均相同时,确定所述两条对角线的交点为所述棋盘格图像的角点。
其中,所述预设区间为(0.8,1.2)。
为达到上述目的,本发明第三方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例的角点检测方法。
本发明实施例的非临时性计算机可读存储介质,在其上存储的对应角点检测方法的程序被处理执行时,能够有效检测到棋盘格图像的角点,且角点检测的准确率高,进而有利于摄像头标定中参数的计算。
附图说明
图1是相关技术的SUSAN算子角点检测采用的圆形模板示意图;
图2是相关技术中SUSAN算子中圆形模板在图像不同区域时的示意图;
图3是相关技术中SUSAN算子中圆形模板在图像不同区域时对应的USAN区域的示意图;
图4是根据本发明实施例的角点检测方法的流程图;
图5是根据本发明一个实施例的角点检测方法采用的预设方形模板在图像不同区域时的示意图;
图6是根据本发明一个实施例的二值化处理方法的流程图;
图7是根据本发明一个实施例的步骤S103的流程图;
图8是根据本发明一个实施例的角点检测完成后的棋盘格图像的示意图;
图9是根据本发明实施例的角点检测装置的方框图;
图10是根据本发明一个具体实施例的角点检测装置的方框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述根据本发明实施例提出的角点检测方法、装置。
图4是根据本发明实施例的角点检测方法的流程图。如图4所示,该角点检测方法包括以下步骤:
S101,获取棋盘格图像,其中,棋盘格图像为灰度图像。
具体地,汽车上可以设置有ADAS***(Advanced Driver Assistant System,先进驾驶辅助***)。当开启ADAS***时,可以通过摄像头拍摄棋盘格图像。为避免影响角点检测和标定结果的精度,拍摄得到的棋盘格图像可以不包括其它背景信息。当然,在拍摄过程中也可能包括背景信息,即棋盘格之外的信息,为提高角点检测的准确度,所拍摄的棋盘格图像的背景图像中应避免出现类似于棋盘格角点的噪声图像。
其中,棋盘格是摄像头标定中常用的模板,即通过建立棋盘格中特征点的图像坐标与实体空间环境坐标之间的关系。可以理解,在摄像头拍摄图像时,棋盘格是预先设置好的。
一般而言,参见图5,棋盘格是由黑白相间的正方格组成,相邻黑格与白格交线形成的区域为边缘区域,角点及其邻域内具有相同灰度分布特征的像素在区域为角点区域。
需要说明的是,如果摄像头获取到的棋盘格图像不是灰度图像,则需要对棋盘格图像进行灰度处理,以获取棋盘格图像对应的灰度图像。
S102,对棋盘格图像进行二值化处理。
具体地,为了便于棋盘格图像的角点检测,可以对棋盘格图像进行二值化处理,例如,可以根据棋盘格图像的像素灰度值将棋盘格图像中的像素分为两类,即二值化处理,最终得到的棋盘格图像的像素的灰度值为0或255。
S103,通过预设方形模板对二值化处理后的棋盘格图像进行遍历,并实时获取预设方形模板的对角线上的像素信息,以根据对角线上的像素信息确定棋盘格图像的角点。
其中,参见图5,预设方形模板的面积不能过大,否则会增大角点检测的计算量,也不能太少,否则可能会增加伪角点出现的概率。在该实施例中,预设方形模板的面积可以与棋盘格图像中的棋盘格面积呈一定关系,如可以是棋盘格中每个黑格/白格面积的1/4。
具体地,棋盘格图像角点相邻的对角棋盘格中的像素的数量相同,像素的灰度值也相同,相邻的具有交线的棋盘格中的像素的数量相同,像素的灰度值不同。可以利用该特征,在通过预设方形模板对二值化处理后的棋盘格图像进行遍历时,实时获取预设方形模板的对角线上的像素信息,进而可根据对角线上的像素信息确定棋盘格图像的角点。例如,可以两对角线的交点为分界点,将量对角线分成等长的四段,如果共用对角线的两段上的像素的数量和灰度值都相同,不共用对角线的两段上的像素的数量相同、灰度值不同,则可以确定两对角线的交点(即预设方形模板的核心点)为棋盘格图像的角点。
需要说明的是,考虑到预设方形模板的区域所包含的特征可能还不够全面,可以将预设方形模板的对角线进行延长,以根据延长后的对角线上的像素特征确定棋盘格图像的角点。且在通过预设方形模板对二值化处理后的棋盘格图像进行遍历时,预设方形模板不能越出棋盘格图像的边界。
在该实施例中,汽车运行时,开启ADAS***,通过摄像头获取棋盘格图像,并对棋盘格图像进行二值化处理,进而通过预设方形模板对二值化处理后的棋盘格图像进行遍历,并实时获取预设方形模板的对角线上的像素信息,以根据对角线上的像素信息确定棋盘格图像的角点。
该角点检测方法,能够提升角点检测的准确率,进而有利于摄像头标定中参数的计算。
在本发明的实施例中,为了使棋盘格图像细节清晰,达到对棋盘格图像增强的目的,还可以对棋盘格图像进行直方图均衡化。
具体地,设棋盘格图像的表达式为G(x,y),取值范围在[0,L],直方图表达式为HG(z),则棋盘格图像的总像素的数量为:均衡化后概率函数为:对应的分布函数为:
在该实施例中,在对棋盘格图像进行二值化处理之前,还可以对棋盘格图像进行去噪处理。
具体地,直方图均衡化虽然能够让棋盘格图像中的信息更加丰富,但是有可能放大了棋盘格图像中的噪声,因此还可以对直方图均衡化处理后的棋盘格图像进行去噪处理。设噪音可以用一个很小的图像信号函数s(x,y)表示,随机噪声信号函数用r(x,y)表示,得到的图像信号用函数g(x,y)表示,则可以得到加性噪声为:g(x,y)=s(x,y)+r(x,y),乘性噪声为:g(x,y)=s(x,y)[1+r(x,y)]=s(x,y)+s(x,y)r(x,y)。
为了保留源图像的总体特征,可以采用高斯平滑方法进行去噪,具体公式为:其中,δ为高斯模板的宽度参数,i*j为高斯模板的大小。
由此,可以使棋盘格图像的总体信息保存的更加完整。
在本发明的一个实施例中,如图6所示,在对棋盘格图像进行二值化处理时,具体可以包括以下步骤:
A、计算棋盘格图像的直方图,并将直方图的中值作为二值化初始中值Tinit。
B、根据Tinit将棋盘格图像的像素分成第一组像素和第二组像素,其中,第一组像素的灰度值满足条件G(x,y)≥Tinit,第二组像素的灰度值满足条件G(x,y)<Tinit。
C、分别计算第一组像素和第二组像素中像素的平均灰度值u1、u2。
D、根据u1、u2计算新的像素分组阈值T,其中,T=(u1+u2)/2。
E、将新的像素分组阈值T作为二值化中值,并重复执行步骤B-E,直至T<Tinit。
F、根据最终得到的像素分组阈值T对棋盘格图像中的像素进行分组,得到二值化处理后的棋盘格图像。
进一步地,在本发明的一个实施例中,如图7所示,上述步骤S103包括:
S1031,获取预设方形模板内灰度值为0的像素数m和灰度值为255的像素数n。
其中,预设方形模板的两条对角线的两端分别延长预设长度。
在该实施例中,预设长度可以根据预设方形模板的长度和宽度确定,如可以是对角线长度的一半。
S1032,判断m/n的取值是否在预设区间内。
其中,预设区间可以为(0.8,1.2)。
S1033,如果m/n的取值在预设区间内,则以预设方形模板的核心点为分界点将包含延长线的两条对角线分为线段一、线段二、线段三、线段四。
S1034,获取每个线段上的像素的数量及对应的灰度值,其中,线段一和线段三位于同一延长后的对角线上,线段二和线段四位于同一延长后的对角线上。
S1035,如果线段一和线段三上的像素数及灰度值均相同,且线段二和线段四上的像素数及灰度值均相同,则判断两条对角线的交点为棋盘格图像的角点。
具体地,对经过二值化处理的棋盘格图像进行从上往下从左往右依次进行遍历,并分别计算预设方形模板内灰度值为0的像素数m与灰度值为255的像素数n,二者的比值为K=m/n;若0.8<K<1.2,则以预设方形模板的两条对角线的交点为分界线,分别统计4条线段(参见图5中的线段一、线段二、线段三、线段四)上的灰度值为0的像素数和灰度值为255的像素数M和N。由于黑白相间的棋盘格在角点上同一条对角线上的点(排除对角线的交点)对应的像素灰度值相同,因此利用这个关系容易检测出角点的位置。
参见图4,当预设方形模板遍历至a位置时,虽然线段一与线段二上均有一部分为黑色(即灰度值为0),但灰度值为0的像素数不相同,因此a位置处预设方形模板的核心点不是角点;而b、d位置处预设方形模板的对角线明显要么完全不同要么完全相同,因此,其对应的核心点也不是角点;c位置处,预设方形模板中的灰度值为0和灰度值为255的像素数相同,且对角线上的像素灰度值也满足对称,因此,其对应的核心点为角点。
进一步地,可以将检测出的角点(如图8所示)依次标记并存储下来用于摄像头标定的参数计算。
综上,根据本发明实施例的角点检测方法,对获取的棋盘格图像进行二值化处理,进而通过预设方形模板对二值化处理后的棋盘格图像进行遍历,并实时获取预设方形模板的对角线上的像素信息,以根据对角线上的像素信息确定棋盘格图像的角点,由此,能够提升角点检测的准确率,进而有利于摄像头标定中参数的计算。
进一步地,本发明提出了一种非临时性计算机可读存储介质。
在本发明的实施例中,非临时性计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述实施例的角点检测方法。
本发明实施例的非临时性计算机可读存储介质,在其上存储的对应角点检测方法的程序被处理执行时,能够有效检测到棋盘格图像的角点,且角点检测的准确率高,进而有利于摄像头标定中参数的计算。
图9是根据本发明实施例的角点检测装置的方框图。如图9所示,角点检测装置100包括:第一获取模块10、处理模块20、遍历模块30、第二获取模块40。
其中,第一获取模块10用于获取棋盘格图像,其中,棋盘格图像为灰度图像。处理模块20用于对棋盘格图像进行二值化处理。遍历模块30用于通过预设方形模板对二值化处理后的棋盘格图像进行遍历。第二获取模块40用于在遍历模块30对二值化处理后的棋盘格图像进行遍历时,实时获取预设方形模板的对角线上的像素信息,并根据对角线上的像素信息确定棋盘格图像的角点。
具体地,汽车上可以设置有ADAS***。当开启ADAS***时,可以通过摄像头拍摄棋盘格图像。为避免影响角点检测和标定结果的精度,拍摄得到的棋盘格图像可以不包括其它背景信息。当然,在拍摄过程中也可能包括背景信息,即棋盘格之外的信息,为提高角点检测的准确度,所拍摄的棋盘格图像的背景图像中应避免出现类似于棋盘格角点的噪声图像。
其中,棋盘格是摄像头标定中常用的模板,即通过建立棋盘格中特征点的图像坐标与实体空间环境坐标之间的关系。可以理解,在摄像头拍摄图像时,棋盘格是预先设置好的。
一般而言,参见图5,棋盘格是由黑白相间的正方格组成,相邻黑格与白格交线形成的区域为边缘区域,角点及其邻域内具有相同灰度分布特征的像素在区域为角点区域。
需要说明的是,如果摄像头获取到的棋盘格图像不是灰度图像,则可以通过处理模块20对棋盘格图像进行灰度处理,以获取棋盘格图像对应的灰度图像。
进一步地,参见图5,预设方形模板的面积不能过大,否则会增大角点检测的计算量,也不能太少,否则可能会增加伪角点出现的概率。在该实施例中,预设方形模板的面积可以与棋盘格图像中的棋盘格面积呈一定关系,如可以是棋盘格中每个黑格/白格面积的1/4。
具体地,棋盘格图像角点相邻的对角棋盘格中的像素的数量相同,像素的灰度值也相同,相邻的具有交线的棋盘格中的像素的数量相同,像素的灰度值不同。可以利用该特征,在遍历模块30通过预设方形模板对二值化处理后的棋盘格图像进行遍历时,第二获取模块40实时获取预设方形模板的对角线上的像素信息,进而可根据对角线上的像素信息确定棋盘格图像的角点。例如,可以两对角线的交点为分界点,将量对角线分成等长的四段,如果共用对角线的两段上的像素的数量和灰度值都相同,不共用对角线的两段上的像素的数量相同、灰度值不同,则可以确定两对角线的交点(即预设方形模板的核心点)为棋盘格图像的角点。
需要说明的是,考虑到预设方形模板的区域所包含的特征可能还不够全面,可以将预设方形模板的对角线进行延长,以根据延长后的对角线上的像素特征确定棋盘格图像的角点。且遍历模块30在通过预设方形模板对二值化处理后的棋盘格图像进行遍历时,预设方形模板不能越出棋盘格图像的边界。
在该实施例中,汽车运行时,开启ADAS***,第一获取模块10获取摄像头拍摄的棋盘格图像,处理模块20对棋盘格图像进行二值化处理,进而在遍历模块30通过预设方形模板对二值化处理后的棋盘格图像进行遍历时,第二获取模块40实时获取预设方形模板的对角线上的像素信息,以根据对角线上的像素信息确定棋盘格图像的角点。
该角点检测装置,能够提升角点检测的准确率,进而有利于摄像头标定中参数的计算。
在本发明的实施例中,为了使棋盘格图像细节清晰,达到对棋盘格图像增强的目的,还可以通过处理模块20对棋盘格图像进行直方图均衡化。
具体地,设棋盘格图像的表达式为G(x,y),取值范围在[0,L],直方图表达式为HG(z),则棋盘格图像的总像素的数量为:均衡化后概率函数为:对应的分布函数为:
在该实施例中,处理模块20在对棋盘格图像进行二值化处理之前,还可以对棋盘格图像进行去噪处理。
具体地,直方图均衡化虽然能够让棋盘格图像中的信息更加丰富,但是有可能放大了棋盘格图像中的噪声,因此还可以对直方图均衡化处理后的棋盘格图像进行去噪处理。设噪音可以用一个很小的图像信号函数s(x,y)表示,随机噪声信号函数用r(x,y)表示,得到的图像信号用函数g(x,y)表示,则可以得到加性噪声为:g(x,y)=s(x,y)+r(x,y),乘性噪声为:g(x,y)=s(x,y)[1+r(x,y)]=s(x,y)+s(x,y)r(x,y)。
为了保留源图像的总体特征,处理模块20可以采用高斯平滑方法进行去噪,具体公式为:其中,δ为高斯模板的宽度参数,i*j为高斯模板的大小。
由此,可以使棋盘格图像的总体信息保存的更加完整。
在本发明的一个实施例中,处理模块20在对棋盘格图像进行二值化处理时具体执行如下步骤:
A、计算棋盘格图像的直方图,并将直方图的中值作为二值化初始中值Tinit;
B、根据Tinit将棋盘格图像的像素分成第一组像素和第二组像素,其中,第一组像素的灰度值满足条件G(x,y)≥Tinit,第二组像素的灰度值满足条件G(x,y)<Tinit;
C、分别计算第一组像素和第二组像素中像素的平均灰度值u1、u2;
D、根据u1、u2计算新的像素分组阈值T,其中,T=(u1+u2)/2;
E、将新的像素分组阈值T作为二值化中值,并重复执行步骤B-E,直至T<Tinit;
F、根据最终得到的像素分组阈值T对棋盘格图像中的像素进行分组,得到二值化处理后的棋盘格图像。
在本发明的一个实施例中,如图10所示,第二获取模块包括40包括第一获取单元41、判断单元42、处理单元43、第二获取单元44和确定单元45。
其中,第一获取单元41用于获取预设方形模板内灰度值为0的像素数m和灰度值为255的像素数n,其中,预设方形模板的两条对角线的两端分别延长预设长度。判断单元42用于判断m/n的取值是否在预设区间内。处理单元43用于在m/n的取值在预设区间内时,以预设方形模板的核心点为分界点将延长后的两条对角线分为线段一、线段二、线段三、线段四。第二获取单元44用于获取每个线段上的像素的数量及对应的灰度值,其中,线段一和线段三位于同一延长后的对角线上,线段二和线段四位于同一延长后的对角线上;确定单元45用于在线段一和线段三上的像素数及灰度值均相同,且线段二和线段四上的像素数及灰度值均相同时,确定两条对角线的交点为棋盘格图像的角点。
其中,预设区间可以为(0.8,1.2),预设长度可以根据预设方形模板的长度和宽度确定,如可以是对角线长度的一半。
具体地,遍历模块30对经过二值化处理的棋盘格图像进行从上往下从左往右依次进行遍历时,第二获取模块40分别计算预设方形模板内灰度值为0的像素数m与灰度值为255的像素数n,二者的比值为K=m/n;若0.8<K<1.2,则以预设方形模板的两条对角线的交点为分界线,分别统计4条线段(即线段一、线段二、线段三、线段四)上的灰度值为0的像素数和灰度值为255的像素数M和N。由于黑白相间的棋盘格在角点上同一条对角线上的点(排除对角线的交点)对应的像素灰度值相同,因此利用这个关系容易检测出角点的位置。
参见图4,当预设方形模板遍历至a位置时,虽然线段一与线段二上均有一部分为黑色(即灰度值为0),但灰度值为0的像素数不相同,因此a位置处预设方形模板的核心点不是角点;而b、d位置处预设方形模板的对角线明显要么完全不同要么完全相同,因此,其对应的核心点也不是角点;c位置处,预设方形模板中的灰度值为0和灰度值为255的像素数相同,且对角线上的像素灰度值也满足对称,因此,其对应的核心点为角点。
进一步地,可以将检测出的角点(如图8所示)依次标记并存储下来用于摄像头标定的参数计算。
综上,根据本发明实施例的角点检测装置,通过处理模块20对获取的棋盘格图像进行二值化处理,进而通过第二获取模块在遍历模块一预设方形模板对二值化处理后的棋盘格图像进行遍历时,实时获取预设方形模板的对角线上的像素信息,以根据对角线上的像素信息确定棋盘格图像的角点,由此,能够提升角点检测的准确率,进而有利于摄像头标定中参数的计算。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (11)
1.一种角点检测方法,其特征在于,包括以下步骤:
获取棋盘格图像,其中,所述棋盘格图像为灰度图像;
对所述棋盘格图像进行二值化处理;
通过预设方形模板对二值化处理后的棋盘格图像进行遍历,并实时获取所述预设方形模板的对角线上的像素信息,以及根据所述对角线上的像素信息确定所述棋盘格图像的角点。
2.如权利要求1所述的角点检测方法,其特征在于,所述对所述棋盘格图像进行二值化处理包括:
A、计算所述棋盘格图像的直方图,并将所述直方图的中值作为二值化初始中值Tinit;
B、根据Tinit将所述棋盘格图像的像素分成第一组像素和第二组像素,其中,所述第一组像素的灰度值满足条件G(x,y)≥Tinit,所述第二组像素的灰度值满足条件G(x,y)<Tinit;
C、分别计算所述第一组像素和所述第二组像素中像素的平均灰度值u1、u2;
D、根据u1、u2计算新的像素分组阈值T,其中,T=(u1+u2)/2;
E、将所述新的像素分组阈值T作为二值化中值,并重复执行步骤B-E,直至T<Tinit;
F、根据最终得到的像素分组阈值T对所述棋盘格图像中的像素进行分组,得到所述二值化处理后的棋盘格图像。
3.如权利要求1或2所述的角点检测方法,其特征在于,在对所述棋盘格图像进行二值化处理之前,还对所述棋盘格图像进行去噪处理。
4.如权利要求1或2所述的角点检测方法,其特征在于,所述获取所述预设方形模板的对角线上的像素信息包括:
获取所述预设方形模板内灰度值为0的像素数m和灰度值为255的像素数n,其中,所述预设方形模板的两条对角线的两端分别延长预设长度;
判断m/n的取值是否在预设区间内;
如果m/n的取值在所述预设区间内,则以所述预设方形模板的核心点为分界点将延长后的两条对角线分为线段一、线段二、线段三、线段四,并获取每个线段上的像素的数量及对应的灰度值,其中,所述线段一和所述线段三位于同一延长后的对角线上,所述线段二和线段四位于同一延长后的对角线上;
如果所述线段一和所述线段三上的像素数及像素的灰度值均相同,且所述线段二和所述线段四上的像素数及像素的灰度值均相同,则判断所述两条对角线的交点为所述棋盘格图像的角点。
5.如权利要求4所述的角点检测方法,其特征在于,所述预设区间为(0.8,1.2)。
6.一种角点检测装置,其特征在于,包括:
第一获取模块,用于获取棋盘格图像,其中,所述棋盘格图像为灰度图像;
处理模块,用于对所述棋盘格图像进行二值化处理;
遍历模块,用于通过预设方形模板对二值化处理后的棋盘格图像进行遍历;
第二获取模块,用于在所述遍历模块对二值化处理后的棋盘格图像进行遍历时,实时获取所述预设方形模板的对角线上的像素信息,并根据所述对角线上的像素信息确定所述棋盘格图像的角点。
7.如权利要求6所述的角点检测装置,其特征在于,所述处理模块具体执行如下步骤:
A、计算所述棋盘格图像的直方图,并将所述直方图的中值作为二值化初始中值Tinit;
B、根据Tinit将所述棋盘格图像的像素分成第一组像素和第二组像素,其中,所述第一组像素的灰度值满足条件G(x,y)≥Tinit,所述第二组像素的灰度值满足条件G(x,y)<Tinit;
C、分别计算所述第一组像素和所述第二组像素中像素的平均灰度值u1、u2;
D、根据u1、u2计算新的像素分组阈值T,其中,T=(u1+u2)/2;
E、将所述新的像素分组阈值T作为二值化中值,并重复执行步骤B-E,直至T<Tinit;
F、根据最终得到的像素分组阈值T对所述棋盘格图像中的像素进行分组,得到所述二值化处理后的棋盘格图像。
8.如权利要求6或7所述的角点检测装置,其特征在于,所述处理模块,还用于在对所述棋盘格图像进行二值化处理之前,对所述棋盘格图像进行去噪处理。
9.如权利要求6或7所述的角点检测装置,其特征在于,所述第二获取模块包括:
第一获取单元,用于获取所述预设方形模板内灰度值为0的像素数m和灰度值为255的像素数n,其中,所述预设方形模板的两条对角线的两端分别延长预设长度;
判断单元,用于判断m/n的取值是否在预设区间内;
处理单元,用于在m/n的取值在所述预设区间内时,以所述预设方形模板的核心点为分界点将延长后的两条对角线分为线段一、线段二、线段三、线段四;
第二获取单元,用于获取每个线段上的像素的数量及对应的灰度值,其中,所述线段一和所述线段三位于同一延长后的对角线上,所述线段二和线段四位于同一延长后的对角线上;
确定模块,用于在所述线段一和所述线段三上的像素数及像素的灰度值均相同,且所述线段二和所述线段四上的像素数及像素的灰度值均相同时,确定所述两条对角线的交点为所述棋盘格图像的角点。
10.如权利要求9所述的角点检测装置,其特征在于,所述预设区间为(0.8,1.2)。
11.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述的角点检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710607933.0A CN109300104B (zh) | 2017-07-24 | 2017-07-24 | 角点检测方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710607933.0A CN109300104B (zh) | 2017-07-24 | 2017-07-24 | 角点检测方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109300104A true CN109300104A (zh) | 2019-02-01 |
CN109300104B CN109300104B (zh) | 2021-03-26 |
Family
ID=65167081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710607933.0A Active CN109300104B (zh) | 2017-07-24 | 2017-07-24 | 角点检测方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109300104B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110264531A (zh) * | 2019-06-27 | 2019-09-20 | 信利光电股份有限公司 | 一种棋盘格角点的捉取方法、装置、***及可读存储介质 |
CN111553927A (zh) * | 2020-04-24 | 2020-08-18 | 厦门云感科技有限公司 | 棋盘格角点检测方法、检测***、计算机装置及存储介质 |
CN111630566A (zh) * | 2019-09-23 | 2020-09-04 | 香港应用科技研究院有限公司 | 为棋盘格图像获取模板的***和方法 |
WO2021147755A1 (zh) * | 2020-01-20 | 2021-07-29 | 北京芯海视界三维科技有限公司 | 棋盘角点检测方法和装置 |
CN113192095A (zh) * | 2021-05-20 | 2021-07-30 | 郑州轻工业大学 | 一种基于平行四边形对角线的角点检测方法 |
CN113658272A (zh) * | 2021-08-19 | 2021-11-16 | 湖北亿咖通科技有限公司 | 车载摄像头标定方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120069193A1 (en) * | 2010-09-16 | 2012-03-22 | Honeywell International Inc. | Thermal camera calibration |
CN103019643A (zh) * | 2012-12-30 | 2013-04-03 | 中国海洋大学 | 一种即插即用的大屏幕投影自动校正与拼接显示方法 |
CN103927750A (zh) * | 2014-04-18 | 2014-07-16 | 上海理工大学 | 棋盘格图像角点亚像素的检测方法 |
CN104091324A (zh) * | 2014-06-16 | 2014-10-08 | 华南理工大学 | 一种基于连通域分割的棋盘格图像快速特征匹配算法 |
CN104517276A (zh) * | 2013-09-28 | 2015-04-15 | 沈阳新松机器人自动化股份有限公司 | 一种棋盘格角点检测方法 |
-
2017
- 2017-07-24 CN CN201710607933.0A patent/CN109300104B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120069193A1 (en) * | 2010-09-16 | 2012-03-22 | Honeywell International Inc. | Thermal camera calibration |
CN103019643A (zh) * | 2012-12-30 | 2013-04-03 | 中国海洋大学 | 一种即插即用的大屏幕投影自动校正与拼接显示方法 |
CN104517276A (zh) * | 2013-09-28 | 2015-04-15 | 沈阳新松机器人自动化股份有限公司 | 一种棋盘格角点检测方法 |
CN103927750A (zh) * | 2014-04-18 | 2014-07-16 | 上海理工大学 | 棋盘格图像角点亚像素的检测方法 |
CN104091324A (zh) * | 2014-06-16 | 2014-10-08 | 华南理工大学 | 一种基于连通域分割的棋盘格图像快速特征匹配算法 |
Non-Patent Citations (2)
Title |
---|
刘阳成 等: "一种新的棋盘格图像角点检测算法", 《中国图象图形学报》 * |
邓继忠 等: "用快速迭代法求最优阈值", 《数字图像处理技术》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110264531A (zh) * | 2019-06-27 | 2019-09-20 | 信利光电股份有限公司 | 一种棋盘格角点的捉取方法、装置、***及可读存储介质 |
CN111630566A (zh) * | 2019-09-23 | 2020-09-04 | 香港应用科技研究院有限公司 | 为棋盘格图像获取模板的***和方法 |
CN111630566B (zh) * | 2019-09-23 | 2023-09-29 | 香港应用科技研究院有限公司 | 为棋盘格图像获取模板的***和方法 |
WO2021147755A1 (zh) * | 2020-01-20 | 2021-07-29 | 北京芯海视界三维科技有限公司 | 棋盘角点检测方法和装置 |
CN111553927A (zh) * | 2020-04-24 | 2020-08-18 | 厦门云感科技有限公司 | 棋盘格角点检测方法、检测***、计算机装置及存储介质 |
CN111553927B (zh) * | 2020-04-24 | 2023-05-16 | 厦门云感科技有限公司 | 棋盘格角点检测方法、检测***、计算机装置及存储介质 |
CN113192095A (zh) * | 2021-05-20 | 2021-07-30 | 郑州轻工业大学 | 一种基于平行四边形对角线的角点检测方法 |
CN113658272A (zh) * | 2021-08-19 | 2021-11-16 | 湖北亿咖通科技有限公司 | 车载摄像头标定方法、装置、设备及存储介质 |
CN113658272B (zh) * | 2021-08-19 | 2023-11-17 | 亿咖通(湖北)技术有限公司 | 车载摄像头标定方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109300104B (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109300104A (zh) | 角点检测方法、装置 | |
CN105608671B (zh) | 一种基于surf算法的图像拼接方法 | |
US20180181796A1 (en) | Image processing method and apparatus | |
JP5200101B2 (ja) | Ct画像データにおける出血性脳卒中の検出 | |
CN104794704B (zh) | 一种标定模板、模板检测方法、装置及终端 | |
CN104463159B (zh) | 一种定位虹膜的图像处理方法和装置 | |
CN108416789A (zh) | 图像边缘检测方法及*** | |
CN108921089A (zh) | 车道线检测方法、装置和***及存储介质 | |
CN107609555B (zh) | 车牌检测方法、应用其的车型识别方法及相关装置 | |
CN104794721B (zh) | 一种基于多尺度斑点检测的快速视盘定位方法 | |
CN116664559B (zh) | 基于机器视觉的内存条损伤快速检测方法 | |
US8873821B2 (en) | Scoring and adjusting pixels based on neighborhood relationships for revealing data in images | |
CN106062824B (zh) | 边缘检测装置和边缘检测方法 | |
EP2085928A1 (en) | Detection of blobs in images | |
CN111932510B (zh) | 一种图像清晰度的确定方法及装置 | |
CN104899888B (zh) | 一种基于Legendre矩的图像亚像素边缘检测方法 | |
Jeon et al. | Ring difference filter for fast and noise robust depth from focus | |
CN113724257A (zh) | 一种碳板灰色污点检测方法、计算机设备及存储介质 | |
CN110070537A (zh) | 静态图像颗粒的粒度与球形度的智能识别方法和装置 | |
CN107590512A (zh) | 一种模板匹配中参数的自适应方法和*** | |
CN105787912B (zh) | 一种基于分类的阶跃型边缘亚像素定位方法 | |
CN111178193A (zh) | 一种车道线的检测方法、检测装置及计算机可读存储介质 | |
CN111080542A (zh) | 图像处理方法、装置、电子设备以及存储介质 | |
CN109934874A (zh) | 摄像头标定中基于同心圆环模板进行求点的方法和装置 | |
CN113658097B (zh) | 一种眼底图像质量增强模型的训练方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |