一种基于智能玩具实现互动七巧板游戏的方法与流程

文档序号:11269496阅读:329来源:国知局
一种基于智能玩具实现互动七巧板游戏的方法与流程

本发明涉及一种智能互动玩具,特别涉及一种基于智能玩具实现互动七巧板游戏的方法。



背景技术:

七巧板是一种智力游戏,如图3所示,七巧板是由下面七块板组成的,完整图案为一正方形:五块等腰直角三角形(两块小形三角形、一块中形三角形和两块大形三角形)、一块正方形和一块平行四边形。由于等积变换,所以这七这块板可拼成许多图形,例如:三角形、四边形、不规则多边形、各种人物、形象、动物等等,如果配合两副或以上的七巧板,甚至可以做出一幅画。

十九世纪最流行的谜题之一就是七巧板。七巧板的流行大概是由于它结构简单、操作简便、明白易懂的缘故。可以用七巧板随意地拼出你自己设计的图样,但如果你想用七巧板拼出特定的图案,那就会遇到真正的挑战。正是七巧板的乐趣所在。七巧板那简单的结构很容易使人误认为要解决它的问题也很容易,其实这种想法是片面的。用七巧板可以拼出1600种以上的图案,其中有些是容易拼成的。

七巧板除“七巧板”的名称外,还有不少名称:“益智图”、“智慧板”、“唐图”等都是七巧板的别称。是汉族民间流传的智力玩具。它是由唐代的宴几演变而来的,原为文人的一种室内游戏,后在民间演变为拼图板玩具。据清代陆以湉《冷庐杂识》说::宋黄伯思宴几图,以方几七,长段相参,衍为二十五体,变为六十八名。明严瀓蝶几图,则又变通其制,以勾股之形,作三角相错形,如蝶翅。其式三,其制六,其数十有三,其变化之式,凡一百有余。近又有七巧图,其式五,其数七,其变化之式多至千余。体物肖像形,随手变幻,盖游戏之具,足以排闷破寂,故世俗皆喜为之。”现七巧板系由一块正方形切割为五个小勾股形,将其拼凑成各种事物图形,如人物、动植物、房亭楼阁、车轿船桥等,可一人玩,也可多人进行比赛。利用七巧板可以阐明若干重要几何关系,其原理便是古算术中的“出入相补原理”。

七巧板游戏规则:七巧板是一种拼图游戏,它是用七块板,以各种不同的拼凑法来拼搭千变万化的形象图案。将一块正方形的板按图所示分割成七块,就成了七巧板。用这七块板可以拼搭成几何图形,如三角形、平行四边形、不规则的多角形等;也可以拼成各种具体的人物形象,或者动物,如猫、狗、猪、马等;或者是桥、房子、宝塔,或者是一些中、英文字符号以及数字。

具体玩法:通常,用七巧板拼摆出的图形应当由全部的七块板组成,且板与板之间要有连接,如点的连接、线的连接或点与线的连接;可以一个人玩,也可以几个人同时玩。

七巧板的玩法有4种:

①依图成形,即从已知的图形来排出答案;

②见影排形,从已知的图形找出一种或一种以上的排法;

③自创图形,可以自己创造新的玩法、排法;

④数学研究,利用七巧板来求解或证明数学问题。七巧板按不同的方法拼摆、组合可以拼排成各种各样的几何图形和形象,如桥梁、船只、房屋、手枪或是跑步、跌倒、玩耍、跳舞、站立的人物以及戏水的鱼、猫、狗等。操作七巧板是一种发散思维活动,有利于培养人们的观察力、注意力、想像力和创造力,因此,不仅具有娱乐的价值,还具有一定的教育价值,被人们运用到了教学当中。由于七巧板可以持续不断地反复组合,已引起哲学、心理学、美学等多领域的研究者的兴趣,还被作为制作商业广告和印章的辅助手段。

