一种图像编码与解码的方法与流程

文档序号:18144950发布日期:2019-07-10 11:34阅读:534来源:国知局
一种图像编码与解码的方法与流程

本发明涉及机器视觉领域,具体涉及到一种图像编码与解码的方法。



背景技术:

智能机器人是一个集环境感知、规划决策、运动控制等功能于一体的综合系统。它集中的运用了计算机、传感器、信息。通信、导航、人工智能及自动控制等技术,是典型的高新技术综合体,是电子计算机等最新科技成果与现代汽车工业相结合的产物,是科技发展的产物。

在环境感知方面,智能机器人主要通过以各种摄像头以及多种传感器为代表的外挂设备进行机器视觉感知。以视觉为例,当前机器对图像的解读也成功广泛用于扫描识别商品条形码和各种二维码等生活实际。无论是解读效率还是图像清晰度,对图像的解码和对相应数据编码这个双向互逆的过程始终在全过程中起关键作用。如何优化解码和编码的方法,让解码和编码的方法更为简便高效,同时不易被伪造,是当前需要深刻考虑的问题。现有的条码方式例如code128码,qr码,pdf417码等,都比较依赖生成图像的黑色块与白色块的之间的宽度比例来编码信息。因此当图像采集对焦不够好,图像不够清晰时,解码信息过程会失效,限制了动态使用编码的场合(例如移动机器人一边运动一边采图解码)。本发明针对动态采图和解码的场合进行了编码方面的改进,使得图像解码过程对图像清晰程度的要求无需太过苛刻。



技术实现要素:

为解决以上问题,本发明提供了一种图像编码与解码的方法,包括以下步骤:

将用于识别的图像表示成半径为r的圆并且将圆分为16等份的扇形,每条等分线半径代表一个十六进制数,按顺时针方向将等分线半径按照十六进制数从0编到f;所述图像围二维码,条形码等图像;

将数据字节串转化成图像编码图像定义为编码过程;

将编码图像转化成数据字节串定义为解码过程。

针对多个数据字节的解码,从圆心出发,由内向外以不同半径ri(ri<r,i=1,2,3...)画出不同位置,不同长度的圆弧,并且由内向外对每一个圆弧进行逐个编码,生成多个数据字节组成的数据字符串。

以此,将每个图像同各自的数据一一对应,数据与图像相互转化,以达到图像编码和解码方法的实现,从而达到机器准确的识别解读目标。

进一步的,将数字字符串从左到右逐个字节按圆心顺时针方向画出半径为ri的圆弧,其中ri<r,i=1,2,3...,i表示圆弧,圆弧依次由内向外布置,圆弧起点和终点的等分线分别代表一个十六进制数,结束符的圆弧半径等于r。

进一步的,所述圆弧的间距和圆弧线宽分别设定为固定的值。

进一步的,所述半径为r的大小是根据圆弧的间距,圆弧线宽和图像的总字节数来确定。

进一步的,一条圆弧形成1个2位十六进制,即8位二进制字节,这就生成单个数据字节。

进一步的,所述解码过程为:机器在标定学习每个十六进制数对应的等分线半径的位置,从圆心出发,由内向外对每一条圆弧的起点和终点进行识别读取,将所对应的十六进制数依次排列,生成数据字符串供机器内部处理。在识别过程中,若该圆弧起点没有对应的等分线,则选取与该圆弧相交的等分线对应的十六进制数为圆弧的十六进制数,并且说明该圆弧对应的是两个相同的十六进制数。

进一步的,所述学习的过程为:顺时针测量每条等分线半径与十六进制数0所对应的等分线半径之间的夹角。

进一步的,所述用于识别的图像背景底色与圆弧颜色的像素值差距越大越好,最理想的是图像背景底色为白(像素值为255),圆弧颜色为黑色(像素值为0),以方便机器检测识别。

进一步的,编码过程中,若数据字节中两位十六进制数相同,则形成以对应的等分线半径为中心,上下扩展5°的圆弧。

此外在圆弧起点和圆弧终点处由于像素值落差较大,锐化效果比较好,因此成像清晰程度不高,可用于动态拍照,动态扫码识别,模糊处理。同时,圆弧宽度,各圆弧之间间隔选取适当,更有利于机器逐条读取解码。编码与解码互逆,图像与其数据字节串一一对应,使得两个过程的结果更为准确。此方法较为简便,效率较高。

