• 工作总结
  • 工作计划
  • 心得体会
  • 述职报告
  • 事迹材料
  • 申请书
  • 作文大全
  • 读后感
  • 调查报告
  • 励志歌曲
  • 请假条
  • 创先争优
  • 毕业实习
  • 财神节
  • 高中主题
  • 小学一年
  • 名人名言
  • 财务工作
  • 小说/有
  • 承揽合同
  • 寒假计划
  • 外贸信函
  • 励志电影
  • 个人写作
  • 其它相关
  • 生活常识
  • 安全稳定
  • 心情短语
  • 爱情短信
  • 工会工作
  • 小学五年
  • 金融类工
  • 搞笑短信
  • 医务工作
  • 党团工作
  • 党校学习
  • 学习体会
  • 下半年工
  • 买卖合同
  • qq空间
  • 食品广告
  • 办公室工
  • 保险合同
  • 儿童英语
  • 软件下载
  • 广告合同
  • 服装广告
  • 学生会工
  • 文明礼仪
  • 农村工作
  • 人大政协
  • 创意广告
  • 您现在的位置:六七范文网 > 其它相关 > 正文

    改进的中国象棋棋盘识别方法

    来源:六七范文网 时间:2023-06-02 15:10:39 点击:

    摘 要:传统的棋盘识别方式仅依赖于文字的识别,没有利用颜色信息。提出了一种基于颜色与文字识别协同工作的中国象棋棋盘识别方法。使用颜色识别维护一个棋子信息的状态矩阵,由每一步走棋后的颜色信息和走棋前的状态矩阵可以得到当前的棋盘信息,从而更新状态矩阵。运用象棋文字的识别作为颜色识别异常的补充。实验结果表明,该方法提高了棋盘识别的效率。

    关键词:棋盘识别;颜色识别;文字识别;状态矩阵;异常

    中图分类号: TP391

    文献标志码:A

    Improved Chinese chessboard recognition method

    ZHAI Nai-qiang

    (

    Modern Education Technical Center, Qingdao Ocean Shipping Mariners College, Qingdao Shandong 266071,China

    )

    Abstract:

    The traditional means of chinese chessboard recognition depends on the character recognition, without the use of color information .A chineseboard recognition method based on color recognition and character recognition is proposed. The use of color recognition to maintain a state matrix, after each step away from the state matrix and color information can get the information of current chessboard, and restore the state matrix. Use character recognition as the supplement to exceptions of color recognition. The proposed method improves the efficiency of the chessboard recognition.

    The traditional means of Chinese chessboard recognition depends on the character recognition, without the use of color information. A Chinese board recognition method based on color recognition and character recognition was proposed. The use of color recognition to maintain a state matrix, after each step away from the state matrix and color information can get the information of current chessboard, and restore the state matrix. The character recognition was taken as the supplement to exceptions of color recognition. The proposed method improves the efficiency of the chessboard recognition.

    Key words:

    chessboard recognition; color recognition; character recognition; state matrix; exception

    在中国象棋的棋盘识别中,目前均采用文字识别的方法,需要进行大量的图片处理,包括二值化、滤波等。这种方式在每次走棋之后都要进行大量的计算,大大增加了程序的思考时间。本文使用颜色识别的方法,对于红绿两色象棋进行扫描,维护一个棋子信息的矩阵,每步棋后重新扫描,并找出颜色变化情况,以确定棋子的移动状况。对于光照不均匀或其他无法取得颜色信息的情况下,采用经典的方式对棋子进行文字识别。文字的识别使用改进的基于年轮统计[1]的棋子文字识别方法。同样,对于棋盘残局的识别也可以通过颜色识别和文字识别重建状态矩阵。

    1 棋盘的预处理

    摄像机位于棋盘的正上方,相对位置固定,并提供照明灯用于补偿亮度。为了便于棋子的颜色信息识别和文字识别,棋盘上的每条横线和纵线的交叉点四个方向各扩展二分之一个棋格所形成的正方形作为棋子的有效区域。在初始时,摄像机获取的图像中添加辅助线并手工调整,确定整个棋盘在获取图像中的位置,以确定每个棋子的有效区域并记录其位置。

    2 颜色识别

    摄像机所采集图像的颜色空间是RGB空间。对于图像处理来说RGB图像是最理想的,可以很方便地进行灰度、二值化等处理;对于颜色识别来说,RGB颜色空间却是最复杂的,它并不是一个直观的颜色空间,从这个空间中很难得到颜色的认知属性,两个颜色之间的视觉差异不能表示为该颜色空间中两个色点之间的距离[2]。因此有必要将RGB颜色空间转换为可认知的颜色空间,HSV空间是较为合适的颜色空间。从RGB颜色变换到HSV空间一种简化的算法为[3]:

    MA=max(R,G,B)

    MI=min(R,G,B)

    如果MA=MI则H=0,S=0,否则按照下面的公式计算:

    H=(6+G-BMA-MI)×60,R=MA(2+B-RMA-MI)×60,G=MA(4+R-GMA-MI)×60,B=MA

    S=MA-MIMA,

    V=MA

    经过上面的公式计算,HSV的范围分别为H∈[0.0,360.0],S∈[0.0,1.0],V∈[0.0,1.0]。根据色调H的范围可以将颜色大约分为6个区,如表1所示。

    分区

    表格(有表名)

    表1 根据色调H划分的颜色区域

    色调H

    红(300,35]黄(35,55]绿(55,175]青(175,205]蓝(205,255]紫(255,305]

    在象棋棋盘的识别中,棋子的文字是绿色和红色,因此,在识别过程中只需将有效区域中的点的RGB颜色信息转换到HSV颜色空间,判断其颜色并记录每个棋子有效位置颜色的累加值。根据红绿颜色的累加值,可以判断每个棋子有效区域中的是否存在棋子和棋子颜色。因为只需要判断颜色信息,所以没有必要对采集的图像进行其他的处理,提高了识别速度。在这里,还需要给出亮度和饱和度的阈值,经过实验如下的阈值是合适的:亮度V的值小于0.2则认为是黑色,饱和度S的值小于0.05则认为是灰白色。

    状态矩阵定义为棋盘中棋子的有效位置所组成的矩阵。矩阵中的每个值均为一个两位整数,十位代表棋子的颜色,个位代表棋子的文字,例如11代表绿色的“将”,21代表红色的“帅”等。

    经过颜色的识别,可以维护整个棋盘的棋子的状态矩阵。每一步走棋后,这个状态是改变的,比较前一次和当前的状态信息就可以得到棋子位置的改变情况,从而得到哪一个棋子从什么位置移动到了什么位置,是否有吃子。在棋局开始之后,使用颜色的识别方式完全可以实现人机的对弈。

    3 文字识别

    在开局或者是进行残局的对弈时,需要识别各位置棋子的颜色及文字,以便建立起棋子的状态矩阵。文字的识别可以根据字符结构,抽取字符特征,然后根据这些特征构造编码器,进行编码识别的方式[4-6],但是一旦文字的方向发生变化,这种方式将很难处理。因此,使用基于年轮统计的方法[1],该方法的优点是与文字的方向无关,一旦确立了每个象棋文字的特征值,就可以快速地识别文字。为了加快文字识别的速度,在每个棋子上的圆形凹槽均填充为与棋子相同的颜色。

    第4期 翟乃强:改进的中国象棋棋盘识别方法

    

    计算机应用 第30卷

    针对捕获的图像,首先进行颜色的识别,以记录各棋子有效位置的颜色信息,然后,对于存在棋子的有效位置进行分割[7],分割出来的每一个矩形图片均进行文字识别。其步骤如下。

    1)滤波。这里采用中值滤波,每个像素点根据其周围的像素点的RGB值进行平均,以抑制随机噪声,并且能够很好地保存边缘信息。

    2)颜色增强。对于红颜色或者绿颜色分量进行增强,其饱和度增强0.2左右,使得颜色信息在图像中进一步呈现,以提高根据颜色进行二值化的成功率。颜色增强前后如图1所示。

    图片

    图1 红色增强

    3)二值化。这里的二值化指的是红色或者绿色保留,其他颜色变为白色,以下说明均以红色为例。将图1(b)按照表1所列的区间进行按照红色的二值化所得到结果如图2(a)所示。由于颜色区间是按照宽范围来选择的,因此将有部分灰色和黄色被保留下来,事实上在RGB颜色空间中,黄色是由红色叠加绿色得来的,而灰颜色的三种颜色分量的值相差不大,因此设定阈值来去除掉黄颜色和灰颜色。条件为:如果RG<60,则认为不可能是红色;如果G≥110,则认为不可能是红色。根据这个条件进行红颜色的二值化结果如图2(b)所示。

    图片

    图2 考虑绿颜色分量的二值化

    4)提高对比度,并进一步剔除掉红色。在步骤3)中所得到的图片线条边缘还有部分浅红存在,不利于文字识别,通过提高图像的对比度,使得这一部分颜色变为红色,而红色变为黑色,以便于进一步分离,如图3(a)所示。此时将图片中的红色剔除掉,结果如图3(b)所示。

    图片

    图3 提高对比度后剔除红色分量

    5)圆形检测。圆形的检测方法主要有基于Hough 变换(Hough Transformation ,HT) 的累积方法和基于弧线几何特征的检测方法[8],这些方法具有普适性,计算量却很大。本例中的圆形具有其特殊性,因此考虑计算量更小的方法。根据步骤4)所得到的图片中圆形可能不是完整的,但不影响确定圆心的位置。分割得到的图片本身就是一个正方形的结构,将图片数据的0行0列作为坐标原点,如图4所示,h和w分别为图片的高度和宽度,很显然h和w是相等的。以坐标原点为圆心,以图片宽度的1/2作为半径画出圆弧,只需要记录圆弧上第一个和最后一个发生颜色突变的点,就可以确定圆弧与圆的交点,有了交点就可以确定通过圆心和坐标原点的直线。依此方法再以(0,h)或(h,h)或(h,0)作为圆心画出圆弧同样也可以确定一条直线,两条直线的交点即为圆心的坐标。实际中,由于得到的圆形不一定是封闭的,所采集的两个突变点就可能不在圆上,这时确定的圆心可能就是错误的。因此根据不同的半径增加所画圆弧的个数,得到多组圆上的点,经过比较分析去掉错误点,得到圆心的位置。由圆心的坐标和前期工作中得到的圆上的点,就可以确定整个圆的位置。

    分区

    图片

    图4 确定圆心的坐标

    6)过轮数计算。年轮统计法是根据过轮数特征构造编码器对文字进行识别。该方法结合了一定的棋子文字结构且与方向无关。过轮数的详细算法步骤请参考文献[1]。根据过轮数的计算,可以得到当前棋子的文字。一旦确定了棋子的文字,和前期确定的颜色信息,就可以建立起初始的棋子状态矩阵。从而为后续的人机对弈提供快速的检测方式。

    4 结语

    本文所提出的基于颜色和文字识别协同工作的棋盘识别方法,相比于单一棋子的文字识别来说,大大降低了计算量,提高了棋盘识别的速度,并且具有很好的识别率。不足之处是这种识别方式要求的光照条件较为严格。

    参考文献:

    [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]. /index.php?X=MATH&H=22#text22.

    [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-246.

    推荐访问:中国象棋 棋盘 识别 改进 方法