目前由于带有显示屏和摄像头的智能玩具的兴起,如专利号为“2016200330523”、名称为“一种智能机器人学习玩具”,让游戏者与智能玩具的实物互动成为新的人机互动游戏,而目前智能玩具对七巧板这种互动游戏由于变化多端,还存在许多不能解决的难题。



技术实现要素:

为解决现有智能玩具对实现七巧板互动游戏存在上述的问题,本发明提供一种在具有一定数据处理能力的智能玩具基础上实现的实现互动式七巧板实物游戏的方法。

为实现上述目的,本发明采取的方案是:

一种基于智能玩具实现互动七巧板游戏的方法,其特征在于,包括以下步骤:(1)查找所获取的图片轮廓:对图片进行平滑处理,分别取图像的每一个通道进行二值化和canny算子边沿二值化,然后提取轮廓;每条轮廓包含一系列封闭的点集;

(2)优化图片轮廓线条:采用道格拉斯-普克算法,对轮廓线点集进行优化;

(3)参数过滤:由于七巧板包括等腰直角三角形和四边形两种彩色板,因而条过滤出轮廓中顶点数为3和4且符合条件的轮廓;将所过滤出来的等腰直角三角形或四边形轮廓内像素点转换到hsv颜色空间,根据其平均hsv值与既定七巧板形状和hsv值比较从而过滤掉无关的等腰直角三角形或四边形;

(4)模板对比:根据已经找到的七巧板块之间的相对位置与一个关卡中七巧板摆放模板中七巧板块之间的相对位置进行比较,以此来确定是否有正确拼接的部分;如果不能确定则重新进入第一个步骤,如果能确定,则进入下一个步骤;

(5)图片角度、位置的确定:七巧板有正方形、等腰直角三角形和平行四边形三种形状;对于等腰直角三角形图形可以根据其顶点坐标计算每个角的cosine值来确定等腰直角三角形的直角所在,从而确定其在图片坐标中旋转方向;正方形图形和平行四边形图形如此类推;

(6)相对位置检测:如果已经有两块以上拼接正确的七巧板块,则可根据模板中板块之间的相对位置来检测拼接中的七巧板相应位置中是否有形状和颜色符合的七巧板块;如果结果跟模板一致则拼接正确,则停止并进入相关程序;如果结果跟模板不一致则拼接正确,则跳回第一个步骤,并在第一个步骤到最后一个步骤之间循环,直到七巧板拼接正确为止。

作为上述方案的进一步说明,在第一个步骤中,所述图片从摄像头获得,并对获得的图片的大小进行分析;为了减少图片中噪点对后续处理的影响,对图片进行平滑处理,先进行高斯金字塔下采样,再进行上采样,采用的方法是先对图片进行高斯金字塔缩小然后再放大至原来大小。

作为上述方案的优选方案,在第二个步骤中,查找到的每一个图形轮廓为一系列的坐标点集合,将轮廓点集合包含的冗余的点坐标去除,优化得至每一个轮廓坐标点集合里的顶点坐标。

作为上述方案的优选方案,在第三个步骤中,七巧板块只有四边形和三边形两种,将优化后的轮廓坐标点集合中的顶点坐标数不是3或4的图片轮廓过滤清除。

作为上述方案的优选方案,在第四个步骤中,对已确定的符合条件的顶点坐标,在其所围成的图形区域内,将其从rgb颜色空间转换成hsv颜色空间。

作为上述方案的优选方案,在第五个步骤中,对已确定的七巧板块,根据其顶点坐标将板子的方向加以分类,其中等腰直角三角形有4个方向形态,正方形有2种形态,平行四边形则有8种方向形态;对于板子方向形态的判断:对于等腰直角三角形,可根据直角顶点与其对边中点形成直线的斜率和此两点坐标关系来确定板子的旋转方向;对于正方形,可根据任意两相邻顶点所形成的线段的斜率来判断方向;对于平行四边形,根据任一顶点及其相邻两顶点所组成线段的斜率和长度来判断方向。

