单片机信息网:深圳市今科电子有限公司
网站地图 RSS订阅
高级搜索 收藏本站
会员中心 欢迎投稿
首页 | 业界动态 | 解决方案 | 技术文献 | 下载中心 | 单片机学习 | 单片机原理 | 单片机编程 | 单片机设计 | 单片机开发 | 技术专题 | 单片机论坛 |单片机博客| 联系我们
单片机新闻 | 单片机学习 | 单片机编程 | 单片机设计 | 单片机开发 | 单片机原理 | 单片机解密 | 芯片解密 | IC解密 | 单片机方案 | 51单片机 | AVR单片机 | PIC单片机
单片机程序实例大全 | 潜入式系统 | PCB设计 | 单片机资料下载 | 工具/软件下载 | 技术经验分享 | 单片机技术人生 | IC资料下载 | 数字电路 | 模拟电路 | 单片机空间
当前位置:主页>嵌入式系统>文章内容
象棋机器人视觉系统设计
来源:单片机信息网 作者: 发布时间:2008-10-20 阅读次数: 【大 中 小】【收藏本文】 【打印
视觉是象棋机器人软件的重要组成部分,其核心工作是棋盘图像二值化、棋子检测和棋子识别。

      并对棋盘全局二值化存在的问题,提出了基于相邻像素灰度差阈值的棋盘图像二值化方法;针对棋子文字方向任意的现象,提出了基于年轮统计的棋子文字识别方法。实践证明,该方法处理速度快、识别效果理想。
   

       中国象棋变化多端,趣味无穷,是流传了一千多年的优秀游戏,是中华文化的精粹之一。随着机器人技术的发展,机器人的功能越来越丰富,娱乐机器人的研究已 经成为一个重要的方向。象棋机器人是娱乐机器人的一种,在CCD摄像机的监视下,使人机下棋过程非常类似于人与人之间的对弈,更具有人性化和亲切感。本文 介绍的系统是象棋机器人的视觉部分,能识别出当前棋盘的状态,提供给机器人下棋软件进行进一步推理。
   

      象棋棋盘识别中的关键问题是对捕捉的棋盘图像的二值化、棋子检测和棋子文字的识别。考虑光源变化和不良环境的影响,将图像做全局单阈值二值化无法有效地将 棋盘背景和网格线及棋子分开;棋子检测是相对耗时的工作,棋子定位的准确性将直接影响后续识别的正确性;棋子文字识别的主要问题是文字方向的任意性。考虑 到下棋软件搜索和推理比较费时(尤其是在较高级别时),为使系统具有较短的响应时间,该视觉部分应尽可能快,故很多计算量大的处理方法在此不太适用。本文 针对这些问题,以处理有效和计算简单为目标,提出了基于像素差阈值的棋盘图像二值化方法、棋子的两趟检测法和基于年轮统计的棋子文字识别方法。

      1 象棋机器人视觉系统整体设计

      1.1棋盘设计与表示   

      棋盘的设计如图1(a)所示,棋盘由对弈棋盘和辅助棋位组成。相机位于棋盘正上方,且保持固定状态,静止拍摄。辅助棋位是位于棋盘的两侧用于放置吃掉的棋 子。棋子正反两面带有凹槽外框及标识点,根据红、绿方棋子,槽内底色也分别为红、绿两种颜色;正反两面的字符也分为红、绿两色,黑棋上的字符为将、象、 士、车、马、炮、卒,红棋上的字符为帅、相、仕、车、马、炮、兵。棋盘和棋子的底色为灰白,网格线为黑色。

       为表示棋子的位置,定义一个棋盘坐标系如图1(b)所示。用两维数组A(i,j)表示棋盘上各棋位的状态,其中,(i,j)为棋位的 竖轴、横轴坐标。棋位的状态用一组代码表示,用“0”表示无棋子,一组大写字母表示红方棋子,一组小写字母表示绿方棋子,具体为“R”表示红车;“H”表 示红马;“E”表示红相;“A”表示红仕;“K”表示红帅;“C”表示红炮;“P”表示红兵。“r”表示绿车;“h”表示绿马;“e”表示绿象;“a”表 示绿士;“k”表示绿将;“c”表示绿炮;“p”表示绿卒。

      1.2 象棋棋盘识别程序出口参数
   

      程序被调用一次,将捕捉当前棋盘图像并对其进行预处理、二值化、棋盘状态检测、棋子文字识别等工作。程序处理结果为棋盘状态数组A(i,j) (i=0…9, j=0…12)和异常数组B(i)(i=0,1,…,6)(A(i,j)的定义如2.1中所述)。约定B(0)、B(1)、B(2)、B(3)、 B(4)、B(5)、B(6)的值为0或1,分别表示图像模糊不清、有手臂遮挡棋盘、有异物、仅缺失一个棋子、棋子缺失两个或两个以上、棋子多余、棋子过 于偏离位置这七种异常情况的无或有,供后续的控制程序和博弈程序判断使用。

      1.3 象棋棋盘识别程序处理流程
   

      程序的处理过程为先捕捉棋盘灰度图像并进行二值化,在此基础上进行棋盘检测并对分割出的棋子进行识别,同时应考虑光线、遮盖、异物、棋子偏离等异常情况。 具体处理流程如图2所示。其中,对棋盘图像的二值化、棋子检测和棋子文字的识别是关键,下面分别介绍其中所存在的主要问题及所采取的解决方法。

 


      2 基于像素差阈值的棋盘图像二值化
   

       棋盘图像二值化的目的是将棋盘背景与棋子及网格线分离,以便进行棋子等的检测和识别。目前图像二值化方法很多,可划分为:全局阈值 法、局部阈值法、动态阈值法[1-2]。全局阈值法实现简单、速度快,对于具有明显双峰直方图的图像效果明显,但对于光照不均匀的图像效果不佳,抗噪能力 差。局部阈值法能处理较为复杂的情况,但往往忽略了图像的边缘特征,容易出现伪影现象,且窗口较大时,算法的速度将受到很大影响。动态阈值法充分考虑了像 素的邻域特征,能够根据图像的不同背景情况自适应地改变阈值,可较精确地提取出二值图像,但它过渡地夸大了像元的邻域灰度的变化,会把不均匀灰度分布的背 景分割到目标中去,带来许多不应出现的假目标。
   

      在象棋机器人系统中装有照明灯,为图像捕捉提供光源。即使这样,由于光照不均匀有时所捕捉的图像仍存在一定的阴影、反光现象,致使图像灰度层次较多。灰度 图像如图3(a)所示。若采用全局阈值法的二值化图像,结果出现某些背景变黑而一些棋子模糊和网格线断线的现象,如图3(b)所示。这直接影响了后续的棋 子和异物检测。

 

      分析灰度棋盘图像特征,发现虽然背景灰度不均匀,但图像清晰,网格线和棋子与邻域背景灰度反差较大,而背景灰度在邻域内变化缓慢。为此,综合全局阈值法的速度优势、局部阈值法和动态阈值法的邻域特征,提出一种基于邻像素差阈值的二值化方法。

      2.1 基于邻像素差阈值的棋盘图像二值化算法思想
   

      基于邻像素差阈值的棋盘图像二值化算法是将常规灰度阈值的像素灰度判断改为对邻像素差阈值进行相邻像素差的判断来分割图像。
   

      邻像素差是指水平或垂直方向上的相邻两像素灰度的差。邻像素差阈值是指对整幅图像进行邻像素差的统计,利用灰度阈值自动求取方法求取邻像素差阈值。针对象 棋棋盘图像,进行逐行或逐列扫描图像,求出水平或垂直相邻像素灰度差直方图。实验发现,该灰度差直方图呈现明显的双峰特征,故选择峰谷点作为阈值。
   

       基于邻像素差阈值的棋盘图像二值化算法就是用邻像素差阈值二值化图像,即逐行或逐列扫描棋盘图像,若判相邻像素差小于阈值,则当前点的二值化值与前一个像素的二值化值相同,否则不同。
   

      设灰度棋盘图像为A,二值棋盘图像为BW,邻像素差阈值为T,则水平方向的邻像素差阈值的二值化方法为:

     

    垂直方向的邻像素差阈值的二值化的表达为:

   

      2.2 基于相邻像素灰度差的棋盘二值化算法描述
   

       (1) 准备一个存放二值化图像的矩阵BW,并将第一个元素BW[1,1]的值赋为1(已知是白色背景),它是处理的起点。
  

        (2) For i=1 to m   //逐行扫描图像,m为棋盘图像行数
        {  
          For j=1 to n      //逐列扫描像素行,n为棋盘
                                             图像列数
             If P(i,j)-P(i,j-1)          If A(i,1)-A(i+1,1)                            //求下一行首像素的二值化值,
                            //它是下一行二值化的起点
    }
   

      以上为基于水平像素差阈值的二值化算法。若基于垂直像素差阈值,则二值化算法中将行列扫描顺序调整即可。

      3 棋子及异常检测
   

      在二值化图像上进行棋子和异物的检测,以便进行下一步的识别或异常报警。检测采用两趟检测法。
   

      第一趟:正常棋位棋子检测
   

      沿网格线逐线水平扫描,在棋位处进行十字网格线的检测,若有十字网格线则该棋位为空,否则通过一个模板圆进行匹配确认是否为棋子。将匹配成功的棋子分割下来传给识别函数,并以1值(白色)填充棋位。
   

      模板圆匹配方法:模板圆圆心在以十字点为中心以为边长的正方形内进行试探,若圆周匹配率达95%则认为匹配成功。

        若采用逐行逐列顺序匹配,一个1028×1024的盘棋的检测时间约为2秒。在正常情况下,由于棋盘棋位和棋子吸铁石的相互作用,棋子的位置偏离很少。为提高匹配速度,以十字交叉点为起点以螺旋线为移动路径进行匹配,实测检测速度提高约20倍。
   

      第二趟:异物和棋子超偏等异常检测
   

      以网格为单位进行棋盘扫描,进行网格内的异物和棋子超偏等异常检测。具体步骤如下:
      (1)对当前网格内黑像素数进行统计,若统计值为0,则当前网格区中无物体,判下一个网格区;否则进入第2步。
      (2)求当前网格区的水平投影和垂直投影,若水平或垂直投影宽度大于棋子直径,则为异物退出,否则进入第3步。
       (3)投影拼接:当前网格区中物体小于棋子则判物体水平邻接关系,宽度大于棋子为异物退出;否则判物体垂直邻接关系。若高度大于棋子,为异物退出;否则进行棋子检测,是棋子置B(5),不是棋子则置B(1)。
       (4)当前网格区中有物体且无物体邻接关系同时投影宽度接近棋子大小,则进行棋子检测,若是棋子,则为棋子超偏置B(5),否则棋子置B(1)。

      4 基于年轮统计的棋子文字识别方法
   

      如图4(a)所示的以棋子的圆形凹槽外框为特征,从上面二值化图像中通过模板圆匹配法很容易检测并分割出棋子,然后对棋子文字进行识别。由于棋子放置方向的随意性,识别的关键问题是文字的方向。

