System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于角度变化快速识别简单图形和文字的方法技术_技高网

一种基于角度变化快速识别简单图形和文字的方法技术

技术编号:40053465 阅读:4 留言:0更新日期:2024-01-16 21:34
本发明专利技术涉及图形和文字识别领域,且公开了一种基于角度变化快速识别简单图形和文字的方法,包括以下步骤:第一步:基于实际场景中需求,将一个完整的圆均等切割成多个方向轮盘;第二步:通过定义好的方向即上述的数字,通过方向的变化来构造对应的模型,收集图形产生的点并进行角度计算转换为对应的方向值;第三步:遍历对应方向模型,通过动态规划算法算出模型的目标方向值和实际的图形的方向值之间的成本cost,cost值越小即和设定的方向模型越匹配,本发明专利技术根据路径采集点坐标,通过反切函数计算图片中点对应的方向,通过动态规划算法,计算图形中的方向和目标方向进行对比,从而得到对应的结果,以此在很少算力的情况下,可以计算得出结果。

【技术实现步骤摘要】

本专利技术涉及图形和文字识别领域,具体为一种基于角度变化快速识别简单图形和文字的方法


技术介绍

1、目前,图像识别技术在许多领域得到广泛应用,但在处理简单图形和文字时仍存在一些挑战。现有技术中的方法通常需要复杂的算法和大量的计算资源,导致识别速度较慢且准确性不高,普适性不强。

2、很多场景中我们仅需要识别一些简单的图形或者文字(一次书写可完成),例如:圆圈、三角形、叉、对钩、字母、数字等。

3、通过形状上下文算法(shape context),选取图形形状轮廓中一定数量的点,通过计算每个点的周围点到该点的角度和距离来构建这个点对应的周围环境(context)矩阵,通过对不同图像之间的矩阵匹配度,来判断两幅图像是否拥有同样的形状。

4、步骤1:对于给定的一个形状,通过边缘检测算子(如:canny算子)获取轮廓边缘,对轮廓边缘采样得到一组离散的点集p={p1,p2,p3,..pn},如图1中的字母a。

5、步骤2:计算形状上下文。以其中任意一点pi为参考点,在pi为圆心、r为半径的局域内按对数距离间隔建立n个同心圆。将此区域沿圆周方向m等分,形成如图1所示的靶状模板。点pi到其它各点的向量相对位置简化为模板上各扇区内的点分布数。这些点的统计分布直方图hi(k),称为点pi的形状上下文。

6、采用对数距离分割可以使形状上下文描述子对邻近的采样点比远离点更敏感,能强化局部特征。轮廓不同点处的形状上下文是不同的,但相似轮廓的对应点处趋于有相似的形状上下文,如图2。

7、对于整个点集p,分别以其n个点p1,p2,p3,..pn作参考点,依次计算与剩下的n-1个点构成的形状直方图,最终得到n个形状直方图。以n*(n-1)大小的矩阵存储。这样,对于任一目标,可用n*(n-1)大小的矩阵表示其形状信息,n*(n-1)大小的矩阵就是点集p的形状上下文,它描述了整个轮廓形状的特征。采样点越多,形状表达也越精细,计算量也会成倍加大。

8、利用步骤1,2得到每个目标的形状上下文后,接下来需要计算这两个目标的形状上下文的相似度,从而得到相似与否的结论。形状上下文之间的相似度计算方法叙述如下:

9、步骤3:计算代价矩阵cost

10、计算一个目标的形状直方图与另一目标的形状直方图之间的匹配代价,代价函数如下:

11、

12、其中,hi(k)为目标p的点pi的形状直方图;hj(k)为目标q的点qi的形状直方图。

13、按照公式,即可得到两个目标之间的代价矩阵c,大小为n*n。

14、步骤4:基于计算得到的代价矩阵c,进行点的匹配操作。

15、h(π)=σc(pi,qπ(i))

16、公式2

17、通过上述公式获得最小值,该方法以一个非矢量的数值表示两个目标的相似度。由于是基于代价矩阵进行计算。所以结果越大表示越不相似,结果越小表示越相似。

18、现有的技术方案,通过形状特征提取对比的方式,计算复杂,形状提取麻烦,有较大的算力成本,对于简单的图形、字母、数字并不能快速得出识别结果,为此我们提出了一种基于角度变化快速识别简单图形和文字的方法。