由上可知,本发明主要有以下优点:利用带有显示屏和摄像头的智能玩具,让游戏者与智能玩具进行七巧板实物的人机互动游戏成为现实。通过智能玩具摄像头获取七巧板块实物拼接的状态信息,并利用智能玩具的数据处理能力进行信息处理,利用本发明提供的方法实现七巧板实物拼接游戏;启发游戏者,特别是儿童的游戏兴趣的培养。显示屏可显示表情动画,配合喇叭发出的声音,可表现喜怒哀乐等不同情感;也可以表现游戏的提示或鼓励等状态;配合电子中心控制装置控制的肢体动作可形神兼备地丰富表情的表达,更好地与儿童良好互动,智能玩具就像孩子的小伙伴,充分调动儿童与之互动的乐趣和积极性。使孩子在玩耍中学习,帮助家长达到动手能力的培养的目的,还能更好地激发儿童的创造力。

附图说明

图1为本发明的基于智能玩具实现互动七巧板游戏的方法的步骤图。

图2为图1中的程序流程图。

图3为七巧板结构图。

图4为等腰直角三角形七巧板块的方向形态示意图。

图5为正方形七巧板块的方向形态示意图。

图6为平行四边形七巧板块的方向形态示意图。

图7为平行四边形七巧板块的顶点形态示意图。

具体实施方式

下面结合附图和优选的实施方式,对本发明及其有益技术效果进行进一步详细说明。

参见图1,基于智能玩具实现互动七巧板游戏的方法,其特征在于,包括以下步骤:

步骤s101:查找所获取的图片轮廓:对图片进行平滑处理,分别取图像的每一个通道进行二值化和canny算子边沿二值化,然后提取轮廓;每条轮廓包含一系列封闭的点集;

步骤s102:优化图片轮廓线条:采用道格拉斯-普克算法(douglas–peuckeralgorithm),对轮廓线点集进行优化;

步骤s103:参数过滤:由于七巧板包括等腰直角三角形和四边形两种彩色板,因而条过滤出轮廓中顶点数为3和4且符合条件的轮廓;将所过滤出来的等腰直角三角形或四边形轮廓内像素点转换到hsv颜色空间,根据其平均hsv值与既定七巧板形状和hsv值比较从而过滤掉无关的等腰直角三角形或四边形;

步骤s104:模板对比:根据已经找到的七巧板块之间的相对位置与一个关卡中七巧板摆放模板中七巧板块之间的相对位置进行比较,例如两个等腰直角三角形的直角边相接,以此来确定是否有正确拼接的部分;如果不能确定则重新进入第一个步骤,如果能确定,则进入下一个步骤;必要时并给出相应的声音或图案提示;

步骤s105:图片角度、位置的确定:七巧板有正方形、等腰直角三角形和平行四边形三种形状;对于等腰直角三角形图形可以根据其顶点坐标计算每个角的cosine值来确定等腰直角三角形的直角所在,从而确定其在图片坐标中旋转方向;正方形图形和平行四边形图形如此类推;

步骤s106:相对位置检测:如果已经有两块以上拼接正确的七巧板块,则可根据模板中板块之间的相对位置来检测拼接中的七巧板相应位置中是否有形状和颜色符合的七巧板块;例如在模板中,在黄色正方形的七巧板块的左边有一块紫色的等腰直角三角形,且等腰直角三角形一直角边与之相接,而在拼接中的七巧板块中已确定黄色正方形板块,那就可以对黄色正方形板块左边区域进行针对紫色的等腰直角三角形的特定检测,从而提高识别速度和准确率;如果结果跟模板一致则拼接正确,则停止并进入相关程序;如果结果跟模板不一致则拼接正确,则跳回第一个步骤,并在第一个步骤到最后一个步骤之间循环,直到七巧板拼接正确为止。

