四连棋棋盘图像处理方法、系统及人机对弈系统与流程

文档序号:12306744阅读:1296来源:国知局
四连棋棋盘图像处理方法、系统及人机对弈系统与流程

本发明涉及人机交互领域,特别是一种四连棋棋盘图像处理方法、系统及人机对弈系统。



背景技术:

传统的机器人在与人类对弈玩游戏时都是采用利用pc计算得出结果,然后人类帮助实施具体动作,或者是采用虚拟的机器人模拟器在手机、电脑或电视等媒介上进行对弈的方式,这些方式在游戏对弈中交互性不强,不能给游戏玩家真实的对弈体验。



技术实现要素:

本发明旨在提供一种四连棋棋盘图像处理方法、系统及人机对弈系统,在真实环境下与人实时人机对弈玩四连棋游戏,让游戏玩家有真实的对弈体验。

为解决上述技术问题,本发明所采用的技术方案是:一种四连棋棋盘图像处理方法,包括以下步骤:

1)将获取到的包含棋盘和背景的整体图像由bgr颜色空间转换到hsv颜色空间,对s通道的整体图像进行滤波处理,分割出只包含棋盘的二值图像和所述二值图像的棋盘轮廓,所述棋盘轮廓即感兴趣区域;

2)对所述感兴趣区域进行子区域划分,每一个所述子区域对应一个棋格;

3)在所述整体图像的h通道对棋子的任一颜色进行固定阈值分割,获取所述子区域内有灰度值的所有轮廓,在任一子区域内,若阈值分割出来的轮廓面积大于所述子区域面积的一半,则判定该子区域对应的棋格内有该颜色棋子;

4)利用下述方法将棋盘局势转换为二维矩阵:若棋格内的棋子颜色为第一色,则将该棋格对应的二维矩阵的元素设置为i;若棋格内的棋子颜色为第二色,则将该棋格对应的二维矩阵的元素设置为j;若棋格内没有棋子,则将该棋格对应的二维矩阵的元素设置为0;

5)利用所述二维矩阵计算最佳下棋位置。

借由上述图像处理方法可以准确判断出最佳下棋位置,给游戏玩家更加真实的对弈体验。

步骤5)之后,还包括:将所述最佳下棋位置发送给智能机器人,方便机器人获取最佳下棋位置。

步骤1)中,采用高斯滤波方法对所述整体图像进行滤波处理,然后用固定阈值的分割方法获取只包含棋盘的二值图像,用形态学的膨胀和腐蚀算法对二值图像进行处理,获取二值图像中的棋盘轮廓。预处理过程简单,进一步提高图像处理精度。

步骤5)中,采用人工智能领域的minimax算法对二维矩阵进行判断,计算出最佳下棋位置。实现过程简单。

相应地,本发明还提供了一种四连棋棋盘图像处理系统,其包括:

预处理单元:用于将获取到的包含棋盘和背景的整体图像由bgr颜色空间转换到hsv颜色空间,对s通道的整体图像进行滤波处理,分割出只包含棋盘的二值图像和所述二值图像的棋盘轮廓,所述棋盘轮廓即感兴趣区域;子区域划分单元:用于对所述预处理单元输出的感兴趣区域进行子区域划分,每一个所述子区域对应一个棋格;

分割单元:用于在整体图像的h通道对棋子的任一颜色进行固定阈值分割,获取所述子区域内有灰度值的所有轮廓,在任一子区域内,若阈值分割出来的轮廓面积大于所述子区域面积的一半,则判定该子区域对应的棋格内有该颜色棋子;

二维矩阵获取单元:用于利用下述方法将棋盘局势转换为二维矩阵:若棋格内的棋子颜色为第一色,则将该棋格对应的二维矩阵的元素设置为i;若棋格内的棋子颜色为第二色,则将该棋格对应的二维矩阵的元素设置为j;若棋格内没有棋子,则将该棋格对应的二维矩阵的元素设置为0;

计算单元:用于根据所述二维矩阵获取单元输出的二维矩阵计算最佳下棋位置。

所述预处理单元包括:

转换单元:用于将获取到的包含棋盘和背景的整体图像由bgr颜色空间转换到hsv颜色空间;

滤波单元:用于对转换单元输出的hsv颜色空间s通道的整体图像进行滤波处理;

二值图像获取单元:用于根据滤波单元输出的滤波后的整体图像,用固定阈值的分割方法分割出只包含棋盘的二值图像;

棋盘轮廓获取单元:用于根据所述二值图像获取单元输出的二值图像,利用形态学的膨胀和腐蚀算法对所述二值图像进行处理,获取二值图像的棋盘轮廓,即感兴趣区域。

上述系统还包括通信单元,用于将所述计算单元输出的最佳下棋位置发送给智能机器人。

对应地,本发明的人机对弈系统包括双臂机器人和上述四连棋棋盘图像处理系统;所述智能机器人的手臂上安装有用于采集整体图像的摄像头;所述智能机器人控制系统在接收到通信单元发送的最佳下棋位置后,控制智能机器人手臂抓取并放置棋子到所述最佳下棋位置。

