[发明专利]一种自动寻迹记录围棋棋谱智能小车及方法有效
申请号: | 202010118489.8 | 申请日: | 2020-02-26 |
公开(公告)号: | CN111369614B | 公开(公告)日: | 2023-07-18 |
发明(设计)人: | 孙荻;巴青春;梁继稳;王行 | 申请(专利权)人: | 辽宁中新自动控制集团股份有限公司 |
主分类号: | G06T7/62 | 分类号: | G06T7/62;G06T7/73;G06T5/00;G06T5/30;G06T7/13;B62D63/02;B62D63/04 |
代理公司: | 鞍山嘉讯科技专利事务所(普通合伙) 21224 | 代理人: | 张群 |
地址: | 114000 辽宁省鞍*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 自动 记录 围棋 棋谱 智能 小车 方法 | ||
1.一种自动寻迹记录围棋棋谱智能小车的自动寻迹方法,所述智能小车包括行走台车、立杆、横杆、摄像头和控制器;行走台车下部设有行走轮,上部平台上安装立杆,立杆上部两侧各固定一个横杆,每个横杆上均安装一个摄像头;摄像头和行走台车的行走轮电机均与控制器电气连接,控制器接收摄像头的图像信号,控制行走轮电机移动寻找棋牌最佳录棋位置;
其特征在于,所述自动寻迹方法包括棋盘位置确定、最佳录棋位置确定和行走台车控制;
所述棋盘位置确定包括如下步骤:
步骤1:图像采集;通过摄像头采集图像,并进行灰度处理;VA ReadImage函数用于读取采集到的现场图像;VA NoiseReduce函数用于对图像进行低通滤波器以降低噪声和干扰带来的影响;以将非棋盘信息排除在外;
步骤2:棋盘特征提取;棋盘特征提取流程如下:
1)首先读取待分析图像,并将灰度图像转换成二维数组,VA Image Conversion函数用于将灰度图像转换成二维数组;VA ExtractTh函数用于从图像中提取阈值,得到待分析图像的最大灰度值Fmax;
2)如果FmaxF,即最大灰度值小于设定的棋谱灰度阈值F,则排除此处为棋谱的可能;若Fmax=F,即灰度最大值大于或等于设定的棋谱灰度阈值,则认为此处有可能是棋谱;
3)对疑似棋盘进行边缘特征提取,并且计算出疑似棋盘的面积大小M;VA FeatureExtraction函数用于提取棋谱的边缘特征;VA FillHole函数用于填充棋谱边缘,以便于进行棋谱面积特征分析;若MminM或MMmax,即面积不在设定的棋盘面积最大Mmax和最小Mmin阈值范围内,则排除疑似棋盘的嫌疑;若MminMMmax,即面积在设定的阈值范围内,则将此确认为棋盘;
步骤3:棋盘位置确定;由棋盘边缘定位及棋盘面积计算出棋盘的具体位置;当像素值和面积特征均满足棋盘条件时,则发出棋盘确认信号;
最佳录棋位置确定包括如下:
小车上的两个摄像头能够同时对两个棋盘进行录制,因此需要找到小车在两个棋盘之间的最佳录制位置;包括如下步骤:
步骤1:完成采集图像和现场的坐标对应,图像采集处理器设置的图像采样大小为m*n,所对应的现场平面的大小为a*h,则行距对应的空间位置大小为a/m,列距对应位置大小为h/n;
步骤2:处理器计算得到的两个棋谱的中心点位置分别为(x1,y1)、(x2,y2),即两个棋盘的中心点分别位于第x1、x2行,第y1、y2列;其对应的实际长度位置分别为L1=a*x1/m、L2=a*x2/m,宽度位置分别为D1=h*y1/n、D2=h*y2/n,进而可以求得小车的录棋的最佳位置为((L1+L2)/2,(D1+D2)/2)将此棋谱停留位置信息传输给控制器,即可以控制小车行走轮的步进电机找到棋盘的最佳录制点;
行走台车控制包括如下:
步骤1:首先,在控制器接收图像处理器传送来的物体识别的信息,如果出现了棋盘识别的信息,则行走台车启动,并按照图像处理器计算得到的棋盘坐标控制行走台车沿着X坐标方向运行;
步骤2:X方向到达以后,行走台车前轮转角90度,控制器控制行走台车开始沿着Y坐标方向运行,Y方向到达以后,即找到了棋盘的坐标位置;
步骤3:录棋装置启动开始录棋;在录制结束后,控制器控制行走台车首先沿着Y坐标方向返回;Y方向返回到达后,控制器控制行走台车沿着X方向返回,X方向到达后,即找到了行走台车的原点位置;
步骤4:行走台车停止等待下次棋盘的出现。
2.根据权利要求1所述的一种自动寻迹记录围棋棋谱智能小车的自动寻迹方法,其特征在于,还包括自动录棋方法,所述的自动录棋方法包括如下步骤:
步骤1:图像采集,通过调用VA Equip Main函数用于完成摄像头对棋盘的校准、棋谱的名称以及大小的配置;VA Angle函数用于完成对摄像头角度的调整至图像效果最佳时止;VA Correction函数完成对保存的棋谱图像进行矫正,保存经过矫正失真的参数和经过矫正的图像;VA Brightness函数用于完成对矫正后的图像亮度进行调整,以便于计算机能够识别出棋盘上的各条网格线,调整完毕后保存经过调整的网格数组参数;VA CaptureChart用于完成棋谱的连续采集;VA Resample函数用于实现图像的重采样配置;VA Save函数用于完成图像的保存;VA Release函数用于释放内存空间;
步骤2:图像灰度处理;
步骤3:图像的滤波处理;由于棋盘上存在一些污垢或者摄像头上存在感光颗粒噪声的影响,导致采集到的图像上存在噪声,经灰度处理后噪声依然存在;噪声的存在影响下一步的图像处理,需滤除噪声;采用开运算进行消噪处理,首先进行腐蚀,腐蚀的算子大小取3*3,消除小于棋子或棋盘的点,再利用膨胀恢复图像;经过开运算,处理后的灰度图像完整地保留了符合结构元素的几何性质的部分如棋盘框架结构,其它的噪声像素被消除;
步骤4:图像旋转处理;由于两边摄像头的摆放只保证了与棋盘面的相对水平和通过界面能完整的看到棋盘,并不能保证采集到的图像是正放的,事实证明采集到的图像大多存在一定角度的旋转,需要对图像进行水平旋转的;首先使用VA Find Edge函数对图像进行从左到右的边沿查找,搜索的宽度为3,采用双线性固定bilinear fixed插值方法定位边缘位置;找到左侧边沿后可以得出该边沿与水平线的角度值,然后调用VA Rotate函数将图像旋转到正确位置,矫正后有空白的地方用像素值为148的颜色填补;
步骤5:图像的分割和缩放处理;图像分割首先要利用边沿检测提取棋盘的4个边沿,首先检测左侧边沿上的若干个点,比较确定两个最标准的点,然后计算其横坐标的平均值,并作为左侧边缘上的横坐标点,同理计算右侧边沿上的横坐标点和上下两侧边沿的纵坐标点,利用4点就可以得出整个棋盘的边沿;程序中可以通过直线与水平线的角度值判断提取边沿是否合理;
使用边沿检测能增加抗干扰能力,下棋时人的手臂会遮挡住棋盘的边沿,只要被遮挡的边沿长度不超过总长的1/2,依旧能很好的提取图像的边沿;
由于边沿上的棋子有一定的半径,因此利用边沿检测得到的坐标不能直接对图像进行分割;经过反复地测试,确定棋盘边沿外扩13个像素点后进行分割可以保证落在棋盘边缘的棋子完整显示和识别;使用函数VA Extract Tetragon对图像进行分割,并对分割后的图像进行缩放;缩放后的图像大小为480像素*480像素;
步骤6:围棋盘面状态的确认
对围棋盘面的识别方法是通过对获取的围棋盘面的一帧图像进行色彩增强、灰化处理、拉普拉斯变换操作对图像进行预处理操作;对生成预处理后的图像信息进行数据提取,得到生成该帧图像的像素矩阵,同时还需要对棋盘线条进行图像识别,确定该帧图像中所有可识别的线,生成样本线,然后对样本线进行直接拟合、加权拟合以及ransac拟合确定一个方向的棋盘线,接着将同方向上的其余棋盘线进行删除,在将剩余的样板线进行按照次序进行直接拟合、加权拟合以及ransac拟合确定另外一个方向的棋盘线;
步骤7:棋子位置确认
对获取的围棋盘面的一帧图像进行预处理生成预处理后的图像数据,采用聚类的方法将预处理后的图像数据进行聚类处理,生成聚类结果,将该结果分为三类:分别表示为棋盘中的白色点、黑色点以及空白点;对所述预处理后的图像数据惊醒图像识别,确定该帧图像中所有可识别的线生成样本线,对于该样本线进行拟合处理,确定棋盘上两个方向上的棋盘线,将确定两个方向上的棋盘线进行相交,确定棋盘的交点坐标;根据聚类结果和棋盘上棋盘线的交点坐标确定棋子的位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辽宁中新自动控制集团股份有限公司,未经辽宁中新自动控制集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010118489.8/1.html,转载请声明来源钻瓜专利网。