其中,在步骤s101中,所述图片从摄像头获得,并对获得的图片的大小进行分析;为了减少图片中噪点对后续处理的影响,对图片进行平滑处理,先进行高斯金字塔下采样,再进行上采样,采用的方法是先对图片进行高斯金字塔缩小然后再放大至原来大小。

在步骤s101中,查找到的每一个图形轮廓为一系列的坐标点集合,将轮廓点集合包含的冗余的点坐标去除,优化得至每一个轮廓坐标点集合里的顶点坐标。例如对于一个等腰直角三角形板,优化后的最终轮廓点集应该只剩下3个顶点坐标。

在步骤s103中,七巧板块只有四边形和三边形两种,将优化后的轮廓坐标点集合中的顶点坐标数不是3或4的图片轮廓过滤清除。

在步骤s104中,对已确定的符合条件的顶点坐标,在其所围成的图形区域内,将其从rgb颜色空间转换成hsv颜色空间。因为每一块七巧板块都有不同的颜色,而在hsv颜色空间中,它们的h(色调)值,都保持在一定的范围内,例如,对于蓝色的大三角形板子,其顶点数为3,并且它的h值在103到115的范围内(本方案中h值的取值范围在0到180),s(饱和度)值在50以上(本方案中s值的取值范围为0到255)。

在对比过程中,如果找到多个同一板子的轮廓,目前采用s(饱和度)值最大的。

目前七巧板各个板子判断数值参见表1。

在步骤s105中,对已确定的七巧板块,根据其顶点坐标将板子的方向加以分类,其中等腰直角三角形有4个方向形态,正方形有2种形态,平行四边形则有8种方向形态;对于板子方向形态的判断:对于等腰直角三角形(所有三角形七巧板块均为等腰直角三角形),可根据直角顶点与其对边中点形成直线的斜率和此两点坐标关系来确定板子的旋转方向。参见图4,例如对于标号为0和2方向的等腰直角三角形七巧板块,它们的斜率都远远大于1(理论上趋于无穷),且标号0方向的直角顶点坐标y轴大小比直角对边中点坐标的要小,而标号2方向则反之,由此可将其方向确定。同理,而标号为1和3方向的则斜率都趋向于0,且标号1方向直角顶点x轴坐标比直角对边中点的要大,标号3则反之。对于直角顶点的确定如下,根据轮廓集中三个顶点坐标可分别计算出三条边边长,然后根据余弦定理计算三个夹角的cosine值,而余弦函数在0到180度之间单调递减,所以可以判定三个角中余弦值最小的为直角(直角的余弦值为0,但由于拍照角度等条件导致在图片中的直角三角形并不是构成精确的90度夹角)。直角三角形方向判断表如下表2。

参见图5~图6,对于正方形和平行四边形的方向形态判断原理与等腰直角三角形板子判断原理类似,即对于正方形,可根据任意两相邻顶点所形成的线段的斜率来判断方向;对于平行四边形,根据任一顶点及其相邻两顶点所组成线段的斜率和长度来判断方向。

对于正方形板子方向形态的判断:

1、计算任意相邻两顶点所形成边的斜率k;

2、如果|k|>=0.3或者|k|<=2则其方向标号为1,否则方向标号为0。

对于平行四边形方向形态的判断:

参见图6,我们规定的平行四边形的8种方向形态,可分为两大部分,一是某两对边平行于平面坐标x轴(方向编号0、1、4、5),二是某两对边垂直于平面坐标x轴(方向编号2、3、6、7)。这两大部分方向的区分方法:分别计算一选定顶点0坐标与其相邻两顶点1和3坐标的x,y轴的偏差绝对值dx01、dy01、dx03、dy03(其中dx01为顶点0与顶点1在x轴坐标之差的绝对值,dy01为y轴坐标之差的绝对值。dx03为顶点0和3x轴坐标之差绝对值,dy03为y轴坐标之差的绝对值),找出此4个偏差绝对值中值最小的一个,如果是dx01或dx03,则归类为垂直于x轴的一类,否则归类为平行于x轴的一类。并据分别计算顶点0和1、0和3的距l01,l03,和顶点0与相邻1和3中顶点x或y坐标绝对偏差值不是最小的顶点组成的边的斜率k。例如,如果dx01或dy01的值最小的话则顶点0与顶点3的斜率k和l01,l03。

