CN110097065B - 一种基于FreeMan链码的直线检测方法及终端 - Google Patents
一种基于FreeMan链码的直线检测方法及终端 Download PDFInfo
- Publication number
- CN110097065B CN110097065B CN201910374741.9A CN201910374741A CN110097065B CN 110097065 B CN110097065 B CN 110097065B CN 201910374741 A CN201910374741 A CN 201910374741A CN 110097065 B CN110097065 B CN 110097065B
- Authority
- CN
- China
- Prior art keywords
- chain code
- chain
- code
- line segment
- intersection point
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/469—Contour-based spatial representations, e.g. vector-coding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种基于FreeMan链码的直线检测方法及终端,属于数据处理领域。本发明通过获取第一线段的FreeMan链码,得到第一链码;以所述第一链码的中点为界,将所述第一链码分为向前链码和向后链码;若所述向前链码和所述向后链码同时满足条件一、条件二和条件三,则标记所述第一链码为直线;所述条件一具体为:a1=b1,或者(a1=b2)&(a2=b1);所述条件二具体为:((Numa1+Numa2+Numb1+Numb2)/Sum)>Threshold1;所述条件三具体为:((Numa1+Numa2)‑(Numb1+Numb2))<Threshold2。实现了降低直线检测的时间复杂度和空间复杂度。
Description
技术领域
本发明涉及一种基于FreeMan链码的直线检测方法及终端,属于数据处理领域。
背景技术
申请号为201510777875.7的专利文献提供一种基于视频的公交车道检测方法:图像获取步骤,从成像设备中获取检测图像;图像预处理步骤,对检测图像进行缩放、掩膜处理、灰度化和高斯平滑滤波等预处理;边缘图像提取步骤,利用Canny算法对预处理后图像提取边缘图像;直线检测步骤,对边缘图像利用霍夫变换算法检测候选直线,对候选直线进行聚类得到可信度最高的直线;直线约束步骤,利用半帧图像单条直线的倾斜角、单帧图像两条直线的对称性信息对直线进行约束;车道跟踪步骤,利用多帧图像车道位置相近信息进行车道跟踪,检测得到有效车道;车道识别步骤,利用SVM颜色分类器识别车道。
上述专利文献采用霍夫变换算法检测候选直线,其时间复杂度和空间复杂度都很高,并且在检测过程中只能确定直线方向,丢失了线段的长度信息。
发明内容
本发明所要解决的技术问题是,如何降低直线检测的时间复杂度和空间复杂度。
为了解决上述技术问题,本发明采用的技术方案为:
本发明提供一种基于FreeMan链码的直线检测方法,包括:
获取第一线段的FreeMan链码,得到第一链码;
以所述第一链码的中点为界,将所述第一链码分为向前链码和向后链码;
若所述向前链码和所述向后链码同时满足条件一、条件二和条件三,则标记所述第一链码为直线;
所述条件一具体为:a1=b1,或者(a1=b2)&(a2=b1);
所述条件二具体为:
((Numa1+Numa2+Numb1+Numb2)/Sum)>Threshold1;
所述条件三具体为:
((Numa1+Numa2)-(Numb1+Numb2))<Threshold2;
其中,所述a1为所述向前链码中出现次数最多的方向编号;所述a2为所述向前链码中出现次数第二多的方向编号;所述b1为所述向后链码中出现次数最多的方向编号;所述b2为所述向后链码中出现次数第二多的方向编号;所述Numa1为所述向前链码中所述a1出现的次数;所述Numa2为所述向前链码中所述a2出现的次数;所述Numb1为所述向后链码中所述b1出现的次数;所述Numb2为所述向后链码中所述b2出现的次数;所述Threshold1为第一阈值;所述Threshold2为第二阈值;所述Sum为所述向前链码和所述向后链码中的链码点总数。
优选地,获取第一线段的FreeMan链码,得到第一链码之前,还包括:
若两条链码存在一个共同端点,则将所述两条链码中的一条链码的方向置反。
优选地,获取第一线段的FreeMan链码,得到第一链码,具体为:
获取第一线段的FreeMan链码;
若所述第一线段的FreeMan链码存在角点,则:以所述角点为界,将所述第一线段的FreeMan链码拆分为第一链码和第二链码;所述角点为极值点。
本发明还提供一种边缘检测方法,包括上述的基于FreeMan链码的直线检测方法,还包括:
S1、获取四条被标记为直线的链码,得到链码集合;所述链码集合包括第三链码、第四链码、第五链码和第六链码;
S2、根据第一公式计算所述链码集合的信心值;
S3、重复执行步骤S1至步骤S2,直至预设的图像内的所有链码被遍历;
S4、标记具有最大信心值的链码集合为边缘集合;
所述第一公式具体为:
C=(L*W1+φ1*W2+φ2*W2+θ1*W3+θ2*W3+θ3*W3+θ4*W3-A1*W4-A2*W4);
其中,所述L为所述链码集合中四条链码的长度总和;所述W1为第一权重值;
所述φ1为所述第三链码与所述第四链码的夹角;在所述链码集合中,所述φ1小于所述第三链码与所述第五链码的夹角,所述φ1小于所述第三链码与所述第六链码的夹角;
所述φ2为所述第五链码和所述第六链码的夹角;所述φ2小于所述第五链码与所述第三链码的夹角;所述φ2小于所述第五链码与所述第四链码的夹角;所述W2为第二权重值;
所述θ1为所述第三链码与所述第五链码的夹角与90°的差值;所述θ2为所述第三链码与所述第六链码的夹角与90°的差值;所述θ3为所述第五链码与所述第四链码的夹角与90°的差值;所述θ4为所述第六链码与所述第四链码的夹角与90°的差值;所述W3为第三权重值;
垂直投影所述第三链码,得到第二线段;获取所述第五链码与所述第二线段的交点,得到第一交点;获取所述第六链码与所述第二线段的交点,得到第二交点;以所述第一交点和所述第二交点为端点的线段为第三线段;所述A1为所述第二线段中除所述第三线段之外的部分的长度总和;
垂直投影所述第五链码,得到第四线段;获取所述第三链码与所述第四线段的交点,得到第三交点;获取所述第四链码与所述第四线段的交点,得到第四交点;以所述第三交点和所述第四交点为端点的线段为第五线段;所述A1为所述第四线段中除所述第五线段之外的部分的长度总和;所述W4为第四权重值。
优选地,还包括:
计算所述边缘集合中四条链码的交点坐标;
根据四个所述交点坐标对所述预设的图像进行透视变换操作,得到矫正图像。
本发明另提供一种基于FreeMan链码的直线检测终端,包括一个或多个处理器及存储器,所述存储器存储有程序,并且被配置成由所述一个或多个处理器执行以下步骤:
获取第一线段的FreeMan链码,得到第一链码;
以所述第一链码的中点为界,将所述第一链码分为向前链码和向后链码;
若所述向前链码和所述向后链码同时满足条件一、条件二和条件三,则标记所述第一链码为直线;
所述条件一具体为:a1=b1,或者(a1=b2)&(a2=b1);
所述条件二具体为:
((Numa1+Numa2+Numb1+Numb2)/Sum)>Threshold1;
所述条件三具体为:
((Numa1+Numa2)-(Numb1+Numb2))<Threshold2;
其中,所述a1为所述向前链码中出现次数最多的方向编号;所述a2为所述向前链码中出现次数第二多的方向编号;所述b1为所述向后链码中出现次数最多的方向编号;所述b2为所述向后链码中出现次数第二多的方向编号;所述Numa1为所述向前链码中所述a1出现的次数;所述Numa2为所述向前链码中所述a2出现的次数;所述Numb1为所述向后链码中所述b1出现的次数;所述Numb2为所述向后链码中所述b2出现的次数;所述Threshold1为第一阈值;所述Threshold2为第二阈值;所述Sum为所述向前链码和所述向后链码中的链码点总数。
优选地,获取第一线段的FreeMan链码,得到第一链码之前,还包括:
若两条链码存在一个共同端点,则将所述两条链码中的一条链码的方向置反。
优选地,获取第一线段的FreeMan链码,得到第一链码,具体为:
获取第一线段的FreeMan链码;
若所述第一线段的FreeMan链码存在角点,则:以所述角点为界,将所述第一线段的FreeMan链码拆分为第一链码和第二链码;所述角点为极值点。
本发明又提供一种边缘检测终端,包括权利要求6所述的基于FreeMan链码的直线检测终端,还包括:
S1、获取四条被标记为直线的链码,得到链码集合;所述链码集合包括第三链码、第四链码、第五链码和第六链码;
S2、根据第一公式计算所述链码集合的信心值;
S3、重复执行步骤S1至步骤S2,直至预设的图像内的所有链码被遍历;
S4、标记具有最大信心值的链码集合为边缘集合;
所述第一公式具体为:
C=(L*W1+φ1*W2+φ2*W3+θ1*W4+θ2*W5-A1*W6-A2*W7);
其中,所述L为所述链码集合中四条链码的长度总和;所述W1为第一权重值;
所述φ1为所述第三链码与所述第四链码的夹角;在所述链码集合中,所述φ1小于所述第三链码与所述第五链码的夹角,所述φ1小于所述第三链码与所述第六链码的夹角;
所述φ2为所述第五链码和所述第六链码的夹角;所述φ2小于所述第五链码与所述第三链码的夹角;所述φ2小于所述第五链码与所述第四链码的夹角;所述W2为第二权重值;
所述θ1为所述第三链码与所述第五链码的夹角与90°的差值;所述θ2为所述第三链码与所述第六链码的夹角与90°的差值;所述θ3为所述第五链码与所述第四链码的夹角与90°的差值;所述θ4为所述第六链码与所述第四链码的夹角与90°的差值;所述W3为第三权重值;
垂直投影所述第三链码,得到第二线段;获取所述第五链码与所述第二线段的交点,得到第一交点;获取所述第六链码与所述第二线段的交点,得到第二交点;以所述第一交点和所述第二交点为端点的线段为第三线段;所述A1为所述第二线段中除所述第三线段之外的部分的长度总和;
垂直投影所述第五链码,得到第四线段;获取所述第三链码与所述第四线段的交点,得到第三交点;获取所述第四链码与所述第四线段的交点,得到第四交点;以所述第三交点和所述第四交点为端点的线段为第五线段;所述A1为所述第四线段中除所述第五线段之外的部分的长度总和;所述W4为第四权重值。
优选地,还包括:
计算所述边缘集合中四条链码的交点坐标;
根据四个所述交点坐标对所述预设的图像进行透视变换操作,得到矫正图像。
本发明具有如下有益效果:
1、本发明提供一种基于FreeMan链码的直线检测方法及终端,使用FreeMan链码表示线段,并利用FreeMan链码的方向性特征检测线段是否为直线。区别于现有技术采用霍夫变换算法检测直线,计算过程复杂、时间和空间复杂度比较高。本发明提供的基于FreeMan链码的直线检测方法,只需比对链码点的方向编号、对链码点的方向编号进行简单计算即可,计算过程简便,具有较低的时间和空间复杂度。
2、进一步地,由于构建FreeMan链码的过程是从上到下,从左至右扫描像素点,因此,在构建FreeMan链码的过程中会误将一条存在向上突起部分的线段拆分成两个以上链码。本发明通过判断两条链码是否存在一个共同端点,将原属于同一条线段的多条链码合并为一条链码。有利于提高直线检测的准确性。
3、进一步地,为了避免折线对直线检测的影响,本发明在角点处将折线拆分为两条直线链码,有利于提高直线拟合的精度。
4、进一步地,本发明综合考虑直线的长度、两直线间的平行程度和垂直程度,以及不互相平行的两直线间的交叉程度判断链码集合中的四条直线是否能组成矩形,从而提高了对矩形图像的边缘检测的准确度。
5、进一步地,以矩形的四个交点为基准点,对扫描设备扫描得到的矩形图像进行透视变换操作,能够将扫描得到的图像位置矫正。
附图说明
图1为本发明提供的一种基于FreeMan链码的直线检测方法的具体实施方式的流程框图;
图2为FreeMan链码方向示意图;
图3为FreeMan链码的第一示意图;
图4为FreeMan链码的第二示意图;
图5为FreeMan链码的第三示意图;
图6为FreeMan链码的第四示意图;
图7为FreeMan链码的第五示意图;
图8为FreeMan链码的第六示意图;
图9为原始图像示意图;
图10为二值化去噪图像示意图;
图11为直线段第一示意图;
图12为直线段第二示意图;
图13为直线段第三示意图;
图14为直线段第四示意图;
图15为矫正图像示意图;
图16为本发明提供的一种基于FreeMan链码的直线检测终端的具体实施方式的结构框图;
图17为FreeMan链码的第七示意图;
标号说明:
1、处理器;2、存储器。
具体实施方式
下面结合附图和具体实施例来对本发明进行详细的说明。
请参照图1至图16,
本发明的实施例一为:
如图1所示,本实施例提供一种基于FreeMan链码的直线检测方法,包括:
S1、使用FreeMan链码表示预设的图像中的线段。
其中,FreeMan链码的定义描述为,任选一个像素点作为参考点P,与其相邻的像素点分别在8个不同的位置上,给它们赋予方向值0~7,称为0~7位链码方向值,如图2所示。一个线条可以用Freeman链码的码值串来表示称为该线条图形的链码。图3给出一个9×9的点阵图,其中一条线段,以S为起始点,E为终点。图2是链码的方向表示示意图,P的左边点表示为P的方向编号为4的点。同理,图3中S到E这条线段的第一个像素点(a)为S左边的像素点a,像素点a是S的方向编号为4的点。第二个像素点b为a左上对角线的像素点,b是a的方向编号为3的点,依次类推,直到到达终点E。采用链码表示该线段为L=43322100000066。
S2、若两条链码存在一个共同端点,则将所述两条链码中的一条链码的方向置反。
其中,由于构建FreeMan链码的过程是从上到下,从左至右扫描像素点,因此,在构建FreeMan链码的过程中会误将一条存在向上突起部分的线段拆分成两个以上链码。例如,图4中的两条链码的共同端点为(4,1),这两条链码本属于同一条曲线,由于构建FreeMan链码过程中扫描像素点的顺序因素将其误拆分为两条链码。本实施例通过将其中一条链码的方向置反,将原属于同一条线段的两条以上链码合并为一条链码,如图5所示。
S3、获取第一线段的FreeMan链码,得到第一链码。具体为:
S31、获取第一线段的FreeMan链码。
其中,从预设的图像中获取一线段,得到第一线段。使用FreeMan链码表示所述第一线段,得到第一链码。
S32、若所述第一线段的FreeMan链码存在角点,则:以所述角点为界,将所述第一线段的FreeMan链码拆分为第一链码和第二链码;所述角点为极值点。
优选地,检测角点的方法具体为:
从所述FreeMan链码中获取一链码点,得到当前链码点;
若所述当前链码点的前三个链码点的方向编号的累加值与所述当前链码点的后三个链码点的方向编号的累加值的差的绝对值大于预设的第三阈值,则所述当前链码点为角点。
例如,图6中的链码点朝向一致,属于同一条链码。图6中的当前链码点(5,2)的前三个链码点的方向编号分别为1、1、1,当前链码点(5,2)的后三个链码点的方向编号分别为7、7、7。因此,当前链码点的前三个链码点的方向编号的累加值与所述当前链码点的后三个链码点的方向编号的累加值的差a=|1+1+1-7-7-7|=18,而所示第三阈值为8,因此当前链码点(5,2)是角点,图6所示的链码表示一条折线。为了避免折线对直线检测的影响,如图7所示,本实施例通过将角点一侧的链码点方向置反实现在角点处将折线拆分为两条直线链码,有利于提高直线拟合的精度。
S4、以所述第一链码的中点为界,将所述第一链码分为向前链码和向后链码。
例如,图8所示链码以s点为起始点,e为终止点,使用链码点的方向表示链码为11011011101,该链码以中点为界,分为向前链码110110和向后链码011101。
S5、若所述向前链码和所述向后链码同时满足条件一、条件二和条件三,则标记所述第一链码为直线;
所述条件一具体为:a1=b1,或者(a1=b2)&(a2=b1);
所述条件二具体为:
((Numa1+Numa2+Numb1+Numb2)/Sum)>Threshold1;
所述条件三具体为:
((Numa1+Numa2)-(Numb1+Numb2))<Threshold2;
其中,所述a1为所述向前链码中出现次数最多的方向编号;所述a2为所述向前链码中出现次数第二多的方向编号;所述b1为所述向后链码中出现次数最多的方向编号;所述b2为所述向后链码中出现次数第二多的方向编号;所述Numa1为所述向前链码中所述a1出现的次数;所述Numa2为所述向前链码中所述a2出现的次数;所述Numb1为所述向后链码中所述b1出现的次数;所述Numb2为所述向后链码中所述b2出现的次数;所述Threshold1为第一阈值;所述Threshold2为第二阈值;所述Sum为所述向前链码和所述向后链码中的链码点总数。
例如,如图8所示,向前链码110110中出现次数最多的方向编号为a1=1,向前链码110110中出现次数第二多的方向编号为a2=0,向后链码011101中出现次数最多的方向编号为b1=1,向后链码011101中出现次数第二多的方向编号为b2=0。其中,a1=b1,满足条件一。条件一保证了线段中的大部分链码点是朝同一个方向的。
条件一包含两个条件(1)a1=b1,(2)(a1=b2)&(a2=b1),只需满足(1)或(2)中的一个条件,条件一即成立。图8中的链码满足a1=b1,即图8中的链码满足条件一。
图9中的向前链码为110110,向后链码为010100。向前链码110110中出现次数最多的方向编号为a1=1,向前链码110110中出现次数第二多的方向编号为a2=0,向后链码010100中出现次数最多的方向编号为b1=0,向后链码010100中出现次数第二多的方向编号为b2=1。其中,同时满足a1=b2,a2=b1两个条件,因此,图9中的链码也满足条件一。
图8中,向前链码110110中a1=1出现的次数Numa1为4,a2=0出现的次数Numa2为2,向后链码011101中b1=1出现的次数Numb1为4,b2=0出现的次数Numb2为2,图8所示向前链码和向后链码的中的链码点总数为12。其中,((Numa1+Numa2+Numb1+Numb2)/Sum)=100%,第一阈值Threshold1为90%,满足条件二。其中,条件二保证了线段基本平稳,不会有很多曲折。
其中,((Numa1+Numa2)-(Numb1+Numb2))=0%,第二阈值Threshold2=15%,满足条件三。其中,条件三保证了线段中点附近的差异性不大。
由于图8所示链码同时满足三个条件,因此,判定图8所示链码表示的线段为直线段。
其中,本实施例提供一种基于FreeMan链码的直线检测方法,使用FreeMan链码表示线段,并利用FreeMan链码的方向性特征检测线段是否为直线。区别于现有技术采用霍夫变换算法检测直线,计算过程复杂、时间和空间复杂度比较高。本实施例提供的基于FreeMan链码的直线检测方法,只需比对链码点的方向编号、对链码点的方向编号进行简单计算即可,计算过程简便,具有较低的时间和空间复杂度。
本发明的实施例二为:
本实施例提供一种边缘检测方法,包括实施例一所述的基于FreeMan链码的直线检测方法,还包括:
S1、根据实施例一提供的基于FreeMan链码的直线检测方法检测预设的图像,得到多条被标记为直线的链码。
例如,图9为原始图像,图10为对图9进行二值化、去噪处理后的图像,即本实施例所述的预设的图像,图11为基于FreeMan链码的直线检测方法检测到的直线段示意图。
S2、获取四条被标记为直线的链码,得到链码集合;所述链码集合包括第三链码、第四链码、第五链码和第六链码。
例如,所述链码集合包含图12所示的L1(第三链码)、L2(第四链码)、L3(第五链码)和L4(第六链码)。
S3、根据第一公式计算所述链码集合的信心值。
其中,所述第一公式具体为:
C=(L*W1+φ1*W2+φ2*W2+θ1*W3+θ2*W3+θ3*W3+θ4*W3-A1*W4-A2*W4);
其中,所述L为所述链码集合中四条链码的长度总和;所述W1为第一权重值;
例如,图12中L=L1+L2+L3+L4=755。
优选地,所述W1的取值为1。
其中,名片等矩形图像的边缘的总长度一般大于一定值,若四条直线段的总长度太小则不大可能为矩形边缘。因此,本实施例将四条直线段的总长度作为判断是否可构成矩形边缘的因素之一。
其中,所述φ1为所述第三链码与所述第四链码的夹角;在所述链码集合中,所述φ1小于所述第三链码与所述第五链码的夹角,所述φ1小于所述第三链码与所述第六链码的夹角。
例如,所述φ1为图12中L1(第三链码)与L2(第四链码)的夹角,φ1=3°。L1(第三链码)与L3(第五链码)的夹角为93°,L1(第三链码)与L4(第六链码)的夹角为94°,均大于φ1。因此,所述链码集合中L1(第三链码)最有可能与L2(第四链码)互为平行线。
其中,所述φ2为所述第五链码和所述第六链码的夹角;所述φ2小于所述第五链码与所述第三链码的夹角;所述φ2小于所述第五链码与所述第四链码的夹角;所述W2为第二权重值。
例如,所述φ2为图12中L3(第五链码)与L4(第六链码)的夹角,φ2=2°。L3(第五链码)与L1(第三链码)的夹角为93°,L3(第五链码)与L2(第四链码)的夹角为87°,均大于φ2。因此,所述链码集合中L3(第五链码)最有可能与L4(第六链码)互为平行线。
优选地,所述W2的取值为3。
其中,矩形边缘必然存在两组互为平行的线段,φ1和φ2反映了两组最可能互为平行的线段的平行程度。
其中,所述θ1为所述第三链码与所述第五链码的夹角与90°的差值;所述θ2为所述第三链码与所述第六链码的夹角与90°的差值;所述θ3为所述第五链码与所述第四链码的夹角与90°的差值;所述θ4为所述第六链码与所述第四链码的夹角与90°的差值;所述W3为第三权重值;
例如,所述θ1为图12中L1(第三链码)与L3(第五链码)的夹角与90°的差值,θ1=|93°-90°|=3°。所述θ2为图12中L1(第三链码)与L4(第六链码)的夹角与90°的差值,θ2=|94°-90°|=4°。所述θ3为图12中L3(第五链码)与L2(第四链码)的夹角与90°的差值,θ3=|87°-90°|=3°。所述θ4为图12中L4(第六链码)与L2(第四链码)的夹角与90°的差值,θ4=|88°-90°|=2°。
优选地,所述W3的取值为3。
其中,矩形边缘必然存在四个直角,θ1、θ2、θ3和θ4能够反映直角的个数。
其中,垂直投影所述第三链码,得到第二线段;获取所述第五链码与所述第二线段的交点,得到第一交点;获取所述第六链码与所述第二线段的交点,得到第二交点;以所述第一交点和所述第二交点为端点的线段为第三线段;所述A1为所述第二线段中除所述第三线段之外的部分的长度总和。
例如,图13中,将L1(第三链码)作垂直投影,得到R2(第二线段)。L3(第五链码)与R2(第二线段)的交点为I1(第一交点),L4(第六链码)与R2(第二线段)的交点为I2(第二交点)。R3(第三线段)为I1至I2之间的线段,A1为R2(第二线段)中除R3(第三线段)之外的部分的长度总和,A1≈0。
其中,垂直投影所述第五链码,得到第四线段;获取所述第三链码与所述第四线段的交点,得到第三交点;获取所述第四链码与所述第四线段的交点,得到第四交点;以所述第三交点和所述第四交点为端点的线段为第五线段;所述A1为所述第四线段中除所述第五线段之外的部分的长度总和;所述W4为第四权重值。
例如,图13中,将L3(第五链码)作垂直投影,得到R4(第四线段)。L1(第三链码)与R4(第四线段)的交点为I3(第三交点),L2(第四链码)与R4(第四线段)的交点为I4(第四交点)。R5(第五线段)为I3至I4之间的线段,A2为R4(第四线段)中除R5(第五线段)之外的部分的长度总和,A2≈0。
优选地,所述W4的取值为3。
其中,A1和A2的值越大说明两组平行线之间交叉程度越大,越不可能是矩形。例如,图13中A1和A2值很小,说明L1、L2与L3、L4交叉程度轻微,图13的原始图像极有可能是一个矩形。又如,图14中的A1和A2(由A21和A22组成)值远大于0,L1、L2与L3、L4交叉程度严重,图14是一个井字形而非矩形。
S4、重复执行步骤S2至步骤S3,直至预设的图像内的所有链码被遍历。
其中,将预设的图像中的所有直线段进行排列组合,找出所有的可能为边缘的矩形。
S5、标记具有最大信心值的链码集合为边缘集合。
其中,信心值代表四条直线段能够组成矩形的概率,信息值越高,组成矩形的概率越高。在寻找矩形边缘的过程中,选择具有最大信心值的链码集合中的四条直线段作为矩形边缘的四条边。
S6、计算所述边缘集合中四条链码的交点坐标;根据四个所述交点坐标对所述预设的图像进行透视变换操作,得到矫正图像。
其中,在定位到矩形边缘的四个顶点后,可利用现有的透视变换算法矫正图9(原始图像),从而得到如图15所示的矫正后的图像。矫正后的图像可以很好的符合了人的感官视觉,也有利于后期的OCR识别等处理工作。
本发明的实施例三为:
如图16所示,本实施例提供一种基于FreeMan链码的直线检测终端,包括一个或多个处理器1及存储器2,所述存储器2存储有程序,并且被配置成由所述一个或多个处理器1执行以下步骤:
S1、使用FreeMan链码表示预设的图像中的线段。
其中,FreeMan链码的定义描述为,任选一个像素点作为参考点P,与其相邻的像素点分别在8个不同的位置上,给它们赋予方向值0~7,称为0~7位链码方向值,如图2所示。一个线条可以用Freeman链码的码值串来表示称为该线条图形的链码。图3给出一个9×9的点阵图,其中一条线段,以S为起始点,E为终点。图2是链码的方向表示示意图,P的左边点表示为P的方向编号为4的点。同理,图3中S到E这条线段的第一个像素点(a)为S左边的像素点a,像素点a是S的方向编号为4的点。第二个像素点b为a左上对角线的像素点,b是a的方向编号为3的点,依次类推,直到到达终点E。采用链码表示该线段为L=43322100000066。
S2、若两条链码存在一个共同端点,则将所述两条链码中的一条链码的方向置反。
其中,由于构建FreeMan链码的过程是从上到下,从左至右扫描像素点,因此,在构建FreeMan链码的过程中会误将一条存在向上突起部分的线段拆分成两个以上链码。例如,图4中的两条链码的共同端点为(4,1),这两条链码本属于同一条曲线,由于构建FreeMan链码过程中扫描像素点的顺序因素将其误拆分为两条链码。本实施例通过将其中一条链码的方向置反,将原属于同一条线段的两条以上链码合并为一条链码,如图5所示。
S3、获取第一线段的FreeMan链码,得到第一链码。具体为:
S31、获取第一线段的FreeMan链码。
其中,从预设的图像中获取一线段,得到第一线段。使用FreeMan链码表示所述第一线段,得到第一链码。
S32、若所述第一线段的FreeMan链码存在角点,则:以所述角点为界,将所述第一线段的FreeMan链码拆分为第一链码和第二链码;所述角点为极值点。
优选地,检测角点的方法具体为:
从所述FreeMan链码中获取一链码点,得到当前链码点;
若所述当前链码点的前三个链码点的方向编号的累加值与所述当前链码点的后三个链码点的方向编号的累加值的差的绝对值大于预设的第三阈值,则所述当前链码点为角点。
例如,图6中的链码点朝向一致,属于同一条链码。图6中的当前链码点(5,2)的前三个链码点的方向编号分别为1、1、1,当前链码点(5,2)的后三个链码点的方向编号分别为7、7、7。因此,当前链码点的前三个链码点的方向编号的累加值与所述当前链码点的后三个链码点的方向编号的累加值的差a=|1+1+1-7-7-7|=18,而所示第三阈值为8,因此当前链码点(5,2)是角点,图6所示的链码表示一条折线。为了避免折线对直线检测的影响,如图7所示,本实施例通过将角点一侧的链码点方向置反实现在角点处将折线拆分为两条直线链码,有利于提高直线拟合的精度。
S4、以所述第一链码的中点为界,将所述第一链码分为向前链码和向后链码。
例如,图8所示链码以s点为起始点,e为终止点,使用链码点的方向表示链码为11011011101,该链码以中点为界,分为向前链码110110和向后链码011101。
S5、若所述向前链码和所述向后链码同时满足条件一、条件二和条件三,则标记所述第一链码为直线;
所述条件一具体为:a1=b1,或者(a1=b2)&(a2=b1);
所述条件二具体为:
((Numa1+Numa2+Numb1+Numb2)/Sum)>Threshold1;
所述条件三具体为:
((Numa1+Numa2)-(Numb1+Numb2))<Threshold2;
其中,所述a1为所述向前链码中出现次数最多的方向编号;所述a2为所述向前链码中出现次数第二多的方向编号;所述b1为所述向后链码中出现次数最多的方向编号;所述b2为所述向后链码中出现次数第二多的方向编号;所述Numa1为所述向前链码中所述a1出现的次数;所述Numa2为所述向前链码中所述a2出现的次数;所述Numb1为所述向后链码中所述b1出现的次数;所述Numb2为所述向后链码中所述b2出现的次数;所述Threshold1为第一阈值;所述Threshold2为第二阈值;所述Sum为所述向前链码和所述向后链码中的链码点总数。
例如,如图8所示,向前链码110110中出现次数最多的方向编号为a1=1,向前链码110110中出现次数第二多的方向编号为a2=0,向后链码011101中出现次数最多的方向编号为b1=1,向后链码011101中出现次数第二多的方向编号为b2=0。其中,a1=b1,满足条件一。条件一保证了线段中的大部分链码点是朝同一个方向的。
条件一包含两个条件(1)a1=b1,(2)(a1=b2)&(a2=b1),只需满足(1)或(2)中的一个条件,条件一即成立。图8中的链码满足a1=b1,即图8中的链码满足条件一。
图9中的向前链码为110110,向后链码为010100。向前链码110110中出现次数最多的方向编号为a1=1,向前链码110110中出现次数第二多的方向编号为a2=0,向后链码010100中出现次数最多的方向编号为b1=0,向后链码010100中出现次数第二多的方向编号为b2=1。其中,同时满足a1=b2,a2=b1两个条件,因此,图9中的链码也满足条件一。
图8中,向前链码110110中a1=1出现的次数Numa1为4,a2=0出现的次数Numa2为2,向后链码011101中b1=1出现的次数Numb1为4,b2=0出现的次数Numb2为2,图8所示向前链码和向后链码的中的链码点总数为12。其中,((Numa1+Numa2+Numb1+Numb2)/Sum)=100%,第一阈值Threshold1为90%,满足条件二。其中,条件二保证了线段基本平稳,不会有很多曲折。
其中,((Numa1+Numa2)-(Numb1+Numb2))=0%,第二阈值Threshold2=15%,满足条件三。其中,条件三保证了线段中点附近的差异性不大。
由于图8所示链码同时满足三个条件,因此,判定图8所示链码表示的线段为直线段。
其中,本实施例提供一种基于FreeMan链码的直线检测方法,使用FreeMan链码表示线段,并利用FreeMan链码的方向性特征检测线段是否为直线。区别于现有技术采用霍夫变换算法检测直线,计算过程复杂、时间和空间复杂度比较高。本实施例提供的基于FreeMan链码的直线检测方法,只需比对链码点的方向编号、对链码点的方向编号进行简单计算即可,计算过程简便,具有较低的时间和空间复杂度。
本发明的实施例四为:
本实施例提供一种边缘检测终端,包括实施例三所述的基于FreeMan链码的直线检测终端,还包括:
S1、根据实施例一提供的基于FreeMan链码的直线检测方法检测预设的图像,得到多条被标记为直线的链码。
例如,图9为原始图像,图10为对图9进行二值化、去噪处理后的图像,即本实施例所述的预设的图像,图11为基于FreeMan链码的直线检测方法检测到的直线段示意图。
S2、获取四条被标记为直线的链码,得到链码集合;所述链码集合包括第三链码、第四链码、第五链码和第六链码。
例如,所述链码集合包含图12所示的L1(第三链码)、L2(第四链码)、L3(第五链码)和L4(第六链码)。
S3、根据第一公式计算所述链码集合的信心值。
其中,所述第一公式具体为:
C=(L*W1+φ1*W2+φ2*W2+θ1*W3+θ2*W3+θ3*W3+θ4*W3-A1*W4-A2*W4);
其中,所述L为所述链码集合中四条链码的长度总和;所述W1为第一权重值;
例如,图12中L=L1+L2+L3+L4=755。
优选地,所述W1的取值为1。
其中,名片等矩形图像的边缘的总长度一般大于一定值,若四条直线段的总长度太小则不大可能为矩形边缘。因此,本实施例将四条直线段的总长度作为判断是否可构成矩形边缘的因素之一。
其中,所述φ1为所述第三链码与所述第四链码的夹角;在所述链码集合中,所述φ1小于所述第三链码与所述第五链码的夹角,所述φ1小于所述第三链码与所述第六链码的夹角。
例如,所述φ1为图12中L1(第三链码)与L2(第四链码)的夹角,φ1=3°。L1(第三链码)与L3(第五链码)的夹角为93°,L1(第三链码)与L4(第六链码)的夹角为94°,均大于φ1。因此,所述链码集合中L1(第三链码)最有可能与L2(第四链码)互为平行线。
其中,所述φ2为所述第五链码和所述第六链码的夹角;所述φ2小于所述第五链码与所述第三链码的夹角;所述φ2小于所述第五链码与所述第四链码的夹角;所述W2为第二权重值。
例如,所述φ2为图12中L3(第五链码)与L4(第六链码)的夹角,φ2=2°。L3(第五链码)与L1(第三链码)的夹角为93°,L3(第五链码)与L2(第四链码)的夹角为87°,均大于φ2。因此,所述链码集合中L3(第五链码)最有可能与L4(第六链码)互为平行线。
优选地,所述W2的取值为3。
其中,矩形边缘必然存在两组互为平行的线段,φ1和φ2反映了两组最可能互为平行的线段的平行程度。
其中,所述θ1为所述第三链码与所述第五链码的夹角与90°的差值;所述θ2为所述第三链码与所述第六链码的夹角与90°的差值;所述θ3为所述第五链码与所述第四链码的夹角与90°的差值;所述θ4为所述第六链码与所述第四链码的夹角与90°的差值;所述W3为第三权重值;
例如,所述θ1为图12中L1(第三链码)与L3(第五链码)的夹角与90°的差值,θ1=|93°-90°|=3°。所述θ2为图12中L1(第三链码)与L4(第六链码)的夹角与90°的差值,θ2=|94°-90°|=4°。所述θ3为图12中L3(第五链码)与L2(第四链码)的夹角与90°的差值,θ3=|87°-90°|=3°。所述θ4为图12中L4(第六链码)与L2(第四链码)的夹角与90°的差值,θ4=|88°-90°|=2°。
优选地,所述W3的取值为3。
其中,矩形边缘必然存在四个直角,θ1、θ2、θ3和θ4能够反映直角的个数。
其中,垂直投影所述第三链码,得到第二线段;获取所述第五链码与所述第二线段的交点,得到第一交点;获取所述第六链码与所述第二线段的交点,得到第二交点;以所述第一交点和所述第二交点为端点的线段为第三线段;所述A1为所述第二线段中除所述第三线段之外的部分的长度总和。
例如,图13中,将L1(第三链码)作垂直投影,得到R2(第二线段)。L3(第五链码)与R2(第二线段)的交点为I1(第一交点),L4(第六链码)与R2(第二线段)的交点为I2(第二交点)。R3(第三线段)为I1至I2之间的线段,A1为R2(第二线段)中除R3(第三线段)之外的部分的长度总和,A1≈0。
其中,垂直投影所述第五链码,得到第四线段;获取所述第三链码与所述第四线段的交点,得到第三交点;获取所述第四链码与所述第四线段的交点,得到第四交点;以所述第三交点和所述第四交点为端点的线段为第五线段;所述A1为所述第四线段中除所述第五线段之外的部分的长度总和;所述W4为第四权重值。
例如,图13中,将L3(第五链码)作垂直投影,得到R4(第四线段)。L1(第三链码)与R4(第四线段)的交点为I3(第三交点),L2(第四链码)与R4(第四线段)的交点为I4(第四交点)。R5(第五线段)为I3至I4之间的线段,A2为R4(第四线段)中除R5(第五线段)之外的部分的长度总和,A2≈0。
优选地,所述W4的取值为3。
其中,A1和A2的值越大说明两组平行线之间交叉程度越大,越不可能是矩形。例如,图13中A1和A2值很小,说明L1、L2与L3、L4交叉程度轻微,图13的原始图像极有可能是一个矩形。又如,图14中的A1和A2(由A21和A22组成)值远大于0,L1、L2与L3、L4交叉程度严重,图14是一个井字形而非矩形。
S4、重复执行步骤S2至步骤S3,直至预设的图像内的所有链码被遍历。
其中,将预设的图像中的所有直线段进行排列组合,找出所有的可能为边缘的矩形。
S5、标记具有最大信心值的链码集合为边缘集合。
其中,信心值代表四条直线段能够组成矩形的概率,信息值越高,组成矩形的概率越高。在寻找矩形边缘的过程中,选择具有最大信心值的链码集合中的四条直线段作为矩形边缘的四条边。
S6、计算所述边缘集合中四条链码的交点坐标;根据四个所述交点坐标对所述预设的图像进行透视变换操作,得到矫正图像。
其中,在定位到矩形边缘的四个顶点后,可利用现有的透视变换算法矫正图9(原始图像),从而得到如图15所示的矫正后的图像。矫正后的图像可以很好的符合了人的感官视觉,也有利于后期的OCR识别等处理工作。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (4)
1.一种边缘检测方法,其特征在于,包括基于FreeMan链码的直线检测方法,包括:
获取第一线段的FreeMan链码,得到第一链码;
以所述第一链码的中点为界,将所述第一链码分为向前链码和向后链码;
若所述向前链码和所述向后链码同时满足条件一、条件二和条件三,则标记所述第一链码为直线;
所述条件一具体为:a1=b1,或者(a1=b2)&(a2=b1);
所述条件二具体为:
((Numa1+Numa2+Numb1+Numb2)/Sum)>Threshold1;
所述条件三具体为:
((Numa1+Numa2)-(Numb1+Numb2))<Threshold2;
其中,所述a1为所述向前链码中出现次数最多的方向编号;所述a2为所述向前链码中出现次数第二多的方向编号;所述b1为所述向后链码中出现次数最多的方向编号;所述b2为所述向后链码中出现次数第二多的方向编号;所述Numa1为所述向前链码中所述a1出现的次数;所述Numa2为所述向前链码中所述a2出现的次数;所述Numb1为所述向后链码中所述b1出现的次数;所述Numb2为所述向后链码中所述b2出现的次数;所述Threshold1为第一阈值;所述Threshold2为第二阈值;所述Sum为所述向前链码和所述向后链码中的链码点总数;
获取第一线段的FreeMan链码,得到第一链码之前,还包括:
若两条链码存在一个共同端点,则将所述两条链码中的一条链码的方向置反;
获取第一线段的FreeMan链码,得到第一链码,具体为:
获取第一线段的FreeMan链码;
若所述第一线段的FreeMan链码存在角点,则:以所述角点为界,将所述第一线段的FreeMan链码拆分为第一链码和第二链码;所述角点为极值点;
还包括:
S1、获取四条被标记为直线的链码,得到链码集合;所述链码集合包括第三链码、第四链码、第五链码和第六链码;
S2、根据第一公式计算所述链码集合的信心值;
S3、重复执行步骤S1至步骤S2,直至预设的图像内的所有链码被遍历;
S4、标记具有最大信心值的链码集合为边缘集合;
所述第一公式具体为:
C=(L*W1+φ1*W2+φ2*W2+θ1*W3+θ2*W3+θ3*W3+θ4*W3-A1*W4-A2*W4);
其中,所述L为所述链码集合中四条链码的长度总和;所述W1为第一权重值;所述W1的取值为1;
所述φ1为所述第三链码与所述第四链码的夹角;在所述链码集合中,所述φ1小于所述第三链码与所述第五链码的夹角,所述φ1小于所述第三链码与所述第六链码的夹角;
所述φ2为所述第五链码和所述第六链码的夹角;所述φ2小于所述第五链码与所述第三链码的夹角;所述φ2小于所述第五链码与所述第四链码的夹角;所述W2为第二权重值;
所述θ1为所述第三链码与所述第五链码的夹角与90°的差值;所述θ2为所述第三链码与所述第六链码的夹角与90°的差值;所述θ3为所述第五链码与所述第四链码的夹角与90°的差值;所述θ4为所述第六链码与所述第四链码的夹角与90°的差值;所述W3为第三权重值;
垂直投影所述第三链码,得到第二线段;获取所述第五链码与所述第二线段的交点,得到第一交点;获取所述第六链码与所述第二线段的交点,得到第二交点;以所述第一交点和所述第二交点为端点的线段为第三线段;所述A1为所述第二线段中除所述第三线段之外的部分的长度总和;
垂直投影所述第五链码,得到第四线段;获取所述第三链码与所述第四线段的交点,得到第三交点;获取所述第四链码与所述第四线段的交点,得到第四交点;以所述第三交点和所述第四交点为端点的线段为第五线段;所述A2为所述第四线段中除所述第五线段之外的部分的长度总和;所述W4为第四权重值。
2.根据权利要求1所述的边缘检测方法,其特征在于,还包括:
计算所述边缘集合中四条链码的交点坐标;
根据四个所述交点坐标对所述预设的图像进行透视变换操作,得到矫正图像。
3.一种边缘检测终端,其特征在于,包括基于FreeMan链码的直线检测终端,包括一个或多个处理器及存储器,所述存储器存储有程序,并且被配置成由所述一个或多个处理器执行以下步骤:
获取第一线段的FreeMan链码,得到第一链码;
以所述第一链码的中点为界,将所述第一链码分为向前链码和向后链码;
若所述向前链码和所述向后链码同时满足条件一、条件二和条件三,则标记所述第一链码为直线;
所述条件一具体为:a1=b1,或者(a1=b2)&(a2=b1);
所述条件二具体为:
((Numa1+Numa2+Numb1+Numb2)/Sum)>Threshold1;
所述条件三具体为:
((Numa1+Numa2)-(Numb1+Numb2))<Threshold2;
其中,所述a1为所述向前链码中出现次数最多的方向编号;所述a2为所述向前链码中出现次数第二多的方向编号;所述b1为所述向后链码中出现次数最多的方向编号;所述b2为所述向后链码中出现次数第二多的方向编号;所述Numa1为所述向前链码中所述a1出现的次数;所述Numa2为所述向前链码中所述a2出现的次数;所述Numb1为所述向后链码中所述b1出现的次数;所述Numb2为所述向后链码中所述b2出现的次数;所述Threshold1为第一阈值;所述Threshold2为第二阈值;所述Sum为所述向前链码和所述向后链码中的链码点总数;
获取第一线段的FreeMan链码,得到第一链码之前,还包括:
若两条链码存在一个共同端点,则将所述两条链码中的一条链码的方向置反;
获取第一线段的FreeMan链码,得到第一链码,具体为:
获取第一线段的FreeMan链码;
若所述第一线段的FreeMan链码存在角点,则:以所述角点为界,将所述第一线段的FreeMan链码拆分为第一链码和第二链码;所述角点为极值点;
还包括:
S1、获取四条被标记为直线的链码,得到链码集合;所述链码集合包括第三链码、第四链码、第五链码和第六链码;
S2、根据第一公式计算所述链码集合的信心值;
S3、重复执行步骤S1至步骤S2,直至预设的图像内的所有链码被遍历;
S4、标记具有最大信心值的链码集合为边缘集合;
所述第一公式具体为:
C=(L*W1+φ1*W2+φ2*W2+θ1*W3+θ2*W3+θ3*W3+θ4*W3-A1*W4-A2*W4);
其中,所述L为所述链码集合中四条链码的长度总和;所述W1为第一权重值;所述W1的取值为1;
所述φ1为所述第三链码与所述第四链码的夹角;在所述链码集合中,所述φ1小于所述第三链码与所述第五链码的夹角,所述φ1小于所述第三链码与所述第六链码的夹角;
所述φ2为所述第五链码和所述第六链码的夹角;所述φ2小于所述第五链码与所述第三链码的夹角;所述φ2小于所述第五链码与所述第四链码的夹角;所述W2为第二权重值;
所述θ1为所述第三链码与所述第五链码的夹角与90°的差值;所述θ2为所述第三链码与所述第六链码的夹角与90°的差值;所述θ3为所述第五链码与所述第四链码的夹角与90°的差值;所述θ4为所述第六链码与所述第四链码的夹角与90°的差值;所述W3为第三权重值;
垂直投影所述第三链码,得到第二线段;获取所述第五链码与所述第二线段的交点,得到第一交点;获取所述第六链码与所述第二线段的交点,得到第二交点;以所述第一交点和所述第二交点为端点的线段为第三线段;所述A1为所述第二线段中除所述第三线段之外的部分的长度总和;
垂直投影所述第五链码,得到第四线段;获取所述第三链码与所述第四线段的交点,得到第三交点;获取所述第四链码与所述第四线段的交点,得到第四交点;以所述第三交点和所述第四交点为端点的线段为第五线段;所述A2为所述第四线段中除所述第五线段之外的部分的长度总和;所述W4为第四权重值。
4.根据权利要求3所述的边缘检测终端,其特征在于,还包括:
计算所述边缘集合中四条链码的交点坐标;
根据四个所述交点坐标对所述预设的图像进行透视变换操作,得到矫正图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910374741.9A CN110097065B (zh) | 2019-05-07 | 2019-05-07 | 一种基于FreeMan链码的直线检测方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910374741.9A CN110097065B (zh) | 2019-05-07 | 2019-05-07 | 一种基于FreeMan链码的直线检测方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110097065A CN110097065A (zh) | 2019-08-06 |
CN110097065B true CN110097065B (zh) | 2021-09-10 |
Family
ID=67447032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910374741.9A Active CN110097065B (zh) | 2019-05-07 | 2019-05-07 | 一种基于FreeMan链码的直线检测方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110097065B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112733826B (zh) * | 2020-12-28 | 2024-05-31 | 南京披云信息科技有限公司 | 图像处理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101750049A (zh) * | 2008-12-05 | 2010-06-23 | 南京理工大学 | 基于道路和车辆自身信息的单目视觉车距测量方法 |
CN105654097A (zh) * | 2015-12-29 | 2016-06-08 | 上海珍岛信息技术有限公司 | 图像中四边形标记物的检测方法 |
CN109190617A (zh) * | 2018-08-09 | 2019-01-11 | 腾讯科技(深圳)有限公司 | 一种图像的矩形检测方法、装置及存储介质 |
-
2019
- 2019-05-07 CN CN201910374741.9A patent/CN110097065B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101750049A (zh) * | 2008-12-05 | 2010-06-23 | 南京理工大学 | 基于道路和车辆自身信息的单目视觉车距测量方法 |
CN105654097A (zh) * | 2015-12-29 | 2016-06-08 | 上海珍岛信息技术有限公司 | 图像中四边形标记物的检测方法 |
CN105654097B (zh) * | 2015-12-29 | 2019-04-16 | 上海珍岛信息技术有限公司 | 图像中四边形标记物的检测方法 |
CN109190617A (zh) * | 2018-08-09 | 2019-01-11 | 腾讯科技(深圳)有限公司 | 一种图像的矩形检测方法、装置及存储介质 |
Non-Patent Citations (3)
Title |
---|
一种基于边缘直线检测的矩形提取方法;卜飞宇;《电脑知识与技术》;20171231;全文 * |
基于链码检测的直线段检测方法;鲁光泉等;《计算机工程》;20060731;第32卷(第14期);摘要、第1-6节 * |
鲁光泉等.基于链码检测的直线段检测方法.《计算机工程》.2006,第32卷(第14期), * |
Also Published As
Publication number | Publication date |
---|---|
CN110097065A (zh) | 2019-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3309704B1 (en) | Two-dimensional code partitioning and decoding method and system | |
CN110046529B (zh) | 二维码识别方法、装置及设备 | |
CN107633192B (zh) | 一种基于机器视觉的复杂背景下条形码分割与识读方法 | |
US6674919B1 (en) | Method for determining the skew angle of a two-dimensional barcode | |
US9607199B2 (en) | Decoding machine-readable optical codes with aesthetic component | |
US9286501B2 (en) | Method and device for identifying a two-dimensional barcode | |
JP5468332B2 (ja) | 画像特徴点抽出方法 | |
CN108256375B (zh) | 一种一维条形码扫描方法 | |
US20150294129A1 (en) | Method and device for identifying a two-dimensional barcode | |
CN111275049B (zh) | 一种文字图像骨架特征描述符获取的方法及装置 | |
CN110502948B (zh) | 折叠二维码图像的还原方法、还原装置与扫码设备 | |
EP2545498B1 (en) | Resolution adjustment of an image that includes text undergoing an ocr process | |
CN106530273B (zh) | 高精度fpc直线线路检测与缺陷定位方法 | |
CN110097065B (zh) | 一种基于FreeMan链码的直线检测方法及终端 | |
JP4859061B2 (ja) | 画像の補正方法、補正プログラムおよび画像歪み補正装置 | |
US7903862B2 (en) | Method for detecting geometrical structures in images | |
CN112069852A (zh) | 一种基于游程编码的低质量二维码信息提取方法及装置 | |
CN115984211A (zh) | 视觉定位方法、机器人及存储介质 | |
KR100603618B1 (ko) | 어파인 변환을 이용한 문서 영상의 기하학적 왜곡 보정장치 및 방법 | |
JP2010091525A (ja) | 電子部品のパターンマッチング方法 | |
CN114359322A (zh) | 图像校正、拼接方法及相关装置、设备、系统和存储介质 | |
CN113033233B (zh) | 一种几何变形qr码的定位方法、装置及存储介质 | |
CN109871910B (zh) | 一种手写字符识别方法及装置 | |
Liang et al. | Real time recognition of 2D bar codes in complex image conditions | |
Liu et al. | The multi-QR codes extraction method in illegible image based on contour tracing |
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 |