地图处理方法、装置、机器人及存储介质与流程

文档序号:31052467发布日期:2022-08-06 08:13阅读:86来源:国知局
地图处理方法、装置、机器人及存储介质与流程

1.本发明涉及图像处理领域,尤其涉及一种地图处理方法、装置、机器人及存储介质。


背景技术:

2.随着人工智能的发展,机器人的研究得到越来越多的关注和投入,而机器人的定位和地图创建及获取是机器人领域的热点研究问题。目前,机器人可根据自身的传感器获取地图图像供用户进行使用;但机器人在通过传感器获取地图图像的过程中,由于传感器的误差,导致获取的地图图像存在线条杂乱、不美观、地图信息显示不直观的问题。
3.因此,如何通过机器人对获取到的地图图像进行处理,以提高机器人所获取到的地图图像的美观度是亟需解决的问题。


技术实现要素:

4.有鉴于此,本发明的目的是为了克服现有技术中的不足,提供一种地图处理方法、装置、机器人及存储介质。
5.第一方面,本发明提供一种地图处理方法,包括:
6.对获取的地图图像进行预处理,得到二值化图像;
7.对所述二值化图像进行轮廓提取,得到第一轮廓图像;
8.采用多边形逼近轮廓算法对所述第一轮廓图像中各轮廓进行多边形逼近处理,得到第二轮廓图像;
9.对所述第二轮廓图像中各连续轮廓上的指定端点进行位置调整,得到第三轮廓图像,其中,所述连续轮廓包括多个不共线的连续线段,所述指定端点为所述连续线段的端点;
10.基于所述第三轮廓图像生成美化后的地图。
11.在一种实施方式中,所述对所述第二轮廓图像中各连续轮廓上的指定端点进行位置调整,得到第三轮廓图像包括:
12.以所述连续轮廓上相邻的两个连续线段为一组线段组,计算每一所述线段组中两个连续线段之间的夹角;
13.查找所述夹角为锐角或钝角所对应的线段组,并调整查找到的所述线段组中相应连续线段的端点位置,得到第三轮廓图像。
14.在一种实施方式中,所述查找所述夹角为锐角或钝角所对应的线段组,并调整查找到的所述线段组中相应连续线段的端点位置,得到第三轮廓图像包括:
15.当所述夹角为锐角时,以对应的两个所述连续线段中的横向或竖向方向的连续线段为基准,调整另一个所述连续线段上的端点位置直至两个所述连续线段呈垂直关系,得到第三轮廓图像;
16.当所述夹角为钝角时,以对应的两个所述连续线段中的横向或竖向方向的连续线
段为基准,调整另一个所述连续线段上的端点位置直至两个所述连续线段呈共线关系,得到第三轮廓图像。
17.在一种实施方式中,所述当所述夹角为锐角时,以对应的两个所述连续线段中的横向或竖向方向的连续线段为基准,调整另一个所述连续线段上的端点位置直至两个所述连续线段呈垂直关系,得到第三轮廓图像包括:
18.将所述夹角为锐角时所对应的两个所述连续线段中的横向或竖向方向的连续线段作为第一线段,另一个所述连续线段作为第二线段;
19.将所述第一线段与所述第二线段的共同端点作为第一端点,并将所述第二线段上的另一端点作为第二端点;
20.经过所述第一端点作垂直于所述第一线段的第一垂线,并经过所述第二端点作垂直于所述第一垂线的第二垂线;
21.将所述第一垂线与所述第二垂线相交的点作为第三端点;
22.将所述第二端点平移至所述第三端点的位置以形成第三轮廓图像。
23.在一种实施方式中,所述当所述夹角为钝角时,以对应的两个所述连续线段中的横向或竖向方向的连续线段为基准,调整另一个所述连续线段上的端点位置直至两个所述连续线段呈共线关系,得到第三轮廓图像包括:
24.将所述夹角为钝角时所对应的两条所述连续线段中的横向或竖向线段作为第三线段,另一条所述连续线段作为第四线段;
25.将所述第四线段上与所述第三线段不共有的端点作为第四端点;
26.经过所述第四端点作垂直于第三线段的第三垂线;
27.将所述第三垂线与所述第三线段的延长线相交的点作为第五端点;
28.将所述第四端点平移至所述第五端点的位置以形成第三轮廓图像。
29.在一种实施方式中,所述基于所述第三轮廓图像生成美化后的地图包括:
30.将所述第三轮廓图像反转二值化,得到反转图像;
31.采用连通域搜索算法查找并灰色填充所述反转图像中的轮廓外围区域,得到美化后的地图。
32.在一种实施方式中,所述对获取的地图图像进行预处理,得到二值化图像包括:
33.对获取的地图图像进行灰度化处理,得到灰度化地图;
34.采用高斯滤波算法模糊处理所述灰度化地图,得到模糊图像;
35.对所述模糊图像进行二值化处理,得到二值化图像。
36.第二方面,本发明还提供一种地图处理装置,包括:
37.预处理模块,用于对获取的地图图像进行预处理,得到二值化图像;
38.轮廓提取模块,用于对所述二值化图像进行轮廓提取,得到第一轮廓图像;
39.多边形逼近处理模块,用于采用多边形逼近轮廓算法对所述第一轮廓图像中各轮廓进行多边形逼近处理,得到第二轮廓图像;
40.轮廓调整模块,用于对所述第二轮廓图像中各连续轮廓上的指定端点进行位置调整,得到第三轮廓图像,其中,所述连续轮廓包括多个不共线的连续线段,所述指定端点为所述连续线段的端点;
41.生成模块,用于基于所述第三轮廓图像生成美化后的地图。
42.第三方面,本发明还提供一种机器人,所述机器人包括存储器和至少一个处理器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实施上述的地图处理方法。
43.第四方面,本发明还提供一种计算机存储介质,其存储有计算机程序,所述计算机程序被执行时,实施上述的地图处理方法。
44.本发明的实施例具有如下优点:
45.本发明的方法包括对获取的地图图像进行预处理,得到二值化图像;对二值化图像进行轮廓提取,得到第一轮廓图像;采用多边形逼近轮廓算法对第一轮廓图像中各轮廓进行多边形逼近处理,得到第二轮廓图像;对第二轮廓图像中各连续轮廓上的指定端点进行位置调整,得到第三轮廓图像;基于第三轮廓图像生成美化后的地图。本发明的技术方案以各轮廓为依据,对各轮廓进行多边形逼近处理后,再对各连续轮廓进行指定端点位置的调整,实现对轮廓的美化,进而实现对地图图像的美化,提高了地图图像的美观度。
附图说明
46.为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
47.图1为本发明实施例中地图处理方法的第一个实施方式示意图;
48.图2为本发明实施例中地图处理方法的第二个实施方式示意图;
49.图3为本发明实施例中原始的地图图像示意图;
50.图4为本发明实施例中二值化图像示意图;
51.图5为本发明实施例中第一轮廓图像示意图;
52.图6为本发明实施例中第二轮廓图像示意图;
53.图7为本发明实施例中地图处理方法的第三个实施方式示意图;
54.图8为本发明实施例中第三轮廓图像示意图;
55.图9为本发明实施例中地图处理方法的第四个实施方式示意图;
56.图10为本发明实施例中地图处理方法的第五个实施方式示意图;
57.图11为本发明实施例中美化后的地图图像示意图;
58.图12为本发明实施例中地图处理装置的一个实施例示意图。
具体实施方式
59.下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
60.通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
61.在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅
意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
62.此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
63.除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
64.实施例1
65.本发明实施例提供一种地图处理方法,应用于机器人,请参照图1,下面对该地图处理方法进行详细说明。
66.s110,对获取的地图图像进行预处理,得到二值化图像。
67.在一种可行的实施方式中,如图2所示,步骤s110可具体包括如下步骤:
68.s111,对获取的地图图像进行灰度化处理,得到灰度化地图。
69.s112,采用高斯滤波算法模糊处理灰度化地图,得到模糊图像。
70.s113,对模糊图像进行二值化处理,得到二值化图像。
71.机器人可通过传感器以及slam算法获取原始的地图图像,如图3(原图是彩色附图)所示,原始的地图图像中墙体的黑色边缘上,毛刺较多;墙体不直或者不平,即视觉效果不规则;墙体不连续,有断裂之处;对于同一种类型的地图图像中的各元素,其灰度变化相差较大,例如地图图像中右上角的边缘代表墙体,但是它的灰度值较高,显示出来不是特别黑。
72.对获取的地图图像进行灰度化处理,即将地图图像的三通道数据转化为单通道数据,得到灰度化地图,另外,灰度化处理是一个基本的图像处理操作,即将一副有颜色的图片处理成灰色的图片。
73.由于原始的地图图像中的墙体边缘存在大量的毛刺(即由于传感器的误差导致的噪声数据),所以采用高斯滤波算法对灰度化地图进行模糊处理,得到模糊图像,模糊图像与原始的地图图像相比,边缘特征被模糊化,但其主要特征并没有受到影响,以此降低噪声周围的阶跃效应。
74.在本实施例中,采用高斯滤波算法对灰度化地图进行模糊处理是图像处理中的基本操作,主要是根据单个像素周围的8个像素的值进行加权取平均值计算,得到的平均值即为新的单个像素的像素值,这样会减弱图像中的阶跃效应。
75.在本实施例中,对模糊图像进行二值化处理,得到二值化图像(如图4所示),通过选取较高的灰度阈值来进行二值化处理,使得不受断裂的边缘影响,得到了完整且清晰的边缘特征;其中,二值化处理为图像处理的一个基本步骤。根据阈值大小,将0~255的灰度图像处理成0、1的图像(大于阈值的像素值修改为1
‑‑
白色,小于等于阈值的像素修改为0
‑‑
黑色),即灰色的图像处理成为黑白图像。因为灰度化处理之后,灰度值的大小代表该点是障碍物的概率大小,0代表障碍物,127代表未知区域,255代表可通行区域,所以只需要选取
略高于127的灰度值来作为阈值,例如130或者140。但是由于激光的误差,所以选定160~170较为合适;阈值大小可以根据灰度化图像进行选取,也可以针对某一类型的简单图像进行固定的阈值设定,由于我们得到的灰度化处理过后的图像是很简单的灰度图像,所以也可以直接设定阈值为160;大于等于阈值的像素为1,是白色像素;小于阈值的像素为0,是黑色像素。
76.s120,对二值化图像进行轮廓提取,得到第一轮廓图像。
77.在本实施例中,以各轮廓为依据实现对地图图像的美化处理,需要提取轮廓,轮廓提取为图像处理的基本操作,可使用opencv库,通过图像遍历和联通域搜索,查找二值化图像中的黑色像素区域以及白色像素区域;提取黑色像素区域和白色像素区域之间的多个边缘像素点集合,得到多条轮廓,其中,所提取的边缘像素点为黑色像素或白色像素,黑色像素区域和白色像素区域的边缘处紧邻的多个黑色像素或白色像素汇集成多个边缘像素点集合,形成多条轮廓。如图5所示,白色的细线段即为我们提取出的多条轮廓,且轮廓并不是很规则,其中存在很多断裂的线段,即线段与线段之间并不连续,其中,轮廓就是一个图形的外围(或内围)的像素对应的像素点的集合。在本发明实施例中,以各轮廓为依据,对轮廓进行美化,进而实现地图图像的美化时,对轮廓的连续性、完整性以及轮廓长度都没有要求,从而可以实现线条杂乱的地图图像的美化。
78.s130,采用多边形逼近轮廓算法对第一轮廓图像中各轮廓进行多边形逼近处理,得到第二轮廓图像。
79.在得到第一轮廓图像后,采用多边形逼近轮廓算法对第一轮廓图像中各轮廓进行多边形逼近处理:(1)先从轮廓图像中找出两个彼此距离最远的点a、b,将两点相连,该a、b两点连接后得到一条线段ab以形成逼近后的新轮廓;(2)从原轮廓图像上查找一个离线段ab距离最远的点c,将该点c加入逼近后的新轮廓中生成线段bc;然后重复前面的步骤(1)和(2),不断迭代,不断将最远的点添加进来形成新的线段以构建多边形,直到第一轮廓图像中所有的点到多边形的最短距离小于预定最短距离,以形成如图6所示的第二轮廓图像。
80.s140,对所述第二轮廓图像中各连续轮廓上的指定端点进行位置调整,得到第三轮廓图像。
81.在一种可行的实施方式中,如图7所示,步骤s140可具体包括如下步骤:
82.s141,以所述连续轮廓上相邻的两个连续线段为一组线段组,计算每一所述线段组中两个连续线段之间的夹角。
83.s142,查找所述夹角为锐角或钝角所对应的线段组,并调整查找到的所述线段组中相应连续线段的端点位置,得到第三轮廓图像。
84.如图6所示,经过多边形逼近算法的处理之后,轮廓图像上的墙体轮廓变得简洁了很多,原来存在的小的凸起现在全部消失。但是轮廓图像上的墙体轮廓并没有变得横平竖直,有些墙体轮廓上面的凸起消失了,但是它也变斜了,因此需要对轮廓图像上的墙体轮廓进行整体的调整。
85.查找第二轮廓图像中各连续轮廓上的指定端点,其中,第二轮廓图像中的连续轮廓包括多个不共线的连续线段,指定端点即为连续线段的端点;也即是,两个相邻的指定端点对应一个连续线段,以三个相邻的指定端点所对应的两个相邻的连续线段为一组线段组,可计算出每一线段组中两个连续线段的夹角角度。例如,从一连续轮廓上的第i个点开
始,逐个选择第i个点,第i+1个点,第i+2个点,通过这三个相邻的指定端点,可构成线段p1和线段p2,经由这两个线段p1、p2计算得知这两个线段的夹角。在此过程中,可将该线段向量化表示以计算夹角,即线段p1对应向量p1,线段p2对应向量p2,由向量p1、p2计算这两个向量的夹角,其两个向量的夹角对应为两个线段间的夹角。若夹角为90度或者180度,代表这两个连续线段互相垂直或者共线,则不对该连续线段对应的端点进行处理,若夹角不等于90或者180度,即夹角为锐角或钝角时,则对该连续线段对应的端点位置进行调整以形成如图8所示的第三轮廓图像,其中,连续线段对应的端点为形成该连续线段的像素点。
86.需要注意的是,在对该连续线段对应的端点位置进行调整以形成第三轮廓图像的过程中,若两连续线段的夹角不等于90或者180度,需要以对应的两个连续线段中的横向或竖向方向的连续线段为基准,即所选取计算夹角的两个连续线段中的其中一个连续线段与坐标轴呈平行或垂直关系。
87.在一种可行的实施方式中,如图9所示,步骤s143可具体包括如下步骤:
88.s1431,当所述夹角为锐角时,以对应的两个连续线段中的横向或竖向方向的连续线段为基准,调整另一个连续线段上的端点位置直至两个连续线段呈垂直关系,得到第三轮廓图像。
89.将夹角为锐角时所对应的两个连续线段中的横向或竖向方向的连续线段作为第一线段,另一个连续线段作为第二线段;将第一线段与第二线段的共同端点作为第一端点,并将第二线段上的另一端点作为第二端点;经过第一端点作垂直于第一线段的第一垂线,并经过第二端点作垂直于第一垂线的第二垂线;将第一垂线与第二垂线相交的点作为第三端点;将第二端点平移至第三端点的位置以形成第三轮廓图像;或删除第二线段,再线段连接第一端点和第三端点以形成第三轮廓图像。
90.s1432,当夹角为钝角时,以对应的两个连续线段中的横向或竖向方向的连续线段为基准,调整另一个连续线段上的端点位置直至两个连续线段呈共线关系,得到第三轮廓图像。
91.将夹角为钝角时所对应的两条连续线段中的横向或竖向线段作为第三线段,另一条连续线段作为第四线段;将第四线段上与第三线段不共有的端点作为第四端点;经过第四端点作垂直于第三线段的第三垂线;将第三垂线与第三线段的延长线相交的点作为第五端点;将第四端点平移至第五端点的位置以形成第三轮廓图像;或将第三线段延长至第五端点的位置并删除第四线段以形成第三轮廓图像。
92.s150,基于第三轮廓图像生成美化后的地图。
93.在一种可行的实施方式中,如图10所示,步骤s150可具体包括如下步骤:
94.s151,将第三轮廓图像反转二值化,得到反转图像。
95.s152,采用连通域搜索算法查找并灰色填充反转图像中的轮廓外围区域,得到美化后的地图。
96.对第二轮廓图像中各连续轮廓进行位置调整后,第二轮廓图像中原来相交但是不垂直的连续线段就会变得垂直或者平行,以生成横平竖直的第三轮廓图像。将第三轮廓图像按照图像处理算法中的反转二值化处理算法进行反转二值化处理,得到反转图像;再采用联通域搜索算法查找反转图像中对应轮廓外的外廓像素点,并且由这个外廓像素点向该外廓像素点的邻域进行扩散搜索,查找该反转图像上所有的外廓像素点,得到由该外廓像
素点所形成的不规则区域,即轮廓外围区域,即查找相加图像中黑色轮廓外的所有白色像素点以及该白色像素点所形成的白色不规则区域;灰色填充该白色不规则区域,使得白色不规则区域与周边灰色像素区域融为一体达到消除轮廓外围区域的目的,从而得到美化后的地图图像(如图11所示)。
97.本发明实施例通过对获取的地图图像进行预处理,得到二值化图像;对二值化图像进行轮廓提取,得到第一轮廓图像;采用多边形逼近轮廓算法对第一轮廓图像中各轮廓进行多边形逼近处理,得到第二轮廓图像;对第二轮廓图像中各连续轮廓上的指定端点进行位置调整,得到第三轮廓图像;基于第三轮廓图像生成美化后的地图。本发明实施例以各轮廓为依据,对各轮廓进行多边形逼近处理,减少各轮廓上像素点的数目,再对各连续轮廓进行指定端点位置的调整,实现对轮廓的美化,进而实现对地图图像的美化,提高了地图图像的美观度。
98.实施例2
99.请参照图12,本发明实施例还提供一种地图处理装置,该装置包括:
100.预处理模块11,用于对获取的地图图像进行预处理,得到二值化图像;
101.轮廓提取模块12,用于对所述二值化图像进行轮廓提取,得到第一轮廓图像;
102.多边形逼近处理模块13,用于采用多边形逼近轮廓算法对所述第一轮廓图像中各轮廓进行多边形逼近处理,得到第二轮廓图像;
103.轮廓调整模块14,用于对所述第二轮廓图像中各连续轮廓上的指定端点进行位置调整,得到第三轮廓图像,其中,所述连续轮廓包括多个不共线的连续线段,所述指定端点为所述连续线段的端点;
104.生成模块15,用于基于所述第三轮廓图像生成美化后的地图。
105.可以理解,本实施例的各模块对应于上述实施例1的各步骤,上述实施例1中的任意可选项同样适用于本实施例,故在此不再详述。
106.本发明实施例还提供了一种机器人,该机器人包括存储器和至少一个处理器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实施上述实施例的地图处理方法。
107.存储器可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据机器人的使用所创建的数据(比如连续轮廓、轮廓图像等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
108.本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述实施例的地图处理方法的步骤。
109.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于
附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
110.另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
111.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
112.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1