对于平行于x轴的一类(方向编号0、1、4、5):

参见图6~图7,对于斜率k大于0的情况:如果顶点0和1、3偏差绝对值最小的为dy01,且l01小于l03则板子方向形态为编号0。如果顶点0和1、3偏差绝对值最小的为dy01,且l01大于l03则板子方向形态为编号4。如果顶点0和1、3偏差绝对值最小的为dy03,且l01小于l03则板子方向形态为编号4。如果顶点0和1、3偏差绝对值最小的为dy03,且l01大于l03则板子方向形态为编号0

对于斜率k小于0的情况:如果顶点0和1、3偏差绝对值最小的为dy01,且l01小于l03则板子方向形态为编号1。如果顶点0和1、3偏差绝对值最小的为dy01,且l01大于l03则板子方向形态为编号5。如果顶点0和1、3偏差绝对值最小的为dy03,且l01小于l03则板子方向形态为编号5。如果顶点0和1、3偏差绝对值最小的为dy03,且l01大于l03则板子方向形态为编号1

对于平行于y轴的一类(方向编号2、3、6、7):

参见图6~图7,对于斜率k大于0的情况:如果顶点0和1、3偏差绝对值最小的为dx01,且l01小于l03则板子方向形态为编号2。如果顶点0和1、3偏差绝对值最小的为dx01,且l01大于l03则板子方向形态为编号6。如果顶点0和1、3偏差绝对值最小的为dx03,且l01小于l03则板子方向形态为编号6。如果顶点0和1、3偏差绝对值最小的为dx03,且l01大于l03则板子方向形态为编号2

对于斜率k小于0的情况:如果顶点0和1、3偏差绝对值最小的为dx01,且l01小于l03则板子方向形态为编号3。如果顶点0和1、3偏差绝对值最小的为dx01,且l01大于l03则板子方向形态为编号7。如果顶点0和1、3偏差绝对值最小的为dx03,且l01小于l03则板子方向形态为编号7。如果顶点0和1、3偏差绝对值最小的为dx03,且l01大于l03则板子方向形态为编号3

智能玩具的硬件运行环境可参考专利号为“2016200330523”、名称为“一种智能机器人学习玩具”。上述方法可制作成app软件安装在储存器中,软件流程图参见图2,软件运行的系统环境:双核cpu,1g内存,8g硬盘或固态储存器,500万分辨率摄像头;安卓4.2以上的操作系统。

在前述方法的基础上,软件流程图简要说明:s201:从摄像头获取图片数据;

s202:对图片进行预处理;

s203:采用canny算子对图片进行二值化处理;

s204:查找图片轮廓;

s205:优化图片轮廓线条;

s206:参数过滤;

s207:识别结果,识别无结果进行步骤s211,有识别结果,进入下一步;

s208:模板对比;无对比结果进行步骤s212,对比成功,进入下一步;

s209:方向和位置确定;

s210:相对位置检测;

s211:返回主程序;

s212:旋转视角调整图片,再进入步骤s204循环。

游戏时,在智能玩具激活相应的应用程序,将七巧板块放在智能玩具摄像头的能进行分辨的视野内,游戏者即可进行互动游戏。

根据上述说明书及具体实施例并不对本发明构成任何限制,本发明并不局限于上面揭示和描述的具体实施方式,对本发明的一些修改和变形,也应当落入本发明的权利要求的保护范围内。

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