CN111862132A - 一种曲线检测方法、装置、设备和介质 - Google Patents
一种曲线检测方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN111862132A CN111862132A CN202010788245.0A CN202010788245A CN111862132A CN 111862132 A CN111862132 A CN 111862132A CN 202010788245 A CN202010788245 A CN 202010788245A CN 111862132 A CN111862132 A CN 111862132A
- Authority
- CN
- China
- Prior art keywords
- curve
- straight line
- point
- point set
- termination condition
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 71
- 238000000034 method Methods 0.000 claims abstract description 29
- 230000006870 function Effects 0.000 claims description 13
- 238000009499 grossing Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 22
- 230000000694 effects Effects 0.000 description 17
- 238000004590 computer program Methods 0.000 description 8
- 238000003708 edge detection Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 230000003628 erosive effect Effects 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- 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/20048—Transform domain processing
- G06T2207/20061—Hough transform
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种曲线检测方法、装置、设备和介质,所述方法包括:对待检测图像进行二值化处理,获得二值化图像;对所述二值化图像进行直线检测,得到基础直线;对所述基础直线进行扩展,得到所述基础直线所在的曲线点集合。
Description
技术领域
本发明涉及到图像处理领域,特别是涉及到一种曲线检测方法、装置、设备和介质。
背景技术
在图像识别和理解的处理中,检测图像中物体的形状具有重要的意义。其中,几何曲线检测已广泛应用于物体识别、物体跟踪、物体定位、物体控制等技术领域。这里的几何曲线指由参数与公式严格定义下的基本矢量形状或基本矢量形状的组合,例如直线、圆、椭圆、三角形、矩形等。对于几何曲线的检测,当前使用最广的是霍夫变换及其推广。
霍夫变换及其推广的检测效果依赖于被检测图形的形状和输入数据的质量,通常来说,对较标准的几何曲线的检测效果较好,特别是对直线检测具有很好的效果。然而,霍夫变换及其推广,对一般曲线的检测效果较差。
在实际应用中,会遇到对沿着水平方向或其他方向有一定程度弯曲的普通曲线的检测,这种情况下,霍夫变换及其推广的检测效果就比较差,并且效率较低。
发明内容
本发明提供一种曲线检测方法、装置、设备和介质,主要目的是提高对沿着水平方向或其他方向有一定程度弯曲的普通曲线的检测效果和效率。
本发明的目的是通过以下技术方案实现的:
一方面,本发明提供一种曲线检测方法,所述方法包括:
对待检测图像进行二值化处理,获得二值化图像;
对所述二值化图像进行直线检测,得到基础直线;
对所述基础直线进行扩展,得到所述基础直线所在的曲线点集合。
优选地,所述对所述基础直线进行扩展,包括:
设置横向移动步长Δx;
从所述基础直线一端到另一端,每间隔一段距离取一个点,或只取所述基础直线两端的点,将所述点的坐标加入到所述基础直线所在的曲线点集合;
对所述曲线点集合进行向左扩展循环处理和/或向右扩展循环处理,直到满足终止条件。
优选地,所述对所述曲线点集合进行向左扩展循环处理,包括:
获得所述曲线点集合左侧两点(x0,y0)和(x1,y1)的坐标,并计算斜率k,其中,x1=x0+Δx,k=(y1-y0)/(x1-x0);
计算左侧预测点坐标(x,y),其中,x=x0-Δx,y=y0-k×Δx;
计算左侧预测点坐标调整范围(x,y-Δy)到(x,y+Δy),其中,Δy为设置的允许最大纵坐标偏差;
判断所述二值化图像在所述左侧预测点坐标调整范围内是否存在与所述基础直线的颜色值一致的匹配坐标点,如果存在所述匹配坐标点,将距离所述左侧预测点坐标最近的一个所述匹配坐标点加入到所述曲线点集合的左侧,如果不存在所述匹配坐标点,满足所述终止条件;
如果所述左侧预测点左移一个像素会导致超越所述二值化图像边界,满足所述终止条件;
如果不满足所述终止条件,继续进行所述向左扩展循环处理;
如果满足所述终止条件,结束所述向左扩展循环处理。
优选地,所述对所述曲线点集合进行向右扩展循环处理,包括:
获得所述曲线点集合右侧两点(x0,y0)和(x1,y1)的坐标,并计算斜率k,其中,x0=x1+Δx,k=(y0-y1)/(x0-x1);
计算右侧预测点坐标(x,y),其中,x=x0+Δx,y=y0+k×Δx;
计算右侧预测点坐标调整范围(x,y-Δy)到(x,y+Δy),其中,Δy为设置的允许最大纵坐标偏差;
判断所述二值化图像在所述右侧预测点坐标调整范围内是否存在与所述基础直线的颜色值一致的匹配坐标点,如果存在所述匹配坐标点,将距离所述右侧预测点坐标最近的一个所述匹配坐标点加入到所述曲线点集合的右侧,如果不存在所述匹配坐标点,满足所述终止条件;
如果所述右侧预测点右移一个像素会导致超越所述二值化图像边界,满足所述终止条件;
如果不满足所述终止条件,继续进行所述向右扩展循环处理;
如果满足所述终止条件,结束所述向右扩展循环处理。
优选地,所述方法还包括:
对所述曲线点集合中的点进行平滑处理和/或拟合处理,得到平滑后的曲线点集合和/或曲线函数。
可选地,在得到基础直线之后,以及对所述基础直线进行扩展之前,所述方法还包括:
对所述二值化图像进行旋转处理,并将旋转后的基础直线作为所述基础直线。
另一方面,本发明提供一种曲线检测装置,所述装置包括:
二值化单元,用于对待检测图像进行二值化处理,获得二值化图像;
直线检测单元,用于对所述二值化图像进行直线检测,得到基础直线;
曲线扩展单元,用于对所述基础直线进行扩展,得到所述基础直线所在的曲线点集合。
优选地,所述曲线扩展单元包括:
移动步长设置单元,用于设置横向移动步长Δx;
曲线点集合初始化单元,用于从所述基础直线一端到另一端,每间隔一段距离取一个点,或只取所述基础直线两端的点,将所述点的坐标加入到所述基础直线所在的曲线点集合;
曲线点集合循环处理单元,用于对所述曲线点集合进行向左扩展循环处理和/或向右扩展循环处理,直到满足终止条件。
优选地,所述曲线点集合循环处理单元按以下方式对所述曲线点集合进行向左扩展循环处理:
获得所述曲线点集合左侧两点(x0,y0)和(x1,y1)的坐标,并计算斜率k,其中,x1=x0+Δx,k=(y1-y0)/(x1-x0);
计算左侧预测点坐标(x,y),其中,x=x0-Δx,y=y0-k×Δx;
计算左侧预测点坐标调整范围(x,y-Δy)到(x,y+Δy),其中,Δy为设置的允许最大纵坐标偏差;
判断所述二值化图像在所述左侧预测点坐标调整范围内是否存在与所述基础直线的颜色值一致的匹配坐标点,如果存在所述匹配坐标点,将距离所述左侧预测点坐标最近的一个所述匹配坐标点加入到所述曲线点集合的左侧,如果不存在所述匹配坐标点,满足所述终止条件;
如果所述左侧预测点左移一个像素会导致超越所述二值化图像边界,满足所述终止条件;
如果不满足所述终止条件,继续进行所述向左扩展循环处理;
如果满足所述终止条件,结束所述向左扩展循环处理。
优选地,所述曲线点集合循环处理单元按以下方式对所述曲线点集合进行向右扩展循环处理:
获得所述曲线点集合右侧两点(x0,y0)和(x1,y1)的坐标,并计算斜率k,其中,x0=x1+Δx,k=(y0-y1)/(x0-x1);
计算右侧预测点坐标(x,y),其中,x=x0+Δx,y=y0+k×Δx;
计算右侧预测点坐标调整范围(x,y-Δy)到(x,y+Δy),其中,Δy为设置的允许最大纵坐标偏差;
判断所述二值化图像在所述右侧预测点坐标调整范围内是否存在与所述基础直线的颜色值一致的匹配坐标点,如果存在所述匹配坐标点,将距离所述右侧预测点坐标最近的一个所述匹配坐标点加入到所述曲线点集合的右侧,如果不存在所述匹配坐标点,满足所述终止条件;
如果所述右侧预测点右移一个像素会导致超越所述二值化图像边界,满足所述终止条件;
如果不满足所述终止条件,继续进行所述向右扩展循环处理;
如果满足所述终止条件,结束所述向右扩展循环处理。
优选地,所述装置还包括:
平滑处理单元,用于对所述曲线点集合中的点进行平滑处理和/或拟合处理,得到平滑后的曲线点集合和/或曲线函数。
可选地,所述装置还包括:
图像旋转单元,用于在得到基础直线之后,以及对所述基础直线进行扩展之前,对所述二值化图像进行旋转处理,并将旋转后的基础直线作为所述基础直线。
另一方面,本发明提供一种曲线检测设备,所述设备包括至少一个处理器以及至少一个存储器,所述存储器用于存储程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行第一方面任一所述的方法。
另一方面,本发明提供一种计算机可读存储介质,所述存储介质包含程序代码,当所述程序代码运行于曲线检测装置时,所述程序代码用于使所述曲线检测装置执行第一方面任一所述的方法。
附图说明
图1为本申请实施例提供的一种曲线检测方法的流程示意图;
图2为本申请实施例提供的对基础直线进行扩展得到曲线点集合的流程示意图;
图3为本申请实施例提供的包含曲线的待检测图像示意图;
图4为本申请实施例提供的直线检测效果示意图(选择了一条最长直线);
图5为本申请实施例提供的对曲线点集合向左扩展后的效果示意图;
图6为本申请实施例提供的对曲线点集合向右扩展后的效果示意图;
图7为本申请实施例提供的对曲线点集合向左和向右扩展后的效果示意图;
图8为本申请实施例提供的对曲线点集合中的点进行平滑处理后的效果示意图;
图9为本申请实施例提供的一种曲线检测装置的结构框图;
图10为本申请实施例提供的曲线扩展单元的结构框图;
图11为本申请实施例提供的一种曲线检测设备的结构框图。
具体实施方式
以下结合附图实施例对本发明做进一步详细描述。
图1为本申请实施例提供的一种曲线检测方法的流程示意图,该方法包括:
S101:对待检测图像进行二值化处理,获得二值化图像。
本领域技术人员可采用各种方式对待检测图像进行二值化处理,包括去噪、模糊、锐化、二值化、膨胀、腐蚀等常见的图像处理过程,在此不再详述。通过二值化处理后,获得的二值化图像中,仅包括黑白两种像素类型的像素点。示例性地,黑像素代表背景信息,白像素代表前景信息,待检测的曲线隐藏在前景信息中。
优选地,在步骤S101中,还可对待检测图像进行边缘检测处理。示例性地,可通过Canny边缘检测的方式对所述图像进行边缘检测处理。
优选地,在步骤S101中,还可通过卷积核[[-1,-1,-1],[0,0,0],[1,1,1]]或[[1,1,1],[0,0,0],[-1,-1,-1]]对待检测图像进行卷积运算,以获得边缘信息,然后再进行二值化处理,获得二值化图像。
S102:对所述二值化图像进行直线检测,得到基础直线。
本领域技术人员可采用各种方式对二值化图像进行直线检测,在此不再详述。通过直线检测后,在获得的直线中,可选择满足特定条件的一条或多条直线作为基础直线。示例性地,本申请实施例选择了所获得的直线中的最长的一条直线作为基础直线,见图4所示,图4中的401为该基础直线的位置示意图。在实际应用中,可根据具体需要选择一条或多条直线作为基础直线。
可选地,在步骤S102中,可采用霍夫变换检测二值化图像中的直线。霍夫变换(Hough Transform)是一种特征检测,被广泛应用在图像分析、计算机视觉以及数位影像处理中。基于霍夫变换的霍夫检测能够精确地检测出图中的直线、圆、椭圆等规则图形。利用OpenCV(Open Source Computer Vision Library,一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库)的HoughLines模块或HoughLinesP模块,可实现霍夫变换检测二值化图像中的直线。
S103:对所述基础直线进行扩展,得到所述基础直线所在的曲线点集合。
在得到基础直线后,对基础直线的两端或一端进行扩展,得到基础直线所在的曲线点集合。具体地,见图2所示,图2为本申请实施例提供的对基础直线进行扩展得到曲线点集合的流程示意图。
图2为本申请实施例提供的对基础直线进行扩展得到曲线点集合的流程示意图,包括:
S201:设置横向移动步长Δx。
横向移动步长Δx表示每次扩展间隔的横坐标像素点距离。在实际应用中,可根据具体需要设置横向移动步长Δx的值。示例性地,本申请实施例设置横向移动步长Δx=1。
S202:从所述基础直线一端到另一端,每间隔一段距离取一个点,或只取所述基础直线两端的点,将所述点的坐标加入到所述基础直线所在的曲线点集合。
从基础直线上取点,并将这些点的坐标加入曲线点集合(作为初始曲线点集合)。在实际应用中,可根据具体需要设置在基础直线上取点的间隔距离,也可选择只取基础直线两端的点。示例性地,在本申请实施例中,在基础直线上每隔Δx的横坐标取一个点,并将这些点的坐标加入到基础直线所在的曲线点集合。
S203:对所述曲线点集合进行向左扩展循环处理和/或向右扩展循环处理,直到满足终止条件。
对曲线点集合进行向左扩展循环处理,检测曲线点集合左侧是否存在更多点位于同一曲线上,如果存在位于同一曲线上的左侧点,将这些点加入曲线点集合的左侧;对曲线点集合进行向右扩展循环处理,检测曲线点集合右侧是否存在更多点位于同一曲线上,如果存在位于同一曲线上的右侧点,将这些点加入曲线点集合的右侧。
具体地,按以下方式对曲线点集合进行向左扩展循环处理:
获得曲线点集合左侧两点(x0,y0)和(x1,y1)的坐标,并计算斜率k,其中,x1=x0+Δx,k=(y1-y0)/(x1-x0);
计算左侧预测点坐标(x,y),其中,x=x0-Δx,y=y0-k×Δx;
计算左侧预测点坐标调整范围(x,y-Δy)到(x,y+Δy),其中,Δy为设置的允许最大纵坐标偏差;
判断二值化图像在左侧预测点坐标调整范围内是否存在与基础直线的颜色值一致的匹配坐标点,如果存在匹配坐标点,将距离左侧预测点坐标最近的一个匹配坐标点加入到曲线点集合的左侧,如果不存在匹配坐标点,满足终止条件;
如果左侧预测点左移一个像素会导致超越二值化图像边界,满足终止条件;
如果不满足终止条件,继续进行向左扩展循环处理;
如果满足终止条件,结束向左扩展循环处理。
具体地,按以下方式对曲线点集合进行向右扩展循环处理:
获得曲线点集合右侧两点(x0,y0)和(x1,y1)的坐标,并计算斜率k,其中,x0=x1+Δx,k=(y0-y1)/(x0-x1);
计算右侧预测点坐标(x,y),其中,x=x0+Δx,y=y0+k×Δx;
计算右侧预测点坐标调整范围(x,y-Δy)到(x,y+Δy),其中,Δy为设置的允许最大纵坐标偏差;
判断二值化图像在右侧预测点坐标调整范围内是否存在与基础直线的颜色值一致的匹配坐标点,如果存在匹配坐标点,将距离右侧预测点坐标最近的一个匹配坐标点加入到曲线点集合的右侧,如果不存在匹配坐标点,满足终止条件;
如果右侧预测点右移一个像素会导致超越二值化图像边界,满足终止条件;
如果不满足终止条件,继续进行向右扩展循环处理;
如果满足终止条件,结束向右扩展循环处理。
其中,Δx为S201中设置的横向移动步长;Δy为设置的允许最大纵坐标偏差,在实际应用中,可根据具体需要设置Δy的值。
示例性地,本申请实施例设置横向移动步长Δx=1、最大纵坐标偏差Δy=2。见图5所示,图5为本申请实施例提供的对曲线点集合向左扩展后的效果示意图,其中,501为本申请实施例检测到的基础直线左侧的曲线点位置示意图。见图6所示,图6为本申请实施例提供的对曲线点集合向右扩展后的效果示意图,其中,601为本申请实施例检测到的基础直线右侧的曲线点位置示意图。见图7所示,图7为本申请实施例提供的对曲线点集合向左和向右扩展后的效果示意图。
进一步地,还可以对所述曲线点集合中的点进行平滑处理和/或拟合处理,得到平滑后的曲线点集合和/或曲线函数。
具体地,可以采用插值法对曲线点集合中的点进行平滑处理,得到平滑后的曲线点集合。本领域技术人员也可采用其它方式对曲线点集合中的点进行平滑处理,在此不再详述。
具体地,还可以对曲线点集合中的点进行拟合处理,得到曲线函数。示例性地,采用OpenCV(Open Source Computer Vision Library,一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库)的polyfit模块可利用最小二乘法将多个点拟合成一条多项式函数曲线。
见图8所示,图8为本申请实施例提供的对曲线点集合中的点进行平滑处理后的效果示意图,该平滑处理利用了OpenCV的polyfit模块,进行了10阶多项式拟合。
可选地,在得到基础直线之后,以及对所述基础直线进行扩展之前,还可以对所述二值化图像进行旋转处理,并将旋转后的基础直线作为所述基础直线。
具体地,上述的一种曲线检测方法,对沿着水平方向有一定程度弯曲的普通曲线的检测效果较好、效率较高。如果需要检测沿着其他方向的有一定程度弯曲的普通曲线,可对图像进行旋转后再进行曲线检测,检测完毕后再将曲线点集合中的坐标点变换回旋转之前的坐标点。示例性地,在S102中得到基础直线后,可将二值化图像旋转一定角度,以使得旋转后的基础直线沿着水平方向。本领域技术人员可采用各种方式对二值化图像进行旋转,在此不再详述。
基于与上述一种曲线检测方法实施例相同的构思,本申请实施例还提供了一种曲线检测装置,见图9所示,该装置包括:二值化单元901、直线检测单元902和曲线扩展单元903。
其中,二值化单元901,用于对待检测图像进行二值化处理,获得二值化图像;
直线检测单元902,用于对所述二值化图像进行直线检测,得到基础直线;
曲线扩展单元903,用于对所述基础直线进行扩展,得到所述基础直线所在的曲线点集合。
图10为本申请实施例提供的曲线扩展单元903的结构框图,包括:移动步长设置单元1001、曲线点集合初始化单元1002和曲线点集合循环处理单元1003。
其中,移动步长设置单元1001,用于设置横向移动步长Δx;
曲线点集合初始化单元1002,用于从所述基础直线一端到另一端,每间隔一段距离取一个点,或只取所述基础直线两端的点,将所述点的坐标加入到所述基础直线所在的曲线点集合;
曲线点集合循环处理单元1003,用于对所述曲线点集合进行向左扩展循环处理和/或向右扩展循环处理,直到满足终止条件。
具体地,曲线点集合循环处理单元1003按以下方式对曲线点集合进行向左扩展循环处理:
获得曲线点集合左侧两点(x0,y0)和(x1,y1)的坐标,并计算斜率k,其中,x1=x0+Δx,k=(y1-y0)/(x1-x0);
计算左侧预测点坐标(x,y),其中,x=x0-Δx,y=y0-k×Δx;
计算左侧预测点坐标调整范围(x,y-Δy)到(x,y+Δy),其中,Δy为设置的允许最大纵坐标偏差;
判断二值化图像在左侧预测点坐标调整范围内是否存在与基础直线的颜色值一致的匹配坐标点,如果存在匹配坐标点,将距离左侧预测点坐标最近的一个匹配坐标点加入到曲线点集合的左侧,如果不存在匹配坐标点,满足终止条件;
如果左侧预测点左移一个像素会导致超越二值化图像边界,满足终止条件;
如果不满足终止条件,继续进行向左扩展循环处理;
如果满足终止条件,结束向左扩展循环处理。
具体地,曲线点集合循环处理单元1003按以下方式对曲线点集合进行向右扩展循环处理:
获得曲线点集合右侧两点(x0,y0)和(x1,y1)的坐标,并计算斜率k,其中,x0=x1+Δx,k=(y0-y1)/(x0-x1);
计算右侧预测点坐标(x,y),其中,x=x0+Δx,y=y0+k×Δx;
计算右侧预测点坐标调整范围(x,y-Δy)到(x,y+Δy),其中,Δy为设置的允许最大纵坐标偏差;
判断二值化图像在右侧预测点坐标调整范围内是否存在与基础直线的颜色值一致的匹配坐标点,如果存在匹配坐标点,将距离右侧预测点坐标最近的一个匹配坐标点加入到曲线点集合的右侧,如果不存在匹配坐标点,满足终止条件;
如果右侧预测点右移一个像素会导致超越二值化图像边界,满足终止条件;
如果不满足终止条件,继续进行向右扩展循环处理;
如果满足终止条件,结束向右扩展循环处理。
进一步地,该装置还包括:平滑处理单元,用于对所述曲线点集合中的点进行平滑处理和/或拟合处理,得到平滑后的曲线点集合和/或曲线函数。
可选地,所述装置还包括:图像旋转单元,用于在得到基础直线之后,以及对所述基础直线进行扩展之前,对所述二值化图像进行旋转处理,并将旋转后的基础直线作为所述基础直线。
具体地,上述的一种曲线检测装置,对沿着水平方向有一定程度弯曲的普通曲线的检测效果较好、效率较高。如果需要检测沿着其他方向的有一定程度弯曲的普通曲线,可对图像进行旋转后再进行曲线检测,检测完毕后再将曲线点集合中的坐标点变换回旋转之前的坐标点。示例性地,得到基础直线后,图像旋转单元可将二值化图像旋转一定角度,以使得旋转后的基础直线沿着水平方向。本领域技术人员可采用各种方式对二值化图像进行旋转,在此不再详述。
在实际应用中,可在该曲线检测装置中基于计算机程序设计语言python,安装以下程序库:OpenCV库。
其中,OpenCV(Open Source Computer Vision Library)是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库。OpenCV库的HoughLines模块或HoughLinesP模块,可实现霍夫变换检测二值化图像中的直线。OpenCV库的polyfit模块可利用最小二乘法将多个点拟合成一条多项式函数曲线。
本申请实施例还提供了一种曲线检测设备,见图11所示,图11为本申请实施例提供的一种曲线检测设备的结构框图,该设备包括:处理器1101和存储器1102。
其中,存储器1102,用于存储程序代码。
处理器1101,用于调用所述存储器中存储的程序代码,可按照获得的程序执行本申请中实施例所述的任一方法流程。处理器1101用于实现图9所示的二值化单元901、直线检测单元902和曲线扩展单元903所执行的方法,以及图10所示的移动步长设置单元1001、曲线点集合初始化单元1002和曲线点集合循环处理单元1003所执行的方法。
其中,在图11中,总线架构可以包括任意数量的互联的总线和桥,将由处理器1101代表的一个或多个处理器和由存储器1102代表的存储器的电路连接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。
处理器1101负责管理总线架构和通常的处理,存储器1102可以存储处理器1101在执行操作时所使用的数据。
处理器1101可以是中央处理器(CPU)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)。
本申请实施例还提供了一种计算机存储介质,用于储存为上述本申请实施例中所述的任一装置或设备所用的计算机程序代码,其包含用于执行上述本申请实施例提供的任一方法的程序。
所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
本领域内的技术人员应明白,本发明的实施例可提供为方法、设备(系统)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上对本发明所提供的一种曲线检测方法、装置、设备和介质做了详细介绍,本文中应用了个例对本发明提供的原理及实施方法进行了阐述,以上提供的实施例只是帮助理解本发明及核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (14)
1.一种曲线检测方法,其特征在于,所述方法包括:
对待检测图像进行二值化处理,获得二值化图像;
对所述二值化图像进行直线检测,得到基础直线;
对所述基础直线进行扩展,得到所述基础直线所在的曲线点集合。
2.根据权利要求1所述的一种曲线检测方法,其特征在于,所述对所述基础直线进行扩展,包括:
设置横向移动步长Δx;
从所述基础直线一端到另一端,每间隔一段距离取一个点,或只取所述基础直线两端的点,将所述点的坐标加入到所述基础直线所在的曲线点集合;
对所述曲线点集合进行向左扩展循环处理和/或向右扩展循环处理,直到满足终止条件。
3.根据权利要求2所述的一种曲线检测方法,其特征在于,所述对所述曲线点集合进行向左扩展循环处理,包括:
获得所述曲线点集合左侧两点(x0,y0)和(x1,y1)的坐标,并计算斜率k,其中,x1=x0+Δx,k=(y1-y0)/(x1-x0);
计算左侧预测点坐标(x,y),其中,x=x0-Δx,y=y0-k×Δx;
计算左侧预测点坐标调整范围(x,y-Δy)到(x,y+Δy),其中,Δy为设置的允许最大纵坐标偏差;
判断所述二值化图像在所述左侧预测点坐标调整范围内是否存在与所述基础直线的颜色值一致的匹配坐标点,如果存在所述匹配坐标点,将距离所述左侧预测点坐标最近的一个所述匹配坐标点加入到所述曲线点集合的左侧,如果不存在所述匹配坐标点,满足所述终止条件;
如果所述左侧预测点左移一个像素会导致超越所述二值化图像边界,满足所述终止条件;
如果不满足所述终止条件,继续进行所述向左扩展循环处理;
如果满足所述终止条件,结束所述向左扩展循环处理。
4.根据权利要求2所述的一种曲线检测方法,其特征在于,所述对所述曲线点集合进行向右扩展循环处理,包括:
获得所述曲线点集合右侧两点(x0,y0)和(x1,y1)的坐标,并计算斜率k,其中,x0=x1+Δx,k=(y0-y1)/(x0-x1);
计算右侧预测点坐标(x,y),其中,x=x0+Δx,y=y0+k×Δx;
计算右侧预测点坐标调整范围(x,y-Δy)到(x,y+Δy),其中,Δy为设置的允许最大纵坐标偏差;
判断所述二值化图像在所述右侧预测点坐标调整范围内是否存在与所述基础直线的颜色值一致的匹配坐标点,如果存在所述匹配坐标点,将距离所述右侧预测点坐标最近的一个所述匹配坐标点加入到所述曲线点集合的右侧,如果不存在所述匹配坐标点,满足所述终止条件;
如果所述右侧预测点右移一个像素会导致超越所述二值化图像边界,满足所述终止条件;
如果不满足所述终止条件,继续进行所述向右扩展循环处理;
如果满足所述终止条件,结束所述向右扩展循环处理。
5.根据权利要求1所述的一种曲线检测方法,其特征在于,还包括:
对所述曲线点集合中的点进行平滑处理和/或拟合处理,得到平滑后的曲线点集合和/或曲线函数。
6.根据权利要求1所述的一种曲线检测方法,其特征在于,在得到基础直线之后,以及对所述基础直线进行扩展之前,所述方法还包括:
对所述二值化图像进行旋转处理,并将旋转后的基础直线作为所述基础直线。
7.一种曲线检测装置,其特征在于,所述装置包括:
二值化单元,用于对待检测图像进行二值化处理,获得二值化图像;
直线检测单元,用于对所述二值化图像进行直线检测,得到基础直线;
曲线扩展单元,用于对所述基础直线进行扩展,得到所述基础直线所在的曲线点集合。
8.根据权利要求7所述的一种曲线检测装置,其特征在于,所述曲线扩展单元包括:
移动步长设置单元,用于设置横向移动步长Δx;
曲线点集合初始化单元,用于从所述基础直线一端到另一端,每间隔一段距离取一个点,或只取所述基础直线两端的点,将所述点的坐标加入到所述基础直线所在的曲线点集合;
曲线点集合循环处理单元,用于对所述曲线点集合进行向左扩展循环处理和/或向右扩展循环处理,直到满足终止条件。
9.根据权利要求8所述的一种曲线检测装置,其特征在于,所述曲线点集合循环处理单元按以下方式对所述曲线点集合进行向左扩展循环处理:
获得所述曲线点集合左侧两点(x0,y0)和(x1,y1)的坐标,并计算斜率k,其中,x1=x0+Δx,k=(y1-y0)/(x1-x0);
计算左侧预测点坐标(x,y),其中,x=x0-Δx,y=y0-k×Δx;
计算左侧预测点坐标调整范围(x,y-Δy)到(x,y+Δy),其中,Δy为设置的允许最大纵坐标偏差;
判断所述二值化图像在所述左侧预测点坐标调整范围内是否存在与所述基础直线的颜色值一致的匹配坐标点,如果存在所述匹配坐标点,将距离所述左侧预测点坐标最近的一个所述匹配坐标点加入到所述曲线点集合的左侧,如果不存在所述匹配坐标点,满足所述终止条件;
如果所述左侧预测点左移一个像素会导致超越所述二值化图像边界,满足所述终止条件;
如果不满足所述终止条件,继续进行所述向左扩展循环处理;
如果满足所述终止条件,结束所述向左扩展循环处理。
10.根据权利要求8所述的一种曲线检测装置,其特征在于,所述曲线点集合循环处理单元按以下方式对所述曲线点集合进行向右扩展循环处理:
获得所述曲线点集合右侧两点(x0,y0)和(x1,y1)的坐标,并计算斜率k,其中,x0=x1+Δx,k=(y0-y1)/(x0-x1);
计算右侧预测点坐标(x,y),其中,x=x0+Δx,y=y0+k×Δx;
计算右侧预测点坐标调整范围(x,y-Δy)到(x,y+Δy),其中,Δy为设置的允许最大纵坐标偏差;
判断所述二值化图像在所述右侧预测点坐标调整范围内是否存在与所述基础直线的颜色值一致的匹配坐标点,如果存在所述匹配坐标点,将距离所述右侧预测点坐标最近的一个所述匹配坐标点加入到所述曲线点集合的右侧,如果不存在所述匹配坐标点,满足所述终止条件;
如果所述右侧预测点右移一个像素会导致超越所述二值化图像边界,满足所述终止条件;
如果不满足所述终止条件,继续进行所述向右扩展循环处理;
如果满足所述终止条件,结束所述向右扩展循环处理。
11.根据权利要求7所述的一种曲线检测装置,其特征在于,所述装置还包括:
平滑处理单元,用于对所述曲线点集合中的点进行平滑处理和/或拟合处理,得到平滑后的曲线点集合和/或曲线函数。
12.根据权利要求7所述的一种曲线检测装置,其特征在于,所述装置还包括:
图像旋转单元,用于在得到基础直线之后,以及对所述基础直线进行扩展之前,对所述二值化图像进行旋转处理,并将旋转后的基础直线作为所述基础直线。
13.一种曲线检测设备,其特征在于,所述设备包括至少一个处理器以及至少一个存储器,所述存储器用于存储程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行权力要求1~6任一所述的方法。
14.一种计算机可读存储介质,所述存储介质包含程序代码,其特征在于,当所述程序代码运行于曲线检测装置时,所述程序代码用于使所述曲线检测装置执行权力要求1~6任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010788245.0A CN111862132A (zh) | 2020-08-09 | 2020-08-09 | 一种曲线检测方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010788245.0A CN111862132A (zh) | 2020-08-09 | 2020-08-09 | 一种曲线检测方法、装置、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111862132A true CN111862132A (zh) | 2020-10-30 |
Family
ID=72971608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010788245.0A Pending CN111862132A (zh) | 2020-08-09 | 2020-08-09 | 一种曲线检测方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111862132A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112927201A (zh) * | 2021-02-24 | 2021-06-08 | 北京爱笔科技有限公司 | 一种曲线检测方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3758229B2 (ja) * | 1996-03-27 | 2006-03-22 | セイコーエプソン株式会社 | 線分抽出方法、線分抽出装置及び線分抽出処理プログラム |
CN106327468A (zh) * | 2015-06-25 | 2017-01-11 | 株式会社理光 | 曲线检测方法和曲线检测装置 |
CN107507208A (zh) * | 2017-07-12 | 2017-12-22 | 天津大学 | 一种基于轮廓上曲率估计的图像特征点提取方法 |
CN108197531A (zh) * | 2017-12-15 | 2018-06-22 | 海信集团有限公司 | 一种道路曲线检测方法、装置和终端 |
CN108918526A (zh) * | 2018-04-10 | 2018-11-30 | 华南理工大学 | 一种柔性ic封装基板线路的缺口缺陷检测方法 |
WO2019071212A1 (en) * | 2017-10-06 | 2019-04-11 | Netradyne Inc. | SYSTEM AND METHOD FOR DETERMINING A CURVE |
CN109670194A (zh) * | 2017-10-16 | 2019-04-23 | 中铁第四勘察设计院集团有限公司 | 一种曲线地段站台侵限的自动检测方法 |
-
2020
- 2020-08-09 CN CN202010788245.0A patent/CN111862132A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3758229B2 (ja) * | 1996-03-27 | 2006-03-22 | セイコーエプソン株式会社 | 線分抽出方法、線分抽出装置及び線分抽出処理プログラム |
CN106327468A (zh) * | 2015-06-25 | 2017-01-11 | 株式会社理光 | 曲线检测方法和曲线检测装置 |
CN107507208A (zh) * | 2017-07-12 | 2017-12-22 | 天津大学 | 一种基于轮廓上曲率估计的图像特征点提取方法 |
WO2019071212A1 (en) * | 2017-10-06 | 2019-04-11 | Netradyne Inc. | SYSTEM AND METHOD FOR DETERMINING A CURVE |
CN109670194A (zh) * | 2017-10-16 | 2019-04-23 | 中铁第四勘察设计院集团有限公司 | 一种曲线地段站台侵限的自动检测方法 |
CN108197531A (zh) * | 2017-12-15 | 2018-06-22 | 海信集团有限公司 | 一种道路曲线检测方法、装置和终端 |
CN108918526A (zh) * | 2018-04-10 | 2018-11-30 | 华南理工大学 | 一种柔性ic封装基板线路的缺口缺陷检测方法 |
Non-Patent Citations (1)
Title |
---|
郭碧;董昱;: "基于分段曲线模型的铁路轨道检测算法", 铁道科学与工程学报, no. 02, 15 February 2017 (2017-02-15), pages 355 - 363 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112927201A (zh) * | 2021-02-24 | 2021-06-08 | 北京爱笔科技有限公司 | 一种曲线检测方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109543489B (zh) | 基于二维码的定位方法、装置和存储介质 | |
CN109977718B (zh) | 一种用于识别二维码的方法与设备 | |
JP2020527768A (ja) | Qrコード(登録商標)位置決め方法および装置 | |
CN105426887A (zh) | 一种文本图像校正的方法及装置 | |
CN111080692B (zh) | 基于无序点集的处理方法、处理装置及电子设备 | |
US20160171761A1 (en) | Computing device and method for patching point clouds of object | |
US20220398716A1 (en) | Method of detecting product defects, electronic device, and storage medium | |
Varfolomieiev et al. | An improved algorithm of median flow for visual object tracking and its implementation on ARM platform | |
JP6507843B2 (ja) | 映像解析方法及び映像解析装置 | |
CN115630663A (zh) | 一种二维码识别方法、装置及电子设备 | |
US20130004025A1 (en) | Method and apparatus for face tracking utilizing integral gradient projections | |
CN111862132A (zh) | 一种曲线检测方法、装置、设备和介质 | |
US20220230291A1 (en) | Method for detecting defects in images, apparatus applying method, and non-transitory computer-readable storage medium applying method | |
CN104899589A (zh) | 一种采用阈值二值化算法实现二维条码预处理的方法 | |
CN111145293B (zh) | 用于重建户型图轮廓的方法、装置及电子设备 | |
Libuda et al. | Ellipse detection in digital image data using geometric features | |
CN116309628A (zh) | 车道线识别方法和装置、电子设备和计算机可读存储介质 | |
US20170213346A1 (en) | Image processing method and process simulation apparatus | |
US20220207892A1 (en) | Method and device for classifing densities of cells, electronic device using method, and storage medium | |
CN115623211A (zh) | 矩阵的扫描方法和装置 | |
CN114863043A (zh) | 地图处理方法、装置、机器人及存储介质 | |
CN112800824B (zh) | 扫描文件的处理方法、装置、设备及存储介质 | |
Nakashima et al. | SIFT feature point selection by using image segmentation | |
CN116245894B (zh) | 一种地图分割方法、装置、电子设备及介质 | |
CN113496134A (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 |