CN111429399B - 一种直线检测方法及装置 - Google Patents

一种直线检测方法及装置 Download PDF

Info

Publication number
CN111429399B
CN111429399B CN201910020350.7A CN201910020350A CN111429399B CN 111429399 B CN111429399 B CN 111429399B CN 201910020350 A CN201910020350 A CN 201910020350A CN 111429399 B CN111429399 B CN 111429399B
Authority
CN
China
Prior art keywords
gradient
determining
straight line
pixel point
pixel
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.)
Active
Application number
CN201910020350.7A
Other languages
English (en)
Other versions
CN111429399A (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.)
Zhongke Shuidi Technology Shenzhen Co ltd
Watrix Technology Beijing Co ltd
Original Assignee
Zhongke Shuidi Technology Shenzhen Co ltd
Watrix Technology Beijing Co ltd
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 Zhongke Shuidi Technology Shenzhen Co ltd, Watrix Technology Beijing Co ltd filed Critical Zhongke Shuidi Technology Shenzhen Co ltd
Priority to CN201910020350.7A priority Critical patent/CN111429399B/zh
Publication of CN111429399A publication Critical patent/CN111429399A/zh
Application granted granted Critical
Publication of CN111429399B publication Critical patent/CN111429399B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

本申请提供了一种直线检测方法,该方法包括:获取待检测图像;然后根据所述待检测图像中各个像素点的水平方向的水平梯度和垂直方向的垂直梯度,确定各个像素点的梯度值;再将各个像素点的位置坐标映射到极坐标系中得到各个像素点对应的映射直线,并确定所述极坐标系中至少两条映射直线相交的特征点;最后,根据经过每个特征点的每条映射直线对应的像素点的梯度值,确定所述待检测图像中的直线。通过这种方法可以提高直线检测的准确率。

Description