共2页: 上一页 1 [2] 下一页

上一篇:基于MCP2030无线激活的低功耗系统设计   下一篇:正弦脉宽调制(SPWM)波的基本要素

标签:设计 系统 视觉 机器人 棋子 图像 像素 识别 方法 进行 点此搜索本站更多相关信息...搜索更多相关内容..

您可能还感兴趣的内容: 深圳今科电子单片机解密、IC解密服务 今科电子单解机、IC解密业务是怎样的流程?

此页的访问者还关注了下面这些相关资讯


·基于MCP2030无线激活的低功耗系统设计
·基于GPS和电子海图的嵌入式船舶导航系统设计
·蓝牙无线通信技术在医疗监护中的应用
·智能家居中电热水器设计方案
·面向工业电脑与嵌入式系统的节电长效内存
·测试检验电路时序的FPGA逻辑验证分析仪
·基于FPGA的数字秒表的设计
·DDR2器件HY5PS121621BFP在嵌入式系统中的应用
·Camera Link协议和FPGA的数字图像信号源设计
·基于GTK+的组合构件设计
·GPS和嵌入式数据库
·FPGA系统内部逻辑在线测试技术研究
·FPGA的多路可控脉冲延迟系统
·手机集成GPS的注意事项
·同步数字复接的设计及其FPGA实现
·并行频域OCT图像预处理系统的DSP硬件平台设计与实现
·采用C8051F020设计的嵌入式测试仪
·CC2431的无线定位引擎及其应用改进
·基于SOPC的USB密码模块硬件与固件设计
·嵌入式应用软件任务划分的原则
·USB2.0设备控制器IP核的AHB接口技术
·嵌入式操作系统实时性比对与评价
·单片机的状态迁移与复位操作
·基于CPLD的USB下载电缆设计
·动态电压与频率调节在降低功耗中的作用
·基于EmJTAG的ARM嵌入式系统调试工
·Windows CE.Net下的矩阵键盘开发设计
·μC/OS-II的多任务系统实时性分析与优先级分配
·I²C串行EEPROM应用系统的健壮性设计
·SOPC中自定义外设和自定义指令性能分析
·动态可重构系统的通信结构研究
·基于以太网的控制器网络的嵌入式网关开发
·MMC在便携式数据采集系统中的应用
·基于ZigBee的无线管理系统设计
·SoC软硬件协同验证技术的应用研究
·基于SAlll0微处理器的掌上电脑液晶显示器的设计与实现
·基于TMS320F2812的快速以太网通信系统平台
·WinCE系统下GSM Modem的测控应用
·嵌入式音频处理基础
·基于OMAP5910的移动媒体播放机设计


版权声明:
( 更多版权详述 | 隐私政策 )

1、凡本网注明“来源:单片机信息网”或“单片机论坛”的文字、图片和音视频作品,版权均属深圳市今科电子有限公司所有,任何媒体、网站或个人未经本网书面授权不得转载、链接、转贴或以其他方式使用;已经本网书面授权的,在使用时必须注明“来源:单片机信息网”或“单片机论坛””。
2、本网未注明“来源:单片机信息网”或“单片机论坛”的作品均为转载稿,本网转载稿件只为传递更多信息,并不意味着认同其观点或真实性。如其他媒体、网站或个人转载使用,必须保留本网注明的“稿件来源”,并自负法律责任。
3、对于单片机信息网通过单片机论坛发布的作品,本网受著作权人委托禁止任何媒体、网站或个人在未经书面授权的情况下转载使用。
4、为维护自身权益、尊重作者版权,单片机信息网特委托深圳市律师协会为本网站法律顾问。对于违反本声明的,单片机信息网律师将依法追究其责任;对于刊载作品涉及版权等问题的,请作者在两周内与网站管理或张朝阳律师联系。
责任编辑:今科电子
双击复制本文网址,发送给您QQ/MSN上的朋友:
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。

·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
§最新评论
今科热门解密系列
·PIC芯片DSP系列单片机解密PIC芯
·Freescale单片机解密飞思卡尔芯
·飞思卡尔(Freescale)单片机解密/
·pic18f系列单片机解密
·三星(Samsung)系列单片机极速解
·飞林Feeling芯片系列MCU单片机/I
·MICROCHIP微芯(PIC)系列单片机/M
·单片机破解的常用方法及应对策略
·IC卡预付费电度表的安全及防范技
·单片机解密 单片机解密方法 单片
·PHILIPS系列单片机解密
·独家STC单片机解密
·我对红外遥控信号的解码思路
·51系列单片机解密(数分钟搞定)
·芯片解密业务流程介绍
·单片机解密后提供什么文件?
·单片机解密后为何要提供厂家的专
·芯片是如何被解密的?
·SST系列MCU单片机/IC/芯片解密
·INTEL系列单片机/IC/芯片解密
·ISSI系列MCU单片机IC破解芯片解
·ZILOG系列MCU单片机IC破解芯片解
·MOTOROLA系列MCU单片机IC破解芯
·LG(HYUNDAI系列MCU单片机/IC破
·MCPLD/EPLD系列MCU单片机IC破解
·新茂系列MCU单片机IC破解芯片解
·PHILIPS系列MCU单片机IC破解芯片
·MXIC系列MCU单片机IC破解芯片解
·(ATMEL)51系列MCU单片机IC破解芯
·华邦芯片系列MCU单片机/IC/芯片
·(MICROCHIP)微芯(PIC)系列MCU单
·CYPRESS系列MCU单片机IC破解芯芯
·Sinowealih系列MCU单片机IC破解
·Tenx系列MCU单片机IC破解芯片解
·松翰(SONIX)系列MCU单片机IC破解
·义隆(EMC)系列MCU单片机IC破解
·合泰(HOLTEK)系列MCU单片机IC破
·麦肯(MDT)系列mcu单片机IC破解芯
·今科单片机解密服务
·单片机程序开发
热点技术文章文献
·嵌入式系统的技术特点及前景展望
·编写适合自己需要的printf()函数
·加密存储芯片AT88SC1616的原理和
·基于ARM的嵌入式网络收音机的设
·嵌入式Linux系统中I2C总线设备的
·嵌入式Linux的GDB调试环境建立
·用USB启动Windows XP Embedded
·基于ARM7的指纹考勤机设计
·HC(S)08单片机的高效C语言编程
·基于Linux和S3C2410的嵌入式图象
·X86嵌入式处理器开发
·基于FPGA的32 Kbit/s CVSD语音编
·嵌入式实时Linux的技术研究
·基于WinCE的ARM视频监控系统
·如何制作嵌入式Linux文件系统
·模拟器开发以及嵌入式系统内核调
·基于DM642的嵌入式网络视频服务
·嵌入式数据库Berkeley DB 环境使
·嵌入式系统的发展趋势:网络互联
·嵌入式系统中USB主机控制器的设
·Keil C动态内存管理机制分析及改
·基于mClinux的嵌入式USB接口设计
·54M无线网络适配器在嵌入式系统
·使用虚拟机嵌入式Linux开发前的
·Java能否主演嵌入式应用开发?
·基于AVR单片机的嵌入式“瘦服务
·用MSP430实现的嵌入式因特网终端
·基于TinyXml的嵌入式Linux
·嵌入式芯片同质化的对策
·32位ARM嵌入式处理器的调试技术
今科推荐产品
·51系列单片机解密(数分钟搞定)
·今科单片机解密服务
·单片机程序开发
·小家电(厨卫电器)系列产品
·灯饰控制系列产品
·四键遥控器系列产品
·红外遥控器系列产品
相关技术文献资讯
·基于MCP2030无线激活的低功耗系
·基于GPS和电子海图的嵌入式船舶
·蓝牙无线通信技术在医疗监护中的
·智能家居中电热水器设计方案
·面向工业电脑与嵌入式系统的节电
·测试检验电路时序的FPGA逻辑验证
·基于FPGA的数字秒表的设计
·DDR2器件HY5PS121621BFP在嵌入式
·Camera Link协议和FPGA的数字图
·基于GTK+的组合构件设计
·GPS和嵌入式数据库
·FPGA系统内部逻辑在线测试技术研
·FPGA的多路可控脉冲延迟系统
·手机集成GPS的注意事项
·同步数字复接的设计及其FPGA实现
·并行频域OCT图像预处理系统的DSP
·采用C8051F020设计的嵌入式测试
·CC2431的无线定位引擎及其应用改
·基于SOPC的USB密码模块硬件与固
·嵌入式应用软件任务划分的原则
·USB2.0设备控制器IP核的AHB接口
·嵌入式操作系统实时性比对与评价
·单片机的状态迁移与复位操作
·基于CPLD的USB下载电缆设计
·动态电压与频率调节在降低功耗中
论坛最新讨论资讯
芯片解密常见问题
· 什么是单片机?
· 单片机要如何加密?
· 单片机芯片是如何被解密的?
· 单片机解密后提供什么文件?
· 芯片解密为何用专用格式文档?
· 芯片解密是怎样的业务流程?
首页 - 隐私政策 - 版权申明 - 网站地图 - 产品中心 - IC解密中心 - 企业文化 - 代理加盟 - 公司简介 - 人才招聘 - 常见问题 - 我要投稿 - 联系我们 - 返回顶部
[单片机信息网] .© 2006-2009 版权所有,严禁非法复制与建立镜像.运营商:[今科电子] 公司地址:中国.深圳/上海 E-Mail:renbangent#126.com sales#techmcu.com(换#为@)
深圳公司 电话热线:+86 0755-82964200 82964201 82964700 传真:0755-82964432 支持手机:13684994966 业务QQ: 501995683 联系人:王小姐 张小姐(工程师) 罗先生(高工)
上海公司 电话热线:+86 021-63062380 15001885509   传真:+86 021-63062380-6   技术支持:15001885509 业务QQ:xxxxxxxx   联系人:郑小姐(业务) 陆工(工程师)
Optimized for 1024x768 to Firefox,Opera and MS-IE6 or higher,Template designed by: Berlin Lee.Web Support[FuAn Network] ICP Record No.:07053756 Webmaster