向像素长度和横向像素宽度的平均值,即Gav= (Gw+Gh)/2,Gw表示棋盘格的横向像素宽度,Gh表示棋盘格的纵向像素长度;
若不同时满足,则判定该落子点位置为被遮挡状态;若同时满足,则判定该落子点位置存在棋子,继续执行步骤64);
64)取落子点的区域图像中所存在的圆形区域中的k个像素点并求取像素灰度平均值,若求取得到的像素灰度平均值小于128灰度值,则判定该落子点位置为黑棋子状态;否贝IJ,判定该落子点位置为白棋子状态;
65)通过步骤62)~64)的处理流程对当前帧灰度图像中围棋棋盘的各个非原棋盘状态的落子点分别进行状态识别区分,从而确定当前一帧棋盘状态图像中围棋棋盘的每个非原棋盘状态的落子点为黑棋子状态、白棋子状态还是被遮挡状态。
[0011]相比于现有技术,本发明具有以下有益效果:
1、本发明基于图像识别的围棋记谱处理方法,通过摄像头固定拍摄围棋棋盘,由图像处理装置从摄像头获取包含围棋棋盘的图像数据,并执行围棋记谱处理,摆脱了人工记录的繁琐,同时也消除了人工记谱过程中人为因素可能带来的干扰。
[0012]2、本发明基于图像识别的围棋记谱处理方法,完全通过图像处理来实现围棋棋谱状态的识别和记谱,不需要针对围棋棋盘和棋子作特殊处理,也不需要昂贵的棋盘、棋子设施,能够在任意的围棋棋局场合中得以普遍适用,有利于大规模推广。
[0013]3、本发明基于图像识别的围棋记谱处理方法,其记谱处理过程采用的图像处理技术计算处理都较为简单,并且在很多细节处理流程上作了针对性的简化,有助于减少整体处理的数据处理量,使得其记谱工作在保证了较高准确性的情况下还能够达到很好的实时性。
【附图说明】
[0014]图1为本发明基于图像识别的围棋记谱处理方法的流程图。
[0015]图2为从一帧棋盘原始图像中获取到各个星位和天元位置的图像位置坐标的状态图。
[0016]图3为从一帧棋盘原始图像中获取到361个落子点的图像位置坐标的状态图。
【具体实施方式】
[0017]本发明提供一种基于图像识别的围棋记谱处理方法,该方法可以应用在围棋练习、教学或比赛场合中,通过摄像头固定拍摄围棋棋盘,由图像处理装置从摄像头获取包含围棋棋盘的图像数据,并通过图像识别处理,识别出围棋棋盘中361个落子点的位置,并确定各个落子点位置各自的棋子状态,完成围棋记谱工作。具体实施中,摄像头固定拍摄围棋棋盘时,需要使得摄像头拍摄获取到围棋棋盘的完整图像;并且,作为较为优选的设置方式,摄像头的拍摄镜头最好正对围棋棋盘盘面的中心位置,且拍摄镜头的光轴与围棋棋盘的盘面相垂直,这样有助于缓解因拍摄角度问题引起摄像头捕捉的围棋棋盘图像产生较大的图形畸变,从而更有利于围棋棋盘的识别和记谱处理。其中,图像处理装置执行围棋记谱处理的方法是本发明的主要创新点,图像处理装置执行围棋记谱处理的流程如图1所示,包括如下步骤:
I)预先从摄像头获取包含空白围棋棋盘完整图像的一帧棋盘原始图像。
[0018]由于摄像头是固定拍摄围棋棋盘的,因此预先获取一帧包含空白围棋棋盘完整图像的棋盘原始图像,用以处理确定出摄像头拍摄到的围棋棋盘的一些固定信息,例如棋盘格尺寸、落子点位置等。
[0019]2)通过图像识别处理,确定棋盘原始图像中围棋棋盘的各个星位的图像位置坐标,并确定围棋棋盘的天元位置的图像位置坐标。
[0020]围棋棋盘上有9个星位,且该9个星位通过黑色圆点加以标出,相比于围棋棋盘上的棋盘线条以及通过线条交叉形成的其它落子点而言,该9个星位的图像特征非常明显;因此,现通过图像识别处理出围棋棋盘上的9个星位位置,借以对摄像头拍摄图像中的围棋棋盘位置加以定位。该步骤的具体为:
21)对获取到的棋盘原始图像进行二值化处理,得到二值化图像;
22)对二值化图像进行膨胀和腐蚀处理;
23)将膨胀、腐蚀后的二值化图像中的9个黑色圆点位置确定为棋盘原始图像的9个星位,其中最中间一个星位即确定为天元位置;由此,确定棋盘原始图像中各个星位和天元位置的图像位置坐标。
[0021]从一帧棋盘原始图像中获取到各个星位和天元位置的图像位置坐标的图像状态如图2所示。
[0022]3)根据棋盘原始图像中围棋棋盘的各个星位的坐标间隔距离以及天元位置的图像位置坐标,确定摄像头拍摄图像画面中围棋棋盘的每个棋盘格的纵向像素长度和横向像素宽度,以及围棋棋盘的361个落子点的图像位置坐标。
[0023]围棋棋盘中,每横向相邻两个星位之间横向并排布置有6个棋盘格,同时每纵向相邻两个星位之间纵向成列布置有6个棋盘格,因此,在确定各个星位的图像位置坐标后,就可以根据纵向、横向相邻两个星位的图像坐标间隔距离来确定每个棋盘格的纵向像素长度和横向像素宽度了。为了较好地保证对图像中棋盘格尺寸确定的准确性,减少误差,本发明方法中采用求平均相邻两个星位的图像坐标间隔距离再除以6的方式,来确定每个棋盘格的纵向像素长度和横向像素宽度,进而基于确定棋盘原始图像中天元位置(是围棋棋盘的中心点位置)确定各个棋盘格的图像位置坐标,进而确定各个落子点的图像位置坐标,具体为:
31)统计棋盘原始图像中每横向相邻两个星位的图像坐标间隔距离和每纵向相邻两个星位的图像坐标间隔距离,计算围棋棋盘中每个棋盘格的纵向像素长度和横向像素宽度:
Gw= (EHi/nH) /6 ;
Gh= (Evi/nv) /6 ;
其中,6?表示棋盘格的横向像素宽度,Gh表示棋盘格的纵向像素长度;EHl表示棋盘原始图像中各对纵向相邻两个星位的图像坐标间隔距离的和值,Evi表示棋盘原始图像中各对横向相邻两个星位的图像坐标间隔距离的和值;nH表示棋盘原始图像中纵向相邻两个星位的成对数,nv表示棋盘原始图像中横向相邻两个星位的成对数;
32)以棋盘原始图像中天元位置为中心,根据棋盘格的纵向像素长度和横向像素宽度,确定围棋棋盘中各个棋盘格的图像位置坐标;
33)将围棋棋盘中各个棋盘格的交叉点位置判定为落子点的位置,从而确定摄像头拍摄图像画面中围棋棋盘的各个落子点的图像位置坐标。
[0024]至此,通过上述处理,借助对围棋棋盘上有9个星位的定位以及围棋棋盘上各个星位与棋盘格位置分布的特征,实现了对摄像头拍摄图像中的围棋棋盘位置的定位,同时确定了摄像头拍摄图像画面中围棋棋盘的361个落子点的图像位置坐标等固定信息,由于摄像头是固定拍摄围棋棋盘的,因此这些固定信息在记谱过程中都是不会变化的。从一帧棋盘原始图像中获取到361个落子点的图像位置坐标的图像状态如图3所示。接下来就可以借助这些固定信息,对围棋棋局过程中摄像头捕获到的包含围棋棋盘图像的棋盘状态图像来进行批判识别和记谱处理了。
[0025]4)从摄像头获取包含围棋棋盘图像的一帧棋盘状态图像。
[0026]5)将摄像头拍摄图像画面中围棋棋盘的361个落子点的图像位置坐标设定为当前一帧棋盘状态图像中围棋棋盘的361个落子点的图像位置坐标,通过图像识别处理,分别判断当前一帧棋盘状态图像中围棋棋盘的361个落子点位置为原棋盘状态还是非原棋盘状态;所述原棋盘状态是指落子点位置处于没有棋子且未被遮挡状态,所述非原棋盘状态是指落子点位置处于有棋子或者被遮挡状态。
[0027]在围棋棋局进行过程中,如果能够从图像中依然识别到围棋棋盘的落子点特征,则能够确认相应落子点上没有棋子,为原棋盘状态;但如果在某落子点位置处不能识别到落子点特征,除了可能在相应落子点上存在棋子的情况之外,在围棋棋局进行过程中,还有可能因为棋手掷放棋子时手对部分棋盘形成遮挡,而导致落子点位置处不能识别到落子点特征。因此,该步骤首先判断棋盘状态图像中围棋棋盘的361个落子点位置各自为原棋盘状态还是非原棋盘状态,具体为:
51)将摄像头拍摄图像画面中围棋棋盘的361个落子点的图像位置坐标设定为当前一帧棋盘