一种直线检测方法及装置
技术领域
本申请涉及图像处理技术领域,尤其是涉及一种直线检测方法及装置。
背景技术
图像中的物体很多都包含了直线的结构,通过检测图像中的直线,可以获取物体的特征信息。例如在对元器件进行检测时,可以通过检测元器件两个边缘的直线,并对直线之间的距离进行检测,便可以获得元器件的宽度。
现有技术中对直线的检测主要通过霍夫变换进行检测,将二维图像中的每个像素点对应映射到极坐标系中,因为二维直角坐标系中的点对应极坐标系中的直线,因此通过在极坐标系中统计通过同一点的直线的个数,并将个数大于设定阈值的点确定为二维直角坐标系中所对应的直线。然而这种方法,统计的是在同一条直线上的点的个数,对于直线的检测准确率较低。
发明内容
有鉴于此,本申请的目的在于提供一种直线检测方法及装置,以提高直线检测的准确率。
第一方面,本申请实施例提供了一种直线检测方法,包括:
获取待检测图像;
根据所述待检测图像中各个像素点的水平方向的水平梯度和垂直方向的垂直梯度,确定各个像素点的梯度值;
将各个像素点的位置坐标映射到极坐标系中得到各个像素点对应的映射直线,并确定所述极坐标系中至少两条映射直线相交的特征点;
根据经过每个特征点的每条映射直线对应的像素点的梯度值,确定所述待检测图像中的直线。
结合第一方面,本申请实施例提供了第一方面的第一种可能的实施方式,其中,根据经过每个特征点的每条映射直线对应的像素点的梯度值,确定所述待检测图像中的直线,包括:
计算经过每个特征点的每条映射直线对应的像素点的梯度值之间的梯度总和;
将梯度总和满足预设条件的特征点,确定为目标特征点;
将经过所述目标特征点的每条映射直线对应的像素点所组成的直线,确定为所述待检测图像中的直线。
结合第一方面的第一种可能的实施方式,本申请实施例提供了第一方面的第二种可能的实施方式,其中,将梯度总和满足预设条件的特征点,确定为目标特征点,包括:
将梯度总和大于预设阈值的特征点,确定为目标特征点;或者,
将每个特征点对应的梯度总和由大到小排列,将排列在前N位的特征点,确定为目标特征点,N为正整数。
结合第一方面,本申请实施例提供了第一方面的第三种可能的实施方式,其中,所述根据所述待检测图像中各个像素点的水平方向的水平梯度和垂直方向的垂直梯度,确定各个像素点的梯度值,包括:
根据所述待检测图像中各个像素点的水平方向的水平梯度和垂直方向的垂直梯度,确定各个像素点分别对应的原始梯度值;
在对各个像素点中原始梯度值不在预设梯度范围内的像素点的原始梯度值进行调整后,得到各个像素点分别对应的梯度值。
结合第一方面的第三种可能的实施方式,本申请实施例提供了第一方面的第四种可能的实施方式,其中,所述对各个像素点中原始梯度值不在预设梯度范围内的像素点的原始梯度值进行调整,包括:
针对所述原始梯度值小于所述预设梯度范围的最小值的第一类像素点,将各个所述第一类像素点分别对应的原始梯度值调整为所述预设梯度范围的最小值;
针对所述原始梯度值大于所述预设梯度范围的最大值的第二类像素点,将各个所述第二类像素点分别对应的原始梯度值调整为所述预设梯度范围的最大值。
第二方面,本申请实施例还提供一种直线检测装置,包括:
获取模块,用于获取待检测图像;
第一确定模块,用于根据所述待检测图像中各个像素点的水平方向的水平梯度和垂直方向的垂直梯度,确定各个像素点的梯度值;
映射模块,用于将各个像素点的位置坐标映射到极坐标系中得到各个像素点对应的映射直线,并确定所述极坐标系中至少两条映射直线相交的特征点;
第二确定模块,用于根据经过每个特征点的每条映射直线对应的像素点的梯度值,确定所述待检测图像中的直线。
结合第二方面,本申请实施例提供了第二方面的第一种可能的实施方式,其中,所述第二确定模块,在根据经过每个特征点的每条映射直线对应的像素点的梯度值,确定所述待检测图像中的直线时,具体用于:
计算经过每个特征点的每条映射直线对应的像素点的梯度值之间的梯度总和;
将梯度总和满足预设条件的特征点,确定为目标特征点;
将经过所述目标特征点的每条映射直线对应的像素点所组成的直线,确定为所述待检测图像中的直线。
结合第二方面的第一种可能的实施方式,本申请实施例提供了第二方面的第二种可能的实施方式,其中,所述第二确定模块,在将梯度总和满足预设条件的特征点,确定为目标特征点时,具体用于:
将梯度总和大于预设阈值的特征点,确定为目标特征点;或者,
将每个特征点对应的梯度总和由大到小排列,将排列在前N位的特征点,确定为目标特征点,N为正整数。
结合第二方面,本申请实施例提供了第二方面的第三种可能的实施方式,其中,所述第一确定模块,在根据所述待检测图像中各个像素点的水平方向的水平梯度和垂直方向的垂直梯度,确定各个像素点的梯度值时,具体用于:
根据所述待检测图像中各个像素点的水平方向的水平梯度和垂直方向的垂直梯度,确定各个像素点分别对应的原始梯度值;
在对各个像素点中原始梯度值不在预设梯度范围内的像素点的原始梯度值进行调整后,得到各个像素点分别对应的梯度值。
结合第二方面的第三种可能的实施方式,本申请实施例提供了第二方面的第四种可能的实施方式,其中,所述第一确定模块,在对各个像素点中原始梯度值不在预设梯度范围内的像素点的原始梯度值进行调整时,具体用于:
针对所述原始梯度值小于所述预设梯度范围的最小值的第一类像素点,将各个所述第一类像素点分别对应的原始梯度值调整为所述预设梯度范围的最小值;
针对所述原始梯度值大于所述预设梯度范围的最大值的第二类像素点,将各个所述第二类像素点分别对应的原始梯度值调整为所述预设梯度范围的最大值。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面的任一种可能的实施方式中的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面的任一种可能的实施方式中的步骤。
本申请实施例提供的直线检测方法及装置,通过对待检测图像中水平方向的水平梯度和垂直方向的垂直梯度的计算,确定每个像素点的梯度值,然后将像素点的位置坐标映射到极坐标中,并确定极坐标系中每个像素点对应的映射直线以及特征点,最后基于经过特征点的映射直线所对应的像素点的梯度值,确定待检测图像中的直线。通过上述方法,可以基于像素点的梯度值确定直线,而并不是基于像素点的个数确定直线,避免了因为直线长度导致的检测误差,提高了直线检测的准确率。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种可适用的应用场景;
图2示出了本申请实施例所提供的一种直线检测方法的流程示意图;
图3示出了本申请实施例所提供的一种像素点梯度值确定方法;
图4示出了本申请实施例所提供的一种坐标映射示意图;
图5示出了本申请实施例所提供的一种直线检测装置500的架构示意图;
图6示出了本申请实施例所提供的一种电子设备600的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先,对本申请可适用的应用场景做出介绍。本申请所提供的方法可以适用于在图像中检测直线的场景中。传统的直线检测方法主要是通过霍夫变换检测直线,而霍夫变换检测直线的方法中,主要是将像素点对应转换到极坐标系中,确定出一条经过最多个像素点的线为直线,这种方式可能会因为线条长度的影响,导致直线检测产生误差。
如图1所示的两条线,若通过霍夫变换的方法进行检测,则分别将第1条线和第2条线的每个像素点对应转换到极坐标系中以后,得到每个像素点对应的映射直线,第1条线经过同一点的直线个数大于第2条线经过同一点的直线的个数,因此会将第1条线确定为直线,因此这种确定直线的方法会受到线条长度的影响。
本申请提供的方法,通过计算待检测图像中各个像素点的水平方向的水平梯度和垂直方向的垂直梯度,确定各个像素点的梯度值,然后将像素点的位置坐标映射到极坐标系中,得到各个像素点对应的映射直线,并确定极坐标系中的特征点,最后根据经过特征点的每条映射直线对应的像素点的梯度值,确定待检测图像中的直线。与传统方法相比,本申请所提供的方法是基于像素点的梯度值确定直线,而并不是基于像素点的个数确定直线,避免了因为直线长度导致的检测误差,提高了直线检测的准确率。
为便于对本实施例进行理解,首先对本申请实施例所公开的一种直线检测方法进行详细介绍。
实施例一
参见图2所示,为本申请实施例提供的一种直线检测方法的流程示意图,包括以下步骤:
S201、获取待检测图像。
S202、根据待检测图像中各个像素点的水平方向的水平梯度和垂直方向的垂直梯度,确定各个像素点的梯度值。
具体实施中,可以按照如图3所示的方法,确定各个像素点的梯度值,包括以下步骤:
S301、根据待检测图像中各个像素点的水平方向的水平梯度和垂直方向的垂直梯度,确定各个像素点分别对应的原始梯度值。
以待检测图像中第m行第n列的像素点P为例,设Xm,n表示待检测图像中第m行第n列的像素点的像素值,则在计算像素点P的水平方向的水平梯度时,可以按照下列公式进行计算:
Px=Xm,n+1-Xm,n-1
其中,Xm,n-1表示第m行第n-1列的像素点的像素值,Xm,n+1表示第m行第n+1列的像素点的像素值,Px表示像素点P在水平方向上的水平梯度。
在计算像素点P的垂直方向的垂直梯度时,可以按照下列公式进行计算:
Py=Xm+1,n-Xm-1,n
其中,Xm+1,n表示第m+1行第n列的像素点的像素值,Xm-1,n表示第m-1行第n列的像素点的像素值,Py表示像素点P在水平方向上的水平梯度。
进一步地,在根据像素点P的水平方向的水平梯度和垂直方向的垂直梯度,确定像素点P分别对应的原始梯度值时,可以按照以下公式进行计算:
其中,Px,y表示像素点P的原始梯度值。
S302、在对各个像素点中原始梯度值不在预设梯度范围内的像素点的原始梯度值进行调整后,得到各个像素点分别对应的梯度值。
在一种可能的应用场景中,待检测图像中可能存在噪声,因为噪声的影响可能会导致部分像素点的梯度值过大或者过小,为了防止因为噪声导致的像素点的梯度值过大或过小影响直线检测的准确率,可以对像素点的原始梯度值不在预设梯度范围的像素点的原始梯度值进行调整,将原始梯度值不在预设梯度范围内的像素点的原始梯度值调整到预设梯度值范围内。
具体的,可以按照下述方式对原始梯度值不在预设梯度范围的像素点的原始梯度值进行调整,以第x个像素点为例,设预设梯度范围为[a,b],包括以下步骤:
判断第x个像素点的原始梯度值是否小于预设梯度范围的最小值a;
若第x个像素点的原始梯度值小于预设梯度范围的最小值a,则将第x个像素点的原始梯度值调整为预设梯度范围的最小值a,并确定第x个像素点的梯度值为a;
若第x个像素点的原始梯度值不小于预设梯度范围的最小值a,则判断第x个像素点的原始梯度值是否大于预设梯度范围的最大值b;
若第x个像素点的原始梯度值大于预设梯度范围的最大值b,则将第x个像素点的原始梯度值调整为预设梯度范围的最大值b,并确定第x个像素点的梯度值为b;
若第x个像素点的原始梯度值不大于预设梯度范围的最大值b,则不调整第x个像素点的原始梯度值,并将第x个像素点的原始梯度值确定为第x个像素点的梯度值。
具体实施中,也可以先判断第x个像素点的原始梯度值是否大于预设梯度范围的最大值,再判断第x个像素点的原始梯度值是否小于预设梯度范围的最小值。
一种可能的实施方式中,预设梯度范围可以为[-127,127],也可以根据具体情况设定预设梯度梯度范围,本申请对此并不限定。
S203、将各个像素点的位置坐标映射到极坐标系中得到各个像素点对应的映射直线,并确定极坐标系中至少两条映射直线相交的特征点。
在待检测图像中确定的像素点的位置坐标为二维直角坐标,将二维直角坐标中的点映射到极坐标系中得到一条对应的映射直线,具体映射过程如图4所示,二维直角坐标系中点A的坐标为(i,j),将点A映射到极坐标系中得到直线OS,其中OS的长度为OS与极轴OR的夹角为/>
将待检测图像中每个像素点的位置坐标映射到极坐标系中,每个像素点对应一条映射直线,则在极坐标系中映射直线的交点可能对应二维直角坐标系中的直线。
S204、根据经过每个特征点的每条映射直线对应的像素点的梯度值,确定待检测图像中的直线。
在一种可能的实施方式中,可以计算经过每个特征点的每条映射直线对应的像素点的梯度值之间的梯度总和,然后将梯度总和满足预设条件的特征点,确定为目标特征点,再将经过目标特征点的每条映射直线对应的像素点所组成的直线,确定为待检测图像中的直线。
例如,对于极坐标系中的特征点H来说,若有标号分别为1、2、3、4的直线经过特征点H,则可以将标号为1的直线所对应的像素点的梯度值、标号为2的直线所对应的像素点的梯度值、标号为3的直线所对应的像素点的梯度值、以及标号为4的直线所对应的像素点的梯度值进行求和运算,得到梯度总和,并判断梯度总和是否满足预设条件,若满足预设条件则将特征点H作为目标特征点,然后将标号为1、2、3、4的直线分别对应的像素点所组成的直线确定为待检测图像中的直线。
具体实施中,在将梯度总和满足预设条件的特征点确定为目标特征点时,可按照以下两种方法中的任意一种:
方法一、将梯度总和大于预设阈值的特征点确定为目标特征点。
具体实施中,预设阈值的大小可以根据应用场景的不同由用户手动设置,本申请对此并不限制。
方式二、将每个特征点对应的梯度总和由大到小排列,将排列在前N为的特征点,确定为目标特征点,N为正整数。
本申请一示例中,若经过上述两种方式中的任意一种方式选择出的目标特征点的个数大于一个,则可以输出选择出的目标特征点对应的梯度总和,并在待检测图像中对每个目标特征点的对应的直线进行标注,例如可以将不同目标特征点对应的直线设置为不同的颜色,用户可以根据待检测对图像中标注的直线,以及每条直线所对应的梯度总和,确定所需要的直线。
本申请实施例提供的直线检测方法,通过对待检测图像中水平方向的水平梯度和垂直方向的垂直梯度的计算,确定每个像素点的梯度值,然后将像素点的位置坐标映射到极坐标中,并确定极坐标系中每个像素点对应的映射直线以及特征点,最后基于经过特征点的映射直线所对应的像素点的梯度值,确定待检测图像中的直线。上述方法,可以基于像素点的梯度值确定直线,而并不是基于像素点的个数确定直线,避免了因为直线长度导致的检测误差,提高了直线检测的准确率。
实施例二
本申请实施例提供了一种直线检测装置,参见图5所示,为本申请实施例提供的直线检测装置500的架构示意图,该装置500包括:获取模块501、第一确定模块502、映射模块503、以及第二确定模块504,具体的:
获取模块501,用于获取待检测图像;
第一确定模块502,用于根据所述待检测图像中各个像素点的水平方向的水平梯度和垂直方向的垂直梯度,确定各个像素点的梯度值;
映射模块503,用于将各个像素点的位置坐标映射到极坐标系中得到各个像素点对应的映射直线,并确定所述极坐标系中至少两条映射直线相交的特征点;
第二确定模块504,用于根据经过每个特征点的每条映射直线对应的像素点的梯度值,确定所述待检测图像中的直线。
在一种可能的实施方式中,所述第二确定模块504,在根据经过每个特征点的每条映射直线对应的像素点的梯度值,确定所述待检测图像中的直线时,具体用于:
计算经过每个特征点的每条映射直线对应的像素点的梯度值之间的梯度总和;
将梯度总和满足预设条件的特征点,确定为目标特征点;
将经过所述目标特征点的每条映射直线对应的像素点所组成的直线,确定为所述待检测图像中的直线。
在一种可能的实施方式中,所述第二确定模块504,在将梯度总和满足预设条件的特征点,确定为目标特征点时,具体用于:
将梯度总和大于预设阈值的特征点,确定为目标特征点;或者,
将每个特征点对应的梯度总和由大到小排列,将排列在前N位的特征点,确定为目标特征点,N为正整数。
在一种可能的实施方式中,所述第一确定模块502,在根据所述待检测图像中各个像素点的水平方向的水平梯度和垂直方向的垂直梯度,确定各个像素点的梯度值时,具体用于:
根据所述待检测图像中各个像素点的水平方向的水平梯度和垂直方向的垂直梯度,确定各个像素点分别对应的原始梯度值;
在对各个像素点中原始梯度值不在预设梯度范围内的像素点的原始梯度值进行调整后,得到各个像素点分别对应的梯度值。
在一种可能的实施方式中,所述第一确定模块502,在对各个像素点中原始梯度值不在预设梯度范围内的像素点的原始梯度值进行调整时,具体用于:
针对所述原始梯度值小于所述预设梯度范围的最小值的第一类像素点,将各个所述第一类像素点分别对应的原始梯度值调整为所述预设梯度范围的最小值;
针对所述原始梯度值大于所述预设梯度范围的最大值的第二类像素点,将各个所述第二类像素点分别对应的原始梯度值调整为所述预设梯度范围的最大值。
本实施例提供的装置,可以基于像素点的梯度值确定直线,而并不是基于像素点的个数确定直线,避免了因为直线长度导致的检测误差,提高了直线检测的准确率。
实施例三
基于同一技术构思,本申请实施例还提供了一种电子设备。参照图6所示,为本申请实施例提供的电子设备600的结构示意图,包括处理器601、存储器602、和总线603。其中,存储器602用于存储执行指令,包括内存6021和外部存储器6022;这里的内存6021也称内存储器,用于暂时存放处理器601中的运算数据,以及与硬盘等外部存储器6022交换的数据,处理器601通过内存6021与外部存储器6022进行数据交换,当电子设备600运行时,处理器601与存储器602之间通过总线603通信,使得处理器601在执行以下指令:
获取待检测图像;
根据所述待检测图像中各个像素点的水平方向的水平梯度和垂直方向的垂直梯度,确定各个像素点的梯度值;
将各个像素点的位置坐标映射到极坐标系中得到各个像素点对应的映射直线,并确定所述极坐标系中至少两条映射直线相交的特征点;
根据经过每个特征点的每条映射直线对应的像素点的梯度值,确定所述待检测图像中的直线。
一种可能的设计中,根据经过每个特征点的每条映射直线对应的像素点的梯度值,确定所述待检测图像中的直线,包括:
计算经过每个特征点的每条映射直线对应的像素点的梯度值之间的梯度总和;
将梯度总和满足预设条件的特征点,确定为目标特征点;
将经过所述目标特征点的每条映射直线对应的像素点所组成的直线,确定为所述待检测图像中的直线。
一种可能的设计中,将梯度总和满足预设条件的特征点,确定为目标特征点,包括:
将梯度总和大于预设阈值的特征点,确定为目标特征点;或者,
将每个特征点对应的梯度总和由大到小排列,将排列在前N位的特征点,确定为目标特征点,N为正整数。
一种可能的设计中,所述根据所述待检测图像中各个像素点的水平方向的水平梯度和垂直方向的垂直梯度,确定各个像素点的梯度值,包括:
根据所述待检测图像中各个像素点的水平方向的水平梯度和垂直方向的垂直梯度,确定各个像素点分别对应的原始梯度值;
在对各个像素点中原始梯度值不在预设梯度范围内的像素点的原始梯度值进行调整后,得到各个像素点分别对应的梯度值。
一种可能的设计中,所述对各个像素点中原始梯度值不在预设梯度范围内的像素点的原始梯度值进行调整,包括:
针对所述原始梯度值小于所述预设梯度范围的最小值的第一类像素点,将各个所述第一类像素点分别对应的原始梯度值调整为所述预设梯度范围的最小值;
针对所述原始梯度值大于所述预设梯度范围的最大值的第二类像素点,将各个所述第二类像素点分别对应的原始梯度值调整为所述预设梯度范围的最大值。
实施例四
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述任一实施例中所述的直线检测方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述直线检测方法的步骤,从而提高直线检测的准确率。
本申请实施例所提供的进行直线检测方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种直线检测方法,其特征在于,包括:
获取待检测图像;
根据所述待检测图像中各个像素点的水平方向的水平梯度和垂直方向的垂直梯度,确定各个像素点的梯度值;
将各个像素点的位置坐标映射到极坐标系中得到各个像素点对应的映射直线,并确定所述极坐标系中至少两条映射直线相交的特征点;
根据经过每个特征点的每条映射直线对应的像素点的梯度值,确定所述待检测图像中的直线;
根据经过每个特征点的每条映射直线对应的像素点的梯度值,确定所述待检测图像中的直线,包括:
计算经过每个特征点的每条映射直线对应的像素点的梯度值之间的梯度总和;
将梯度总和满足预设条件的特征点,确定为目标特征点;
将经过所述目标特征点的每条映射直线对应的像素点所组成的直线,确定为所述待检测图像中的直线。
2.根据权利要求1所述的方法,其特征在于,将梯度总和满足预设条件的特征点,确定为目标特征点,包括:
将梯度总和大于预设阈值的特征点,确定为目标特征点;或者,
将每个特征点对应的梯度总和由大到小排列,将排列在前N位的特征点,确定为目标特征点,N为正整数。
3.根据权利要求1所述的方法,其特征在于,所述根据所述待检测图像中各个像素点的水平方向的水平梯度和垂直方向的垂直梯度,确定各个像素点的梯度值,包括:
根据所述待检测图像中各个像素点的水平方向的水平梯度和垂直方向的垂直梯度,确定各个像素点分别对应的原始梯度值;
在对各个像素点中原始梯度值不在预设梯度范围内的像素点的原始梯度值进行调整后,得到各个像素点分别对应的梯度值;
所述根据所述待检测图像中各个像素点的水平方向的水平梯度和垂直方向的垂直梯度,确定各个像素点分别对应的原始梯度值,包括:
按照以下公式进行计算原始梯度值:
其中,Px,y为像素点P对应的原始梯度值,Px为像素点P在水平方向上的水平梯度,Py为像素点P在垂直方向的垂直梯度。
4.根据权利要求3所述的方法,其特征在于,所述对各个像素点中原始梯度值不在预设梯度范围内的像素点的原始梯度值进行调整,包括:
针对所述原始梯度值小于所述预设梯度范围的最小值的第一类像素点,将各个所述第一类像素点分别对应的原始梯度值调整为所述预设梯度范围的最小值;
针对所述原始梯度值大于所述预设梯度范围的最大值的第二类像素点,将各个所述第二类像素点分别对应的原始梯度值调整为所述预设梯度范围的最大值。
5.一种直线检测装置,其特征在于,包括:
获取模块,用于获取待检测图像;
第一确定模块,用于根据所述待检测图像中各个像素点的水平方向的水平梯度和垂直方向的垂直梯度,确定各个像素点的梯度值;
映射模块,用于将各个像素点的位置坐标映射到极坐标系中得到各个像素点对应的映射直线,并确定所述极坐标系中至少两条映射直线相交的特征点;
第二确定模块,用于根据经过每个特征点的每条映射直线对应的像素点的梯度值,确定所述待检测图像中的直线;
所述第二确定模块,在根据经过每个特征点的每条映射直线对应的像素点的梯度值,确定所述待检测图像中的直线时,具体用于:
计算经过每个特征点的每条映射直线对应的像素点的梯度值之间的梯度总和;
将梯度总和满足预设条件的特征点,确定为目标特征点;
将经过所述目标特征点的每条映射直线对应的像素点所组成的直线,确定为所述待检测图像中的直线。
6.根据权利要求5所述的装置,其特征在于,所述第二确定模块,在将梯度总和满足预设条件的特征点,确定为目标特征点时,具体用于:
将梯度总和大于预设阈值的特征点,确定为目标特征点;或者,
将每个特征点对应的梯度总和由大到小排列,将排列在前N位的特征点,确定为目标特征点,N为正整数。
7.根据权利要求5所述的装置,其特征在于,所述第一确定模块,在根据所述待检测图像中各个像素点的水平方向的水平梯度和垂直方向的垂直梯度,确定各个像素点的梯度值时,具体用于:
根据所述待检测图像中各个像素点的水平方向的水平梯度和垂直方向的垂直梯度,确定各个像素点分别对应的原始梯度值;
在对各个像素点中原始梯度值不在预设梯度范围内的像素点的原始梯度值进行调整后,得到各个像素点分别对应的梯度值;
所述第一确定模块,在根据所述待检测图像中各个像素点的水平方向的水平梯度和垂直方向的垂直梯度,确定各个像素点分别对应的原始梯度值时,具体用于:
按照以下公式进行计算原始梯度值:
其中,Px,y为像素点P对应的原始梯度值,Px为像素点P在水平方向上的水平梯度,Py为像素点P在垂直方向的垂直梯度。
8.根据权利要求7所述的装置,其特征在于,所述第一确定模块,在对各个像素点中原始梯度值不在预设梯度范围内的像素点的原始梯度值进行调整时,具体用于:
针对所述原始梯度值小于所述预设梯度范围的最小值的第一类像素点,将各个所述第一类像素点分别对应的原始梯度值调整为所述预设梯度范围的最小值;
针对所述原始梯度值大于所述预设梯度范围的最大值的第二类像素点,将各个所述第二类像素点分别对应的原始梯度值调整为所述预设梯度范围的最大值。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至4任一所述的直线检测方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至4任一所述的直线检测方法的步骤。
CN201910020350.7A 2019-01-09 2019-01-09 一种直线检测方法及装置 Active CN111429399B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910020350.7A CN111429399B (zh) 2019-01-09 2019-01-09 一种直线检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910020350.7A CN111429399B (zh) 2019-01-09 2019-01-09 一种直线检测方法及装置