或者,本发明的人机对弈系统包括智能机器人、摄像头和上述四连棋棋盘图像处理系统;所述摄像头采集包含棋盘和背景的整体图像,并将所述整体图像传输给预处理单元;所述智能机器人的控制系统在接收到通信单元发送的最佳下棋位置后,控制智能机器人手臂抓取并放置棋子到所述最佳下棋位置。

与现有技术相比,本发明所具有的有益效果为:本发明的棋盘图像处理方法可以准确地判断出最佳下棋位置,从而使得人机对弈系统具备在真实环境下玩四连棋游戏的能力,让游戏玩家有真实的对弈体验,极大地提高了人机对弈的交互性。

附图说明

图1为本发明二维矩阵数据结构图;

图2为本发明人机对弈实现流程图。

具体实施方式

四连棋的游戏规则是在棋盘的行或列或对角方向上出现同一颜色4棋子相连的情况则游戏结束,持该颜色方为赢家。四连棋的棋盘结构是6行7列,即高为6行,宽为7列,总共42个棋格,宽方向的7列为下棋入口。双臂机器人事先记录好7个下棋入口位置与抓取棋子的位置,然后调用机器人左臂的摄像头获取包含棋盘和背景的整体图像并进行分析判定该下哪一步棋。在调用机器人左臂的摄像头时注意观察获取到的图像,尽量使图像中棋盘的位置不倾斜。图像处理相关算法都是采用opencv的算子,算法部分的具体步骤为:(1)提取棋盘目标:首先将获取到的整体图像由bgr颜色空间转换到hsv颜色空间,单独对s通道的图像进行高斯滤波处理,然后用固定阈值的分割方法获取只包含棋盘的二值图像,接着用形态学的膨胀和腐蚀算法对二值图像进行处理,然后获取二值图像的棋盘轮廓,该棋盘轮廓就是我们需要提取的棋盘目标,称之为感兴趣区域。(2)对感兴趣区域进行子区域划分:因为棋盘实物的棋格分布是6行7列共42个棋格,因此在图像中我们也要进行相似划分,即将感兴趣区域也进行6行7列的划分,分出42个子区域对应42个棋格。如果棋盘实物中42个棋格内没有棋子,那么在感兴趣区域中对应的42个子区域也为空,图像中显示为白色;如果在棋盘实物中某个棋格有棋子,那么在感兴趣区域中相对应的子区域内也会显示有灰度值。(3)分割棋子位置:两种棋子和棋盘的颜色差别都要比较大,这样在视觉上才能全部区分。一般棋盘颜色都采用蓝色,而棋子颜色基本采用红色、黄色或绿色。而红黄绿蓝这四种颜色在图像中的h通道都有特定的取值范围,因此能进行准确的颜色区分。以棋子为红色和黄色为例,如若在某个棋格内有红色的棋子,用h通道的图像对红色进行固定阈值分割后,在图像感兴趣区域中表现为相对应的子区域里会有灰度值,获取有灰度值的所有轮廓,如果在某个子区域内,分割出来的轮廓面积大于子区域面积的一半(因为子区域实际包含了整个棋子及包容棋子的棋格边缘,采用轮廓面积大于子区域面积的一半这种方式能避免造成误判),则认为该子区域对应的棋格内有红色棋子。将该子区域的位置和内容做好标记保存起来;分割黄色的棋子也是采用同样的逻辑。(4)将棋盘局势转为二维矩阵:前面已经将棋子的位置和内容都记录好了,需要再将棋盘局势转为二维矩阵才能进行下棋判断。棋盘局势和二维矩阵的对应关系是:位置是一一对应的,红色棋子对应二维矩阵里的数字1,黄色棋子对应二维矩阵里的数字2,如果某个棋格内没有棋子,那么在二维矩阵里相对应位置的内容为0。(5)计算最佳下棋位置:获取到与棋盘局势相对应的二维矩阵后,就采用人工智能领域的minimax算法对二维矩阵进行判断,计算出最佳下棋位置。(6)发送结果:将最佳下棋位置发送给双臂机器人,双臂机器人就会执行下棋动作。

如图1所示,本发明二维矩阵共有6行7列,总共42格。图中的数字0代表该处无棋子;数字1代表该处有红色棋子;数字2代表该处有黄色棋子。

本发明人机对弈流程见图2,双臂机器人控制机器人左臂调用摄像头观测棋盘局势,然后将图像信息传送到图像处理单元(对应图2中的pc端),图像处理单元返回最佳下棋位置给双臂机器人,双臂机器人控制系统控制机器人右臂实现棋子抓取和放置动作。

游戏玩家和机器人各持不同颜色的棋子轮流下棋,双臂机器人通过调用机器人左臂的摄像头获取包含四连棋棋盘和背景的图像,并将整体图像发送给图像处理系统,由图像处理系统做出响应和判断,将结果返回给双臂机器人单元,让双臂机器人控制机器人右臂去实现抓取和正确放置棋子的动作。这种方式能使游戏玩家有代入感,真实地感觉是在与机器人实时对弈。

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