j+1) =A(i,j+1) + ( 9厂ap
[0046] 利用如上两式对相应的累积单元进行累积,之后遍历种子点集合中的其它种子 点,以相同的方式对相应的累积单元进行累积。
[0047] S5 :对经累积后的累积矩阵取门限来得到直线参数。
[0048] 即是说,对于经累积后的累积矩阵,取其中累积值在门限范围内的累积单元,则累 积单元对应得到直线参数。
[0049] 本发明实施例中,直线参数至少包括累积单元对应的种子点坐标及方向角。根据 实际需要,还可包括直线段端点处的种子点坐标,以实现对直线段的精确定位。
[0050] 另外,如果输入图像的景象并不单一,则为了提高检测准确性,需在步骤S1之前 对输入图像的各区域按照灰度、颜色、纹理等特征进行图像分割,使得分割后,各图像块内 的特征变换平缓,而图像块边缘的特征变换剧烈。即是说,本发明实施例在步骤S1之前,还 可包括以下步骤:
[0051] S0 :对输入图像进行图像分割,得到的图像块作为步骤S1中的待处理图像。
[0052] 在实际中,可利用常用的图像分割算法,如阈值法、边缘检测法、区域生长法、纹理 分析法等,实现图像分割。
[0053] 在应用本发明实施例提供的直线检测方法的一个实验中,从两个不同角度采集得 到隐形二维码图像,如图3a和图3b所示,图像的尺寸为144*144,图像中总像素点个数K = 90。实验参数设定如下:二维反正切查找表用Q5定点数表示,方向角的量化间隔A0 为1度,抽取的种子点个数为25个,测试用处理器为32MHZ晶振的ARM7TDMI处理器,程序 语言为C++,在ADSvl_2编译环境下进行开发。实验结果如图3a和图3b中检测到的直线 所示,结果准确,完成直线检测所花的时间为〇. 00168s,占用存储空间4500byte,而标准霍 夫变换按同样的角度量化间隔,取极径量化间隔为1时所花时间为〇. 〇54s,所需存储量为 36656byte,可见所需存储空间降低而检测速度更快。
[0054] 图4示出了本发明实施例提供的直线检测系统的结构。
[0055] 详细地,本发明实施例提供的直线检测系统包括:抽取模块1,用于从待处理图像 中抽取种子点,得到种子点集合和补点集合;构建模块2,用于构建累积矩阵并初始化,累 积矩阵的第一维下标为种子点的序号,第二维下标为直线方向角量化值的编号,以使得累 积矩阵中各累积单元的初始值均为0;计算模块3,用于求解种子点集合中各种子点与补点 集合中各补点之间连线的方向角;累积模块4,用于按照种子点-补点连线方向角与相邻方 向角量化值的距离成反比的方式,对累积矩阵中相应的累积单元进行累积;检测模块5,用 于对经累积后的累积矩阵取门限来得到直线参数。
[0056] 其中,对种子点、补点、种子点集合、补点集合、累积矩阵、累积单元、直线参数的定 义如前所述,不赘述。其中,各模块的详细执行步骤如前所述,不赘述。
[0057] 进一步地,如图5所示,计算模块3可包括:选取子模块31,用于从补点集合中选 取当前补点;计算子模块32,用于遍历种子点集合,分别计算当前补点与种子点集合中各 种子点之间纵横坐标差;查表子模块33,用于查找预存的二维反正切查找表,得到与每一 纵横坐标差对应的方向角,之后由选择子模块31继续选取下一补点作为当前补点而参与 运算,直至选取子模块31遍历补点集合中的全部补点。
[0058]另外,本发明实施例提供的直线检测系统还可包括:分割模块6,用于对输入图像 进行图像分割,得到的图像块作为抽取模块1所需的待处理图像。
[0059] 综上所述,本发明实施例提出的直线检测方法及系统是从待处理图像中抽取种子 点,以种子点及种子点和补点之间连线的方向角作为直线参数来构造新的累积矩阵,按种 子点一补点连线方向角与相邻方向角量化值的距离成比的方式,对累积矩阵进行累积,最 后对累积矩阵取门限即可得到直线参数。由于采用了新的累积矩阵和二维反正切查找表 的方法,有效的减少了运算量,相对于现有的标准霍夫变换及其各种改进算法,减小了运算 量,节省了内存空间,并可精确定位直线段。非常适用于在嵌入式系统等运算和存储资源有 限情况下对虚直线的快速定位。
[0060] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以 通过程序来控制相关的硬件完成,所述的程序可以在存储于一计算机可读取存储介质中, 所述的存储介质,如ROM/RAM、磁盘、光盘等。
[0061] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种直线检测方法,其特征在于,所述方法包括以下步骤: 从待处理图像中抽取种子点,得到种子点集合和补点集合; 构建累积矩阵并初始化,所述累积矩阵的第一维下标为种子点的序号,所述累积矩阵 的第二维下标为直线方向角量化值的编号,所述累积矩阵中的每一元素作为一个累积单 元,各所述累积单元的初始值均为0 ; 求解所述种子点集合中各种子点与所述补点集合中各补点之间连线的方向角; 按照种子点-补点连线方向角与相邻方向角量化值的距离成反比的原则,对累积矩阵 中相应的累积单元进行累积; 对经累积后的所述累积矩阵取门限来得到直线参数。
2. 如权利要求1所述的直线检测方法,其特征在于,所述累积矩阵的每个元素分别 对应所述种子点和过所述种子点直线的方向角量化值,所述累积矩阵的第i行且第j列 元素表示为A(i,j),所述待处理图像的全部图形上的全部像素点的集合为Q= {Qt = (xt,yt),t= 1,2, 3. ? ?K},所述种子点集合为Z=仏=(xi,y),i= 1,2, 3. ? ?,L},且 ZgQ,则所述A(i,j)对应过种子点向角为a」=(j-1)XA0,j= 1,2,…,S,所述 △ 0 =Ji/S是直线方向角的量化间隔,所述S是种子点与补点连线的方向角的量化级数 量。
3. 如权利要求1所述的直线检测方法,其特征在于,所述求解所述种子点集合中各种 子点与所述补点集合中各补点之间连线的方向角的步骤包括以下步骤: 从所述补点集合中选取当前补点; 遍历所述种子点集合,分别计算所述当前补点与所述种子点集合中各种子点之间的纵 横坐标差; 查找预存的二维反正切查找表,得到与每一纵横坐标差对应的方向角,之后返回所述 从所述补点集合中选取当前补点的步骤,直至遍历所述补点集合中的全部补点。
4. 如权利要求1所述的直线检测方法,其特征在于,所述按照种子点-补点连线方向角 与相邻方向角量化值的距离成反比的原则,对累积矩阵中相应的累积单元进行累积的步骤 表示为: A(i,j) =A(i,j) +(aJ+1- 0 i;k) A(i,j+1) =A(i,j+l) + ( 0「aj) 其中,A(i,j)是所述累积矩阵的第i行且第j列元素,A(i,j+1)是所述累积矩阵的第i行且第j+1列元素,a』和aj+1是与种子点i'和补点k连线方向角0i,,k最邻近的方向 角量化值,且ai,j〈 0ik〈aiJ+1。
5. 如权利要求1至4任一项所述的直线检测方法,其特征在于,在所述从待处理图像中 抽取种子点的步骤之前,所述方法还包括以下步骤: 对输入图像进行图像分割,得到的图像块作为所述待处理图像。
6. -种直线检测系统,其特征在于,所述系统包括: 抽取模块,用于从待处理图像中抽取种子点,得到种子点集合和补点集合; 构建模块,用于构建累积矩阵并初始化,所述累积矩阵的第一维下标为种子点的序号, 所述累积矩阵的第二维下标为直线方向角量化值的编号,所述累积矩阵中的每一元素作为 一个累积单元,各所述累积单元的初始值均为〇 ; 计算模块,用于求解所述种子点集合中各种子点与所述补点集合中各补点之间连线的 方向角; 累积模块,用于按照种子点-补点连线方向角与相邻方向角量化值的距离成反比的原 贝1J,对累积矩阵中相应的累积单元进行累积; 检测模块,用于对经累积后的所述累积矩阵取门限来得到直线参数。
7. 如权利要求6所述的直线检测系统,其特征在于,所述计算模块包括: 选取子模块,用于从所述补点集合中选取当前补点; 计算子模块,用于遍历所述种子点集合,分别计算所述当前补点与所述种子点集合中 各种子点之间的纵横坐标差; 查表子模块,用于查找预存的二维反正切查找表,得到与每一所述纵横坐标差对应的 方向角,之后由所述选择子模块继续选取下一补点作为当前补点而参与运算,直至所述选 择子模块遍历所述补点集合中的全部补点。
8. 如权利要求6或7所述的直线检测系统,其特征在于,所述系统还包括: 分割模块,用于对输入图像进行图像分割,得到的图像块作为所述待处理图像。
【专利摘要】本发明属于图像处理技术领域,提供了一种直线检测方法及系统。该方法及系统是从待处理图像中抽取种子点,以种子点及种子点和补点之间连线的方向角作为直线参数来构造新的累积矩阵。种子点—补点连线的方向角的求解采用二维反正切表查表法,累积时按照该角度与相邻方向角量化值的距离成反比的方式进行,最后对累积矩阵取门限来得到直线参数。由于采用了新的累积矩阵和整数二维反正切查找表参与运算,相对于现有的标准霍夫变换及其各种改进算法,减小了运算量,节省了内存空间,并可精确定位直线段,非常适用于在嵌入式系统等运算和存储资源有限情况下对虚直线的快速定位。
【IPC分类】G06T7-00
【公开号】CN104574396
【申请号】CN201410851790
【发明人】黄建军, 梁钟尹, 凌龙辉
【申请人】深圳大学
【公开日】2015年4月29日
【申请日】2014年12月31日