本发明涉及机器人控制领域,尤其涉及一种控制机器人画像的方法及系统。
背景技术
随着科技的发展,机器人的功能越来越强大,机器人的应用也越来越广泛。在照相技术十分发达的今天,仍然有不少人热衷于街头画像,而随着生活成本上升和画像需求的减少,街头肖像画家越来越少,而画像机器人可以将照片画成画像,正是顺应潮流而上,而且机器人在艺术领域不仅媲美手工创作,而且还拥有了自己的风格。但现在大多机器人只能根据二值图像画黑白图像,而无法画出有色彩的图画,这样不能满足人们对画像机器人画像的要求。
技术实现要素:
为了解决上述技术问题,本发明的目的是提供一种能够控制机器人画出彩色画像的方法。
本发明的另一目的是提供一种能够控制机器人画出彩色画像的系统。
本发明所采用的技术方案是:
一种控制机器人画像的方法,包括以下步骤:
s1、获取待画像的彩色图像,采用预设的hsv颜色模型对彩色图像进行颜色区域划分,从而获得多个颜色区域;
s2、获取每个颜色区域的轮廓坐标,并将轮廓坐标按照预设比例映射到第一坐标系后,获得在第一坐标系上的色块轮廓信息;
s3、结合色块轮廓信息及其对应的颜色信息规划机器人在第一坐标系的画像路径,并根据画像路径控制机器人的机械臂进行画像。
进一步,所述预设的hsv颜色模型为包含多个颜色子空间的hsv颜色空间,具体通过以下步骤获得:
根据色调对hsv颜色空间进行颜色空间划分处理,以获得多个颜色子空间;其中,每个颜色子空间对应一种色调。
进一步,所述步骤s1,具体包括以下步骤:
获取待画像的彩色图像后,对彩色图像进行压缩处理;
依次获取彩色图像的像素点的hsv;其中,hsv包括明度、色调和饱和度;
根据像素点的色调判断像素点所属的颜色子空间,并将该颜色子空间的色调赋值给像素点的色调;
在彩色图像上,将相连的同一色调的像素点连接成一颜色区域,从而获得多个颜色区域。
进一步,所述hsv颜色空间的饱和度被平均划分为多个饱和度区间,所述步骤s2,包括以下步骤:
获取每个颜色区域的轮廓坐标,并将轮廓坐标按照预设比例映射到第一坐标系后,获得在第一坐标系上的色块轮廓信息;
在同一颜色区域内,根据像素点的饱和度判断像素点所属的饱和度区间,并将相连的属于同一饱和度区间的像素点连接为一密度区域;
获取每一密度区域的轮廓坐标,并将轮廓坐标按照预设比例映射到第一坐标系后,获得密度轮廓信息;
获取同一密度区域的像素点的饱和度计算平均饱和度,并结合平均饱和度和预设的对应关系获取该密度区域的画线密度。
进一步,所述颜色信息包括色调,所述步骤s3,具体包括以下步骤:
依次根据色块轮廓信息控制机器人移动到相应的位置,以及根据颜色信息选择机器人的画笔颜色;
结合密度轮廓信息、画线密度和预设的画线形状规划机器人在第一坐标系的画像路径;
根据画像路径控制机器人进行画像,直到完成画像。
进一步,所述预设的画线形状为直线画线和/或曲线画线。
进一步,当画线形状选择直线画线时,通过以下步骤规划画像路径:
在同一密度区域内,结合密度轮廓信息、预设矢量获取和预设的机械臂移动顺序获取第一条路径;
依次结合上一条直线路径和画线密度获取下一条直线路径,直到规划完该密度区域;
所述上一条直线路径与下一条直线路径平行。
进一步,当画线形状选择曲线画线时,通过以下步骤规划画像路径:
在同一密度区域内,根据密度轮廓信息获取第一个轮廓路径;
依次结合上一个轮廓路径和画线密度获取下一个轮廓路径,直到规划完该密度区域。
进一步,步骤s1还包括以下步骤:
判断像素点的明度是否大于预设值,若是,直接将该像素点的明度赋值为1。
本发明所采用的另一技术方案是:
一种控制机器人画像的系统,包括划分模块、映射模块和控制模块;
所述划分模块用于获取待画像的彩色图像,采用预设的hsv颜色模型对彩色图像进行颜色区域划分,从而获得多个颜色区域;
所述映射模块用于获取每个颜色区域的轮廓坐标,并将轮廓坐标按照预设比例映射到第一坐标系后,获得在第一坐标系上的色块轮廓信息;
所述控制模块用于结合色块轮廓信息和颜色区域的颜色信息规划机器人在第一坐标系的画像路径,并根据画像路径控制机器人的机械臂进行画像。
本发明的有益效果是:本发明通过hsv颜色模型对彩色图像进行划分,获得多个颜色区域,并将颜色区域的轮廓坐标映射到第一坐标系上,再根据色块轮廓信息控制机器人在第一坐标系上画像,从而得到彩色画像,满足人们对画像机器人画彩色图像的要求。
附图说明
图1是本发明一种控制机器人画像的方法的步骤流程图;
图2是选择直线画线的路径规划示意图;
图3是选择曲线画线的路径规划示意图;
图4是发明一种控制机器人画像的系统的结构框图。
具体实施方式
实施例一
如图1所示,一种控制机器人画像的方法,包括以下步骤:
a1、获取待画像的彩色图像,采用预设的hsv颜色模型对彩色图像进行颜色区域划分,从而获得多个颜色区域。
其中,所述预设的hsv颜色模型为包含多个颜色子空间的hsv颜色空间,具体通过以下步骤获得:
根据色调对hsv颜色空间进行颜色空间划分处理,以获得多个颜色子空间;其中,每个颜色子空间对应一种色调。
所述hsv(hue,saturation,value)颜色空间是根据色彩的三个基本属性:色调(hue)、饱和度(saturation)和明度(value)来确定颜色的一种方法。hsv颜色空间的模型对应于圆柱坐标系中的一个圆锥形子集,锥体的圆形底面相当色相,饱和度则从圆心向边缘增加,明度则从底边向锥顶递减,h,s,v的取值范围分别为0≤v≤1,0≤s≤1,0≤h<360。圆锥的顶面对应于v=1,代表颜色较亮,色彩h由绕v轴的旋转角给定。红色对应于角度0°,绿色对应于角度120°,蓝色对应于角度240°。在hsv颜色模型中,每一种颜色和它的补色相差180°。饱和度s取值从0到1,所以圆锥顶面的半径为1,圆锥的顶点处,v=0,代表黑色,圆锥的顶面中心处s=0,v=1,代表白色,从圆锥的顶面中心到圆锥的顶点代表亮度渐暗的灰色,即具有不同灰度的灰色。其他常用的颜色空间还有rgb颜色空间,hsi色彩空间,hsl颜色空间,hsb颜色空间,yuv颜色空间,lab颜色空间,xyz颜色空间,ycc颜色空间,cmyk颜色空间等。相对于其他颜色空间,hsv颜色空间更接近于人们对颜色的主观认识,符合视觉上的颜色连续性,颜色分布基本上是连续的,便于子空间的划分。在本实施例中,采用十二色相环将hsv颜色空间划分为12个颜色子空间,所述十二种颜色分别为:红、黄、蓝、橙、紫、绿、红橙、黄橙、黄绿、蓝绿、蓝紫和红紫。
步骤a1具体包括a11~a1:
a11、获取待画像的彩色图像后,对彩色图像进行压缩处理。
由于还没有经过压缩处理后的彩色图像,像素点多而且细小,因为画笔的笔尖在画纸上的一点面积远远大于图片像素的面积,所以需要将图片压缩最小单位为笔尖面积,在本实例中,采取对彩色图像降采样后分层处理,从而获得所需要的彩色图像。
a12、依次获取彩色图像的像素点的hsv;其中,hsv包括明度、色调和饱和度。
a13、根据像素点的色调判断像素点所属的颜色子空间,并将该颜色子空间的色调赋值给像素点的色调。
a14、在彩色图像上,将相连的同一色调的像素点连接成一颜色区域,从而获得多个颜色区域。
将hsv颜色空间划分为多个颜色子空间后,每个颜色子空间都有相应的区间范围,比如红色的颜色子空间的范围为[0-30,0-1,0-1],判断每个像素点的hsv[h,s,v]落在哪个颜色子空间,则将该颜色子空间的色调赋值给像素点的色调。最后将色调值相同的像素值连成一个颜色区域。
a2、获取每个颜色区域的轮廓坐标,并将轮廓坐标按照预设比例映射到第一坐标系后,获得在第一坐标系上的色块轮廓信息。
获取到轮廓坐标后,并将轮廓坐标按照预设比例映射到第一坐标系后,在本实施例中,所述第一坐标系为画纸坐标,所述画纸背景为白色。将轮廓坐标按照预设的缩小比例映射到画纸上,从而获得在第一坐标系上的色块轮廓信息。
其中,所述hsv颜色空间的饱和度被平均划分为多个饱和度区间,步骤a2包括以下步骤a21~a24:
a21、获取每个颜色区域的轮廓坐标,并将轮廓坐标按照预设比例映射到第一坐标系后,获得在第一坐标系上的色块轮廓信息。
a22、在同一颜色区域内,根据像素点的饱和度判断像素点所属的饱和度区间,并将相连的属于同一饱和度区间的像素点连接为一密度区域。
a23、获取每一密度区域的轮廓坐标,并将轮廓坐标按照预设比例映射到第一坐标系后,获得密度轮廓信息。
a24、获取同一密度区域的像素点的饱和度计算平均饱和度,并结合平均饱和度和预设的对应关系获取该密度区域的画线密度。
在本发明方法中,通过画线的疏密来反应图像的饱和度,如果饱和度高,则画线的线条就密,如果饱和度低,则画线的线条就疏。由于在同一颜色区域内,不同的像素的饱和度不一样,本发明将饱和度[0,1]平均分为多份,比如平均分为10个饱和度区间,第一个饱和度区间为[0,0.1),第二个饱和度区间为[0.1,0.2)……第十个饱和度区间为[0.9,1]。根据像素点的饱和度划分若干个密度区域。获取同一密度区域内所有的像素点的饱和度,并计算平均值后,获得平均饱和度,根据平均饱和度获取该密度区域的画线密度。所述画线密度即两画像之间的距离,画线密度越大,则两两画像之间的距离越小,预先设置了平均饱和度和画线密度的关系,根据平均饱和度可获得画线密度。
a3、结合色块轮廓信息及其对应的颜色信息规划机器人在第一坐标系的画像路径,并根据画像路径控制机器人的机械臂进行画像。所述第一坐标系为画纸上的坐标。
其中,步骤a3包括步骤a31~a33:
a31、依次根据色块轮廓信息控制机器人移动到相应的位置,以及根据颜色信息选择机器人的画笔颜色。
a32、结合密度轮廓信息、画线密度和预设的画线形状规划机器人在第一坐标系的画像路径。所述预设的画线形状为直线画线和/或曲线画线。
a33、根据画像路径控制机器人进行画像,直到完成画像。
在规划画像路径时,可以选用直线画线来规划,也可以采用曲线画线来规划。现结合图2和图3对画像路径规划进行解释说明。
参照图2,当画线形状选择直线画线时,规划画像路径的步骤为:
b1、在同一密度区域内,结合密度轮廓信息、预设矢量获取和预设的机械臂移动顺序获取第一条路径。
b2、依次结合上一条直线路径和画线密度获取下一条直线路径,直到规划完该密度区域。所述上一条直线路径与下一条直线路径平行。
在本实施例中,在同一密度区域内,机械臂的预设移动顺序为由上至下,画线的顺序为由左到右,即画直线时从左往右画线,画完上面的线后,机械臂往下移动,画下面的线。结合密度轮廓信息和预设矢量获得第一条路径,所述密度轮廓信息内包括密度区域轮廓的坐标信息,根据机械臂移动的顺序规律,获取密度区域轮廓的左上角一个点的坐标,所述预设矢量包括方向信息,结合获取的坐标点和预设矢量获取第一条路径。在获取第一条路径后,结合画线密度和第一条路径获取第二条路径,因为画线密度包括相邻的两条路径的距离信息,所以可以获得第二条路径。依次结合画线密度和上一条路径获取下一条路径,直到规划完该密度区域。如图2所示,左边的密度区域的画线密度比右边的密度区域的大,所以左边密度区域的直线路径更加密集,条数更多。在同一种颜色区域里,通过线条的疏密反映图像的饱和度,使图像更加逼真和形象。在图2中,预设矢量的角度为0,所以是一条横直线;通过预设矢量的角度,可以获取不同斜率的斜线。
参照图3,当画线形状选择曲线画线时,规划画像路径的步骤为:
c1、在同一密度区域内,根据密度轮廓信息获取第一个轮廓路径。
c2、依次结合上一个轮廓路径和画线密度获取下一个轮廓路径,直到规划完该密度区域。
密度轮廓信息包括密度区域轮廓的坐标信息,根据坐标信息可以获取密度区域轮廓的路径,该路线作为第一个轮廓路径,结合第一个轮廓路径和画线密度获取第二轮廓路径,因为画线密度包含了上一轮廓路径和下一轮廓路径的距离信息,所以可以获得第二轮廓路径。依次结合上一个轮廓路径和画线密度获取下一个轮廓路径,直到规划完该密度区域。如图3所示,画线密度越大,圆与圆之间的距离越小,反映图像的饱和度越大,因为左边密度区域的画线密度比右边密度区域的大,所以左边密度区域的直线路径更加密集,条数更多。平均饱和度的范围为[0-1],当平均饱和度取值为1时,相当于整个密度区域都画上了画线,当平均饱和度取值越接近0时,密度区域内的画线越少。在图3中,密度区域的轮廓为圆形,所以得到的轮廓路径也是圆形,当密度区域的轮廓为不规则的形状时,那么轮廓路径就是不规则的形状。
在规划路径过程中,既可以单独选择直线画线或选择曲线画线,也可以交叉选择两种画线,这是当画像需要特别浓密的色彩颜色时,可以同时使用两种画线。
上述方法,通过hsv颜色模型对彩色图像进行划分,获得多个颜色区域,并将颜色区域的轮廓坐标映射到第一坐标系上,再根据色块轮廓信息控制机器人在第一坐标系上画像,从而得到彩色画像。另外通过画线的疏密反应画像的饱和度,能够呈现图像的立体感,使画出来的图像更加逼真,极大地满足了满足人们对画像机器人画彩色图像的要求。
实施例二
在实施例一的基础上,步骤s1还包括以下步骤:
判断像素点的明度是否大于预设值,若是,直接将该像素点的明度赋值为1。
当图像中的像素值的明度大于预设值时,说明该颜色是深色,则直接赋值该像素点的明度赋值为1,并用黑色来表示。所述预设值可以为0.5~0.9,在本实施例中,预设值为0.8。通过上述方法处理明度,使图像更加有张力,图像更加逼真。
实施例三
参照图4,一种控制机器人画像的系统,包括划分模块、映射模块和控制模块;
所述划分模块用于获取待画像的彩色图像,采用预设的hsv颜色模型对彩色图像进行颜色区域划分,从而获得多个颜色区域;
所述映射模块用于获取每个颜色区域的轮廓坐标,并将轮廓坐标按照预设比例映射到第一坐标系后,获得在第一坐标系上的色块轮廓信息;
所述控制模块用于结合色块轮廓信息和颜色区域的颜色信息规划机器人在第一坐标系的画像路径,并根据画像路径控制机器人的机械臂进行画像。
上述系统,通过hsv颜色模型对彩色图像进行划分,获得多个颜色区域,并将颜色区域的轮廓坐标映射到第一坐标系上,再根据色块轮廓信息控制机器人在第一坐标系上画像,从而得到彩色画像,满足人们对画像机器人画彩色图像的要求。
本实施例的一种控制机器人画像的系统,可执行本发明方法实施例所提供的一种控制机器人画像的方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。