通过本发明的方法,将每个图像同各自的数据一一对应,数据与图像相互转化,以达到图像编码和解码方法的实现,从而达到机器准确的识别解读功能。相对于现有的编码和解码技术,本发明具有以下效果:

1.本发明可以在小面积范围内表达大量的信息;

2.本发明生成只需一串数据编码和简单的半径划分测量,相对于普通的二维码生成算法或者生成插件更为简便;

3.本发明所生成的图形在公示于众前可以去除等分半径和相应的十六进制数标记,同时生成图形为圆,没有任何边角,难以找出十六进制数0所对应的等分线半径作为起始标记,在不掌握具体编码情况下难以被伪造。相反,普通的二维码容易被伪造,不法分子时常伪造形状相近的二维码并植入病毒,真假两者不容易为广大群众所能甄别。

附图说明

图1为本发明方法的流程图;

图2为实例中的图像解码和编码过程图。

具体实施方式

以下结合附图对本发明的实施例进行说明,应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。

实施例的一种图像编码与解码的方法,如图1所示,包括以下步骤:

步骤s101:根据分别设定好的圆弧的间距,圆弧线宽和总字节数,将用于识别的图像设置成半径为r的圆形,背景为白色(像素值为255)。将圆进行十六等分,确定好了每条等分半径的精准位置后,将每条等分半径按顺时针依次从0到f标记。

步骤s102:在圆内从某一条等分线半径(圆弧起点)处到另一条等分线半径(圆弧终点)作出圆弧,圆弧为黑色,像素值为0;

步骤s103-1:编码过程:将数字字符串从左到右逐个字节划分,将每个字节所对应的圆弧按位置依次由内向外布置,具体的:将数字字符串从左到右逐个字节按圆心顺时针方向画出半径为ri的圆弧(不允许出现闭合),其中ri<r,i=1,2,3...,圆弧起点和终点的等分线分别代表一个十六进制数,最后结束符的圆弧外边半径等于r,是一圈闭合的黑色圆弧以此表示结束符0h,进而生成编码后的图像;

步骤s103-2:解码过程:机器在标定学习每个十六进制数对应的等分线半径的位置,测量某条等分线半径与十六进制数0所对应的等分线半径之间的夹角,从圆心出发,由内向外对每一条圆弧的起点和终点进行识别读取,将所对应的十六进制数依次排列,生成数据字符串供机器内部处理。

图2为图像解码和对应数据编码的具体过程,其中背景为纯白,圆弧为纯黑。机器解码时,将圆16等份,标定每条等分线半径并进行十六进制标号,从检测到的圆心出发,随着半径不断增大,根据分别设定好的圆弧线宽和圆弧的间距值,本实施例采用不封闭的5条圆弧为和一条最外层为闭合的圆弧,圆心和最内层圆弧之间以及圆弧与圆弧之间共有6道间距,可以设定圆弧线宽和圆弧的间距值均为圆半径的1/12,也就是把半径12等份,机器视觉根据圆弧本身的颜色能够检测到圆内存在五条圆弧a,b,c,d,e和最外层的闭合圆弧(即准备生成结束符),其中,除结束符外,圆弧不允许闭合,如图2所示:

a轨迹圆弧起点为0,圆弧终点为5,故生成字节05;

b轨迹圆弧起点为3,圆弧终点为a,故生成字节3a;

c轨迹圆弧起点为4,圆弧终点为1,故生成字节41;

d轨迹圆弧起点为b,圆弧终点为6,故生成字节b6;

e轨迹无圆弧起点和圆弧终点,但经过4所对应的等分线半径,故生成字节44;

当机器检测到闭合圆弧时,自动生成字符串0h作为结束符,检测生成过程结束。

因此,五条圆弧得出五个字节编码,连同结束符依次组合成字节字符串:053a41b6440h,取0h之前部分为有效字节串编码。

编码是解码的逆过程,根据字节串从左往右逐个划分字节符(包括结束符0h),并根据总字节数、圆弧线宽和间隔设定的值,对整个圆图进行半径计算并作出,均分标定圆及画出各个字节对应的圆弧在圆内的位置分布,从而生成整个编码图像,且这个图像经过扫描检测能准确生成原先的字节编码,以此达到图像和字节串过程的闭合转换。

如果数据字节中两位十六进制数相同的话,以cc为例,则编码过程中以十六进制数c所对应的等分线半径为中心,上下扩展5°,形成圆弧。故所有生成的圆弧,除了最外层闭合圆弧,均不出现闭合的现象。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1