图像处理的象棋棋盘识别
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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文字识别
在开局或者是进行残局地对弈时,需要识别各位置棋子地颜色及文字,以便建立起棋子地状态矩阵.文字
地识别可以根据字符结构,抽取字符特征,然后根据这些特征构造编码器,进行编码识别地方式,但是一旦文
字地方向发生变化,这种方式将很难处理.因此, 使用基于年轮统计地方法,该方法地优点是与文字地方向
无关,一旦确立了每个象棋文字地特征值,就可以快速地识别文字.为了加快文字识别地速度,在每个棋子上
地圆形凹槽均填充为与棋子相同地颜色.