技术实现思路

1、(一)解决的技术问题

2、针对现有技术的不足,本专利技术提供了一种基于角度变化快速识别简单图形和文字的方法,解决了现有技术在快速识别简单图形和文字方面存在的一系列问题。目前现有技术在识别简单文字和图形时使用基于形状特征描述对比的方式进行。这种方式计算复杂,所需要的算力资源较大,对于一些简单图形例如字母数字等并不能达到快速识别的目的。

3、(二)技术方案

4、为实现上述所述目的,本专利技术提供如下技术方案:一种基于角度变化快速识别简单图形和文字的方法,包括以下步骤:

5、第一步:基于实际场景中需求,将一个完整的圆均等切割成多个方向轮盘;

6、第二步:通过定义好的方向即上述的数字,通过方向的变化来构造对应的模型,收集图形产生的点并进行角度计算转换为对应的方向值;

7、第三步:遍历对应方向模型,通过动态规划算法算出模型的目标方向值和实际的图形的方向值之间的成本cost,cost值越小即和设定的方向模型越匹配。

8、优选的,所述第二步的具体内容如下:

9、s1:对构成图形的点进行路径压缩得到压缩后的点;

10、s2:得到压缩后的点之后,计算两个点之间的角度;

11、s3:得到每个方向之间的角度(sliceangle)为:π*2.0/切割数,如果angle小于sliceanage/2.0或者angle大于π*2.0-sliceangle,方向值结果为0,其他通过四舍五入的方式:angle/sliceangle的结果为方向值。

12、优选的,所述s1的过程如下:

13、对于构成图形的点p1(x1,y1)和p2(x2,y2),计算它们之间的平方距离d,即d=(x2-x1)^2+(y2-y1)^2,如果d大于设定的增量距离validmove的平方,即d>validmove^2,则认为这两个点之间的距离有效,将其保留为有效点;否则,抛弃当前的这个点。

14、优选的,所述s2的过程如下:

15、对于点p1(x1,y1)和p2(x2,y2),计算它们之间的角度angle,即angle=atan2(y2-y1,x2-x1)。其中,atan2是一个数学函数,用于计算给定的x和y坐标值所对应的反正切值。

16、优选的,所述第三步的具体步骤如下:

17、1.创建两个二维数组td和tw,它们的列数分别为a.count+1和b.count+1,行数都为b.count+1;

18、2.初始化变量safe_max_value为int(int16.max),用于表示一个安全的最大值;

19、3.使用嵌套的循环遍历a和b的元素,计算每个元素的差值(),并将结果存储在td数组中;

20、4.初始化tw数组的第一行和第一列为safe_max_value;

21、5.将tw数组的第一个元素设置为0;

22、6.使用嵌套的循环遍历a和b的元素,计算最小路径和,对于每个位置(x,y),计算三个值:pa=tw[x-1,y]+cost,pb=tw[x,y-1]+cost,pc=tw[x-1,y-1]+cost,其中cost是td[x,y]的值,然后将最小值存储在tw[x,y]中;

23、7.返回tw[a.count,b.count-1],即最小路径和的结果。

24、(三)有益效果

25、与现有技术相比,本专利技术提供了一种基于角度变化快速识别简单图形和文字的方法,具备以下有益效果:

26、1、该基于角度变化快速识别简单图形和文字的方法,本专利技术根据路径采集点本文档来自技高网...

【技术保护点】

1.一种基于角度变化快速识别简单图形和文字的方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于角度变化快速识别简单图形和文字的方法,其特征在于:所述第二步的具体内容如下:

3.根据权利要求2所述的一种基于角度变化快速识别简单图形和文字的方法,其特征在于:所述S1的过程如下:

4.根据权利要求2所述的一种基于角度变化快速识别简单图形和文字的方法,其特征在于:所述S2的过程如下:

5.根据权利要求1所述的一种基于角度变化快速识别简单图形和文字的方法,其特征在于:所述第三步的具体步骤如下:

【技术特征摘要】

1.一种基于角度变化快速识别简单图形和文字的方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于角度变化快速识别简单图形和文字的方法,其特征在于:所述第二步的具体内容如下:

3.根据权利要求2所述的一种基于角度变化快速识别简单图形和文字的...

【专利技术属性】
技术研发人员:夏之祥康登波
申请(专利权)人:合肥栈顶信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1