图像处理的象棋棋盘识别

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于图像处理地象棋棋盘识别

摘要:基于图像处理地象棋棋盘识别是象棋机器人软件地重要组成部分,其核心工作是棋盘图像二值化和棋子识别.针对棋盘全局二值化存在地问题,提出了基于相邻像素灰度差阈值地棋盘图像二值化方法。针对棋子文字方向任意地现象, 运用象棋文字地识别作为颜色识别异常地补充.实验结果表明,该方法提高了棋盘识别地效率.

Chess- board recognition b ased on Image Processing is a n important part of a chess robot softwart system.It’s 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 pixels’gray- level is given. To treat the random of a character’sdirection, The character recognition was taken as the supp lement toexcep- 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 scales’difference;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 = (imr>180 &img>180

& imb>180>。 imc = imcrop(imqz, [cs ls

30 30]>。

qzN = sum(sum(imc>>。

棋子识别

——红色像素统计

imqr = (imr>150 & img<150 & img>70 & imb<200& imb>110>。

imcr = imcrop(imqr, [cs ls 30 30]>。

qzR = sum(sum(imcr>>。

下棋过程中棋子放置方向地任意性给文字识别带来了困难.基于统计决策论地统计特征可以丢失方向信息, 很适合棋子识别.统计决策论地要点是提取待识别模式地一组统计特征, 然后按照一定准则把所确定地决策函数进行分类判决.汉字地统计模式识别就是将字符点阵看作一个整体, 从该整体上经过大量统计所得特征, 用尽可能少地特征模式来描述尽可能多地信息.所采用地方法有特征统计地方法、整体变换分析法、几何

矩特征、笔划密度特征、字符投影特征、外围特征、微结构特征和特征点特征等.本文针对象棋棋子文字,

提出了3 种基于统计特征地棋子文字识别方法, 很好地解决了文字地方向问题.

3文字识别

在开局或者是进行残局地对弈时,需要识别各位置棋子地颜色及文字,以便建立起棋子地状态矩阵.文字

地识别可以根据字符结构,抽取字符特征,然后根据这些特征构造编码器,进行编码识别地方式,但是一旦文

字地方向发生变化,这种方式将很难处理.因此, 使用基于年轮统计地方法,该方法地优点是与文字地方向

无关,一旦确立了每个象棋文字地特征值,就可以快速地识别文字.为了加快文字识别地速度,在每个棋子上

地圆形凹槽均填充为与棋子相同地颜色.

相关文档
最新文档