基于图像处理的象棋棋盘识别.doc_第1页
基于图像处理的象棋棋盘识别.doc_第2页
基于图像处理的象棋棋盘识别.doc_第3页
基于图像处理的象棋棋盘识别.doc_第4页
基于图像处理的象棋棋盘识别.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于图像处理的象棋棋盘识别摘要:基于图像处理的象棋棋盘识别是象棋机器人软件的重要组成部分,其核心工作是棋盘图像二值化和棋子识别。针对棋盘全局二值化存在的问题,提出了基于相邻像素灰度差阈值的棋盘图像二值化方法;针对棋子文字方向任意的现象, 运用象棋文字的识别作为颜色识别异常的补充。实验结果表明,该方法提高了棋盘识别的效率。Chess- board recognition based on Image Processing is an important part of a chess robot softwart system.Its key problems arebinarization of chess- board image and character recognition.To save the problem caused by full chess- board binarization way, thebinarization method based on the difference threshold of neighbor pixelsgray- level is given. To treat the random of a characters direction, The character recognition was taken as the supp lement to excep- tions of color recognition. The p roposed method imp roves the efficiency of the chessboard recognition关键词: 棋盘识别; 颜色识别;文字识别;灰度差阈值; 年轮统计Key words: chessboard recognition; color recognition; character recognition; threshold of gray scalesdifference;annual ring statistic;1 引言中国象棋变化多端, 趣味无穷, 是流传了一千多年的优秀游戏, 是中华文化的精粹之一。随着机器人技术的发展, 机器人的功能越来越丰富, 娱乐机器人的研究已经成为一个重要的方向。象棋机器人是娱乐机器人的一种, 在CCD 摄像机的监视下, 使人机下棋过程非常类似于人与人之间的对弈, 更具有人性化和亲切感。本文介绍的系统是象棋机器人的视觉部分, 能识别出当前棋盘的状态, 提供给机器人下棋软件进行进一步推理。1 .1 棋盘的预处理棋盘识别软件的处理流程是棋盘图像的二值化、棋子检测和棋子文字识别。其中, 二值化和棋子文字识别是关键。棋盘图像二值化的目的是将棋盘背景与棋子及网格线分离, 以便进行棋子的检测和识别。目前图像二值化方法很多, 可划分为全局阈值、局部阈值法、动态阈值法。全局阈值法实现简单, 速度快, 对于具有明显双峰直方图的图像效果明显, 但对于光照不均匀的图像效果欠佳, 抗噪能力差。局部阈值法能处理较为复杂的情况, 但往往忽略了图像的边缘特征, 容易出现伪影现象, 且当窗口宽度较大时, 算法的速度将会受到很大影响。动态阈值法充分考虑了像元的邻域特征, 能够根据图像的不同背景情况自适应地改变阈值, 可较精确地提取出二值图像, 但它过渡地夸大了像元的邻域灰度的变化, 会把不均匀灰度分布的背景分割到目标中去, 带来许多不应出现的假目标。在象棋机器人系统中装有照明灯, 为图像捕捉提供光源。即使这样, 由于光照不均匀有时所捕捉的图像仍存在一定的阴影、反光现象, 致使图像灰度层次较多。若采用全局阈值法的二值化图像, 结果出现某些背景变黑而一些棋子模糊和网格线断线的现象,这直接影响了后续的棋子和异物检测。在象棋机器人系统中装有照明灯, 为图像捕捉提供光源。即使这样, 由于光照不均匀有时所捕捉的图像仍存在一定的阴影、反光现象, 致使图像灰度层次较多。灰度图像如图3(a)所示。若采用全局阈值法的二值化图像, 结果出现某些背景变黑而一些棋子模糊和网格线断线的现象, 如图3(b)所示。这直接影响了后续的棋子和异物检测。2.棋盘定位流程图:棋盘棋子的定位:阈值的选取:im_all = imread(xqplg.jpg);imc = imcrop(im_all);imr = imc(:,:,1);img = imc(:,:,2);imb = imc(:,:,3);imrr = imr(:);imgg = img(:);imbb = imb(:);c = double(imrr imgg imbb)/256;scatter3(imrr,imgg,imbb,15,c);棋子定位imqz = (imr180 &img180 & imb180);imc = imcrop(imqz, cs ls 30 30);qzN = sum(sum(imc);棋子识别红色像素统计imqr = (imr150 & img70 & imb110);imcr = imcrop(imqr, cs ls 30 30);qzR = sum(sum(imcr);下棋过程中棋子放置方向的任意性给文字识别带来了困难。基于统计决策论的统计特征可以丢失方向信息, 很适合棋子识别。统计决策论的要点是提取待识别模式的一组统计特征, 然后按照一定准则把所确定的决策函数进行分类判决。汉字的统计模式识别就是将字符点阵看作一个整体, 从该整体上经过大量统计所得特征, 用尽可能少的特征模式来描述尽可能多的信息。所采用的方法有特征统计的方法、整体变换分析法、几何矩特征、笔划密度特征、字符投影特征、外围特征、微结构特征和特征点特征等。本文针对象棋棋子文字, 提出了3 种基于统计特征的棋子文字识别方法, 很好地解决了文字的方向问题。3文字识别在开局或者是进行残局的对弈时,需要识别各位置棋子的颜色及文字,以便建立起棋子的状态矩阵。文字的识别可以根据字符结构,抽取字符特征,然后根据这些特征构造编码器,进行编码识别的方式 4 - 6 ,但是一旦文字的方向发生变化,这种方式将很难处理。因此, 使用基于年轮统计的方法 1 ,该方法的优点是与文字的方向无关,一旦确立了每个象棋文字的特征值,就可以快速地识别文字。为了加快文字识别的速度,在每个棋子上的圆形凹槽均填充为与棋子相同的颜色。针对捕获的图像,首先进行颜色的识别,以记录各棋子有效位置的颜色信息,然后,对于存在棋子的有效位置进行分割,分割出来的每一个矩形图片均进行文字识别。其步骤如下。1)滤波。这里采用中值滤波,每个像素点根据其周围的像素点的RGB值进行平均,以抑制随机噪声,并且能够很好地保存边缘信息,原图和滤波后的效果如下。 2)颜色增强。对于红颜色或者绿颜色分量进行增强,其饱和度增强0. 2左右,使得颜色信息在图像中进一步呈现,以提高根据颜色进行二值化的成功率。3)二值化。这里的二值化指的是红色或者绿色保留,其他颜色变为白色,以下说明均以红色为例。将图1 ( b)按照表1所列的区间进行按照红色的二值化所得到结果如图2 ( a)所示。由于颜色区间是按照宽范围来选择的,因此将有部分灰色和黄色被保留下来,事实上在RGB颜色空间中,黄色是由红色叠加绿色得来的,而灰颜色的三种颜色分量的值相差不大,因此设定阈值来去除掉黄颜色和灰颜色。条件为:如果RG 60,则认为不可能是红色;如果G 110,则认为不可能是红色。根据这个条件进行红颜色的二值化结果如图2 ( b)所示。 4)提高对比度,并进一步剔除掉红色。在步骤3)中所得到的图片线条边缘还有部分浅红存在,不利于文字识别,通过提高图像的对比度,使得这一部分颜色变为红色,而红色变为黑色,以便于进一步分离,如图3 ( a)所示。此时将图片中的红色剔除掉,结果如图3 ( b)所示。5)圆形检测。圆形的检测方法主要有基于Hough 变换(Hough Transformation , HT) 的累积方法和基于弧线几何特征的检测方法 8 ,这些方法具有普适性,计算量却很大。本例中的圆形具有其特殊性,因此考虑计算量更小的方法。根据步骤4)所得到的图片中圆形可能不是完整的,但不影响确定圆心的位置。分割得到的图片本身就是一个正方形的结构,将图片数据的0行0列作为坐标原点,如图4所示, h和w分别为图片的高度和宽度,很显然h和w是相等的。以坐标原点为圆心,以图片宽度的1 /2作为半径画出圆弧,只需要记录圆弧上第一个和最后一个发生颜色突变的点, 就可以确定圆弧与圆的交点,有了交点就可以确定通过圆心和坐标原点的直线。依此方法再以(0, h) 或( h, h) 或( h, 0) 作为圆心画出圆弧同样也可以确定一条直线,两条直线的交点即为圆心的坐标。实际中,由于得到的圆形不一定是封闭的,所采集的两个突变点就可能不在圆上,这时确定的圆心可能就是错误的。因此根据不同的半径增加所画圆弧的个数,得到多组圆上的点,经过比较分析去掉错误点,得到圆心的位置。由圆心的坐标和前期工作中得到的圆上的点,就可以确定整个圆的位置。6)过轮数计算。年轮统计法是根据过轮数特征构造编码器对文字进行识别。该方法结合了一定的棋子文字结构且与方向无关。过轮数的详细算法步骤请参考文献 1 。根据过轮数的计算,可以得到当前棋子的文字。一旦确定了棋子的文字,和前期确定的颜色信息,就可以建立起初始的棋子状态矩阵。从而为后续的人机对弈提供快速的检测方式。4.总结和展望:本文所提出的基于邻像素差阈值的棋盘图像二值化方法,计算量小、二值化效果好、且能适应较宽的光线条件; 基于统计特征的棋子文字识别方法具有方向无关性, 很好地适应了棋子方向任意的实际情况。在下棋过程中, 为进一步提高处理速度,可先做相邻棋盘图像的差分, 在二值差分图上检测变化位置,只限定在当前二值图的变化部分进行检测和识别, 可大大缩短处理时间。在具体应用中由于棋子文字字体的不同, 文中基于文字连通数与孔数的识别方法和基于年轮统计的识别方法中的具体特征值可能不能直接使用, 但方法的思想是可以借鉴的。在一些字体中, 某种单一的特征可能不能将各文字有效区分, 这时可以融合几种特征, 如有些字体的士、卒、车的连通域数和孔数都是1 和0, 此时可通过增加1/4R 过轮数的特征进行识别。本文所提出的基于颜色和文字识别协同工作的棋盘识别方法,相比于单一棋子的文字识别来说,大大降低了计算量,提高了棋盘识别的速度,并且具有很好的识别率。参考文献:1 杜俊俐,张景飞,黄心汉. 基于视觉的象棋棋盘识别J . 计算机工程与应用, 2007, 43 (34) : 220 - 222.2 陶霖密,徐光枯. 机器视觉中的颜色问题及应用J . 科学通报,2001, 46 (3) : 178 - 190.3 Color conversion math and formulas EB /OL . 2009 - 07 - 04 .4 严国莉,黄山,李岱漳, 等. 印刷体数字快速识别算法在身份证编码数字识别中的应用 J . 计算机工程, 2003, 29 (1 ) : 178 -179.5 齐永锋,火元莲. 一种基于肤色的人脸检测与定位方法 J . 计算机应用, 2009, 29 (3) : 785 - 788.6 赵志诚,蔡安妮. 图像颜色矢量量化算法J . 北京邮电大学学报, 2007, 30 (5) : 77 - 81.7 杨枝灵, 王开. Visual C +数字图像获取、处理及实践应用M . 北京:人民邮电出版社, 2003: 553 - 572.8 于中,徐文立,陈峰. 边缘图像中圆形轮廓的两步法检测J . 计算机辅助设计与图形学学报, 2005, 17 (2) : 243 2469Otsu NA threshold selection method from graylev

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论