Publications (2)

Publication Number Publication Date
CN111429399A CN111429399A (zh) 2020-07-17
CN111429399B true CN111429399B (zh) 2023-08-01

Family

ID=71545692

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910020350.7A Active CN111429399B (zh) 2019-01-09 2019-01-09 一种直线检测方法及装置

Country Status (1)

Country Link
CN (1) CN111429399B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113297401B (zh) * 2020-08-14 2024-02-02 每平每屋(上海)科技有限公司 半边数据结构的生成方法、数据处理方法、装置及设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103308056A (zh) * 2013-05-23 2013-09-18 中国科学院自动化研究所 一种道路标线检测方法
CN103473762A (zh) * 2013-08-29 2013-12-25 奇瑞汽车股份有限公司 一种车道线检测方法和装置
CN105069786A (zh) * 2015-07-31 2015-11-18 小米科技有限责任公司 直线检测方法及装置
CN105184830A (zh) * 2015-08-28 2015-12-23 华中科技大学 一种对称图像对称轴检测定位方法
CN105261031A (zh) * 2015-11-26 2016-01-20 四川汇源光通信有限公司 基于梯度计算的直线检测方法及装置
CN106296578A (zh) * 2015-05-29 2017-01-04 阿里巴巴集团控股有限公司 一种图像处理方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103308056A (zh) * 2013-05-23 2013-09-18 中国科学院自动化研究所 一种道路标线检测方法
CN103473762A (zh) * 2013-08-29 2013-12-25 奇瑞汽车股份有限公司 一种车道线检测方法和装置
CN106296578A (zh) * 2015-05-29 2017-01-04 阿里巴巴集团控股有限公司 一种图像处理方法及装置
CN105069786A (zh) * 2015-07-31 2015-11-18 小米科技有限责任公司 直线检测方法及装置
CN105184830A (zh) * 2015-08-28 2015-12-23 华中科技大学 一种对称图像对称轴检测定位方法
CN105261031A (zh) * 2015-11-26 2016-01-20 四川汇源光通信有限公司 基于梯度计算的直线检测方法及装置

Also Published As

Publication number Publication date
CN111429399A (zh) 2020-07-17

Similar Documents

Publication Publication Date Title
CN111860489A (zh) 一种证件图像校正方法、装置、设备及存储介质
CN110390306B (zh) 直角车位的检测方法、车辆和计算机可读存储介质
US20180253852A1 (en) Method and device for locating image edge in natural background
CN111681285B (zh) 一种标定方法、装置、电子设备及存储介质
CN111141208B (zh) 一种平行线检测方法及装置
CN111695410A (zh) 违章举报方法、装置、计算机设备及存储介质
CN111047496A (zh) 阈值确定方法、水印检测方法、装置和电子设备
CN114387353A (zh) 一种相机标定方法、标定装置及计算机可读存储介质
CN111429399B (zh) 一种直线检测方法及装置
CN109801428B (zh) 纸币边缘直线的检测方法、检测装置及终端
CN112837384B (zh) 车辆标记方法、装置和电子设备
CN112146834B (zh) 结构振动位移测量方法及装置
CN111222446B (zh) 人脸识别方法、人脸识别装置及移动终端
CN111401377B (zh) 一种仪表数据读取方法、装置、电子设备及存储介质
CN112766256A (zh) 光栅相位图处理方法、装置、电子设备及存储介质
CN107085727B (zh) 一种图像边界函数的确定方法及其装置
CN111986144B (zh) 一种图像模糊判断方法、装置、终端设备及介质
CN112200730B (zh) 图像滤波处理方法、装置、设备及存储介质
CN113721240A (zh) 一种目标关联方法、装置、电子设备及存储介质
CN111259703B (zh) 人脸倾斜角度检测方法和装置
CN111160363B (zh) 特征描述子生成方法、装置、可读存储介质及终端设备
CN114842210A (zh) 特征点匹配方法、装置、终端设备及计算机可读存储介质
CN110197228B (zh) 图像校正方法及装置
CN111161225A (zh) 一种图像差异检测方法、装置、电子设备和存储介质
CN115423855B (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