CN111369614A - 一种自动寻迹记录围棋棋谱智能小车及方法 - Google Patents
一种自动寻迹记录围棋棋谱智能小车及方法 Download PDFInfo
- Publication number
- CN111369614A CN111369614A CN202010118489.8A CN202010118489A CN111369614A CN 111369614 A CN111369614 A CN 111369614A CN 202010118489 A CN202010118489 A CN 202010118489A CN 111369614 A CN111369614 A CN 111369614A
- Authority
- CN
- China
- Prior art keywords
- chessboard
- image
- chess
- edge
- recording
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000006870 function Effects 0.000 claims description 50
- 238000012545 processing Methods 0.000 claims description 16
- 239000009891 weiqi Substances 0.000 claims description 13
- 238000007781 pre-processing Methods 0.000 claims description 12
- 238000012790 confirmation Methods 0.000 claims description 9
- 238000003708 edge detection Methods 0.000 claims description 9
- 239000000284 extract Substances 0.000 claims description 8
- 238000012937 correction Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 claims description 4
- 241000209202 Bromus secalinus Species 0.000 claims description 3
- 238000012952 Resampling Methods 0.000 claims description 3
- 238000004380 ashing Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000005260 corrosion Methods 0.000 claims description 3
- 230000007797 corrosion Effects 0.000 claims description 3
- 238000013075 data extraction Methods 0.000 claims description 3
- 230000008030 elimination Effects 0.000 claims description 3
- 238000003379 elimination reaction Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 3
- 238000003709 image segmentation Methods 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 239000002245 particle Substances 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 238000001228 spectrum Methods 0.000 claims description 2
- 238000005457 optimization Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D63/00—Motor vehicles or trailers not otherwise provided for
- B62D63/02—Motor vehicles
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D63/00—Motor vehicles or trailers not otherwise provided for
- B62D63/02—Motor vehicles
- B62D63/04—Component parts or accessories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
- G06T5/30—Erosion or dilatation, e.g. thinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/60—Other road transportation technologies with climate change mitigation effect
- Y02T10/72—Electric energy management in electromobility
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Geometry (AREA)
- Image Processing (AREA)
Abstract
一种自动寻迹记录围棋棋谱智能小车及方法,所述的小车包括行走台车、立杆、横杆、摄像头和控制器;行走台车下部设有行走轮,上部平台上安装立杆,立杆上部两侧各固定一个横杆,每个横杆上均安装一个摄像头;摄像头和行走台车的行走轮电机均与控制器电气连接,控制器接收摄像头的图像信号,控制行走轮电机移动寻找棋牌最佳录棋位置。所述的方法,包括棋盘位置确定、最佳录棋位置确定和行台车控制;改变了以往采用人工调节支架、手动进行棋谱校准的方法,大大的降低操纵者的劳动强度,是在自动化领域的一个重要突破,也是智能优化算法解决实际问题的突出体现。
Description
技术领域
本发明涉及自动录棋设备技术领域,特别涉及一种基于认知无线电自适应频谱感知与分配方法。
背景技术
作为一个拥有五千年文化底蕴的国家,围棋是中国古老的文化遗产,从诞生距今两千多年而不衰。从先秦到唐代,围棋在人们现实生活中和精神世界都扮演着重要的角色,上到帝王将相,下至黎民百姓都享受着围棋带来的乐趣。我们如今的生活也深受围棋的影响:比如一些东西摆列无序,参差不齐,我们会称之为“星罗棋布”;对于一件事情拿不定主意,左右为难,我们称之为“举棋不定”;人们常用的俗语“当局者迷,旁观者清”最初即是描写围棋的场面......总而言之,围棋一直是重要的娱乐活动之一,但是围棋拥有这么悠久的历史,流传下来的棋谱却是寥寥无几。
围棋棋谱记录设备是保存围棋对弈棋局的重要设备,棋谱是围棋知识的基本载体,在围棋训练、围棋史、出版等研究领域占据着举足轻重的地位,对于经典文化的传承发挥着重要的作用。随着围棋运动的推广以及信息技术的发展,越来越多的棋谱开始被保存下来。海量的棋谱是宝贵的财富,如何能够实施准确的记录并且保存围棋棋谱成为社会讨论的热点。
目前,公知的最先进的围棋记录方法是采用一种基于图像的围棋棋谱识别方法,通过手机APP记录所有着子点的状态信息得到棋谱数据。但是这对于棋谱的记录而言,依然需要操作者进行手动校准。除此之外,一部手机只能同时记录一盘棋谱,对于两盘棋谱而言,如果需要同时记录,则需要配置两部手机以及两套支架。这对于棋谱记录者而言,依然存在很大的不便。
发明内容
为了解决背景技术中的技术问题,本发明提供一种自动寻迹记录围棋棋谱智能小车及方法,改变了以往采用人工调节支架、手动进行棋谱校准的方法,大大的降低操纵者的劳动强度,是在自动化领域的一个重要突破,也是智能优化算法解决实际问题的突出体现。
为了达到上述目的,本发明采用以下技术方案实现:
一种自动寻迹记录围棋棋谱智能小车,包括行走台车、立杆、横杆、摄像头和控制器;行走台车下部设有行走轮,上部平台上安装立杆,立杆上部两侧各固定一个横杆,每个横杆上均安装一个摄像头;摄像头和行走台车的行走轮电机均与控制器电气连接,控制器接收摄像头的图像信号,控制行走轮电机移动寻找棋牌最佳录棋位置。
所述的一种自动寻迹记录围棋棋谱智能小车的自动寻迹方法,包括棋盘位置确定、最佳录棋位置确定和行台车控制;
(一)所述棋盘位置确定包括如下步骤:
步骤1:图像采集;通过摄像头采集图像,并进行灰度处理;VA ReadImage函数用于读取采集到的现场图像;VA NoiseReduce函数用于对图像进行低通滤波器以降低噪声和干扰带来的影响;以尽可能的将非棋盘信息排除在外;
步骤2:棋盘特征提取;棋盘特征提取流程如下:
1)首先读取待分析图像,并将灰度图像转换成二维数组,VA Image Conversion函数用于将灰度图像转换成二维数组;VA ExtractTh函数用于从图像中提取阈值,得到待分析图像的最大灰度值Fmax;
2)如果Fmax<F,即最大值小于设定的棋谱灰度阈值F,则排除该物体为棋谱的可能;若Fmax>=F,即灰度最大值大于或等于设定的棋谱灰度阈值,则认为此处有可能是棋谱;
3)对疑似棋盘进行边缘特征提取,并且计算出疑似棋盘的面积大小M;VA FeatureExtraction函数用于提取棋谱的边缘特征;VA FillHole函数用于填充棋谱边缘,以便于进行棋谱面积特征分析;若Mmin<M或M>Mmax,即面积不在设定的棋盘面积最大Mmax和最小Mmin阈值范围内,则排除疑似棋盘的嫌疑;若Mmin<M<Mmax,即面积在设定的阈值范围内,则将此确认为棋盘;
步骤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:行走台车停止等待下次棋盘的出现。
(四)还包括自动录棋方法,所述的自动录棋方法包括如下步骤:
步骤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:棋子位置确认
对获取的围棋盘面的一帧图像进行预处理生成预处理后的图像数据,采用聚类的方法将预处理后的图像数据进行聚类处理,生成聚类结果,将该结果分为三类:分别表示为棋盘中的白色点、黑色点以及空白点;对所述预处理后的图像数据惊醒图像识别,确定该帧图像中所有可识别的线生成样本线,对于该样本线进行拟合处理,确定棋盘上两个方向上的棋盘线,将确定两个方向上的棋盘线进行相交,确定棋盘的交点坐标;根据聚类结果和棋盘上棋盘线的交点坐标确定棋子的位置。
与现有技术相比,本发明的有益效果是:
记录围棋棋谱的为全自动记录方式,改变了以往采用人工调节支架、手动进行棋谱校准的方法,大大的降低操纵者的劳动强度,是在自动化领域的一个重要突破,也是智能优化算法解决实际问题的突出体现。它将采集到的数据进行深层次挖掘分析与研究,得到所需指标的最佳参数区间,使得参数指标能够以最大概率落入理想区间,然后利用所得的最佳参数指导小车的运转,达到准确实时记录围棋棋谱的目的。该小车具有工作稳定、结构简单、功能多样、操作方便、记录棋谱准确等优点。
附图说明
图1是本发明的一种自动寻迹记录围棋棋谱智能小车结构示意图;
图2是本发明的一种自动寻迹记录围棋棋谱智能小车结构侧视图;
图3是本发明的一种自动寻迹记录围棋棋谱智能小车结构俯视图;
图4是本发明的一种自动寻迹记录围棋棋谱智能小车控制结构图;
图5是本发明的棋盘位置确定方法流程图;
图6是本发明的自动录棋方法流程图。
图中:1-行走台车 2-立杆 3-摄像头 4-横杆。
具体实施方式
以下结合附图对本发明提供的具体实施方式进行详细说明。
如图1-3所示,一种自动寻迹记录围棋棋谱智能小车,包括行走台车1、立杆2、横杆4、摄像头3和控制器;行走台车1下部设有行走轮,上部平台上安装立杆2,立杆2上部两侧各固定一个横杆4,每个横杆4上均安装一个摄像头3;摄像头3和行走台车1的行走轮电机均与控制器电气连接,控制器接收摄像头3的图像信号,控制行走轮电机移动寻找棋牌最佳录棋位置。
如图4所示,为整个系统的硬件结构组成,高清摄像头3负责搜集棋盘摆放实时情况,利用C#中配备的图像处理算法函数对采集到的实时图像进行处理,用来记录棋盘的摆放的位置。同时,通过OPC通信技术将得到的棋盘的位置信息实时传输给处理器。PLC控制器根据处理器提供的棋盘位置信息,控制自动寻迹装置找到录制棋谱的最佳位置,并启动录棋装置进行对棋谱的记录。其中自动录棋装置由两台步进电机驱动。
所述的一种自动寻迹记录围棋棋谱智能小车的自动寻迹方法,包括棋盘位置确定、最佳录棋位置确定和行台车控制;
(一)如图5所示,所述棋盘位置确定包括如下步骤:
步骤1:图像采集;通过摄像头采集图像,并进行灰度处理;VA ReadImage函数用于读取采集到的现场图像;VA NoiseReduce函数用于对图像进行低通滤波器以降低噪声和干扰带来的影响;以尽可能的将非棋盘信息排除在外;
步骤2:棋盘特征提取;棋盘特征提取流程如下:
1)首先读取待分析图像,并将灰度图像转换成二维数组,VA Image Conversion函数用于将灰度图像转换成二维数组;VA ExtractTh函数用于从图像中提取阈值,得到待分析图像的最大灰度值Fmax;
2)如果Fmax<F,即最大值小于设定的棋谱灰度阈值F,则排除该物体为棋谱的可能;若Fmax>=F,即灰度最大值大于或等于设定的棋谱灰度阈值,则认为此处有可能是棋谱;
3)对疑似棋盘进行边缘特征提取,并且计算出疑似棋盘的面积大小M;VA FeatureExtraction函数用于提取棋谱的边缘特征;VA FillHole函数用于填充棋谱边缘,以便于进行棋谱面积特征分析;若Mmin<M或M>Mmax,即面积不在设定的棋盘面积最大Mmax和最小Mmin阈值范围内,则排除疑似棋盘的嫌疑;若Mmin<M<Mmax,即面积在设定的阈值范围内,则将此确认为棋盘;
步骤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:行走台车停止等待下次棋盘的出现。
(四)还包括自动录棋方法,如图6所示,所述的自动录棋方法包括如下步骤:
步骤1:图像采集,通过调用VA Equip Main函数用于完成摄像头对棋盘的校准、棋谱的名称以及大小的配置;VA Angle函数用于完成对摄像头角度的调整至图像效果最佳时止;VA Correction函数完成对保存的棋谱图像进行矫正,保存经过矫正失真的参数和经过矫正的图像;VA Brightness函数用于完成对矫正后的图像亮度进行调整吗,以便于计算机能够识别出棋盘上的各条网格线,调整完毕后保存经过调整的网格数组参数;VA CaptureChart用于完成棋谱的的连续采集;VA Resample函数用于实现图像的重采样配置;VA Save函数用于完成图像的保存;VA Release函数用于释放内存空间;
步骤2:图像灰度处理;通过处理器界面实时显示图像,为了提高运行速度,将16位的彩色图像转换成8位的灰度图像;
步骤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:棋子位置确认
对获取的围棋盘面的一帧图像进行预处理生成预处理后的图像数据,采用聚类的方法将预处理后的图像数据进行聚类处理,生成聚类结果,将该结果分为三类:分别表示为棋盘中的白色点、黑色点以及空白点;对所述预处理后的图像数据惊醒图像识别,确定该帧图像中所有可识别的线生成样本线,对于该样本线进行拟合处理,确定棋盘上两个方向上的棋盘线,将确定两个方向上的棋盘线进行相交,确定棋盘的交点坐标;根据聚类结果和棋盘上棋盘线的交点坐标确定棋子的位置。
以上实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于上述的实施例。上述实施例中所用方法如无特别说明均为常规方法。
Claims (3)
1.一种自动寻迹记录围棋棋谱智能小车,其特征在于,包括行走台车、立杆、横杆、摄像头和控制器;行走台车下部设有行走轮,上部平台上安装立杆,立杆上部两侧各固定一个横杆,每个横杆上均安装一个摄像头;摄像头和行走台车的行走轮电机均与控制器电气连接,控制器接收摄像头的图像信号,控制行走轮电机移动寻找棋牌最佳录棋位置。
2.权利要求1所述的一种自动寻迹记录围棋棋谱智能小车的自动寻迹方法,其特征在于,包括棋盘位置确定、最佳录棋位置确定和行走台车控制;
(一)所述棋盘位置确定包括如下步骤:
步骤1:图像采集;通过摄像头采集图像,并进行灰度处理;VAReadImage函数用于读取采集到的现场图像;VANoiseReduce函数用于对图像进行低通滤波器以降低噪声和干扰带来的影响;以尽可能的将非棋盘信息排除在外;
步骤2:棋盘特征提取;棋盘特征提取流程如下:
1)首先读取待分析图像,并将灰度图像转换成二维数组,VAImage Conversion函数用于将灰度图像转换成二维数组;VA ExtractTh函数用于从图像中提取阈值,得到待分析图像的最大灰度值Fmax;
2)如果Fmax<F,即最大值小于设定的棋谱灰度阈值F,则排除该物体为棋谱的可能;若Fmax>=F,即灰度最大值大于或等于设定的棋谱灰度阈值,则认为此处有可能是棋谱;
3)对疑似棋盘进行边缘特征提取,并且计算出疑似棋盘的面积大小M;VAFeatureExtraction函数用于提取棋谱的边缘特征;VAFillHole函数用于填充棋谱边缘,以便于进行棋谱面积特征分析;若Mmin<M或M>Mmax,即面积不在设定的棋盘面积最大Mmax和最小Mmin阈值范围内,则排除疑似棋盘的嫌疑;若Mmin<M<Mmax,即面积在设定的阈值范围内,则将此确认为棋盘;
步骤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:行走台车停止等待下次棋盘的出现。
3.根据权利要求2所述的一种自动寻迹记录围棋棋谱智能小车的自动寻迹方法,其特征在于,还包括自动录棋方法,所述的自动录棋方法包括如下步骤:
步骤1:图像采集,通过调用VAEquip Main函数用于完成摄像头对棋盘的校准、棋谱的名称以及大小的配置;VAAngle函数用于完成对摄像头角度的调整至图像效果最佳时止;VACorrection函数完成对保存的棋谱图像进行矫正,保存经过矫正失真的参数和经过矫正的图像;VABrightness函数用于完成对矫正后的图像亮度进行调整吗,以便于计算机能够识别出棋盘上的各条网格线,调整完毕后保存经过调整的网格数组参数;VACapture Chart用于完成棋谱的的连续采集;VAResample函数用于实现图像的重采样配置;VA Save函数用于完成图像的保存;VARelease函数用于释放内存空间;
步骤2:图像灰度处理;
步骤3:图像的滤波处理;由于棋盘上存在一些污垢或者摄像头上存在感光颗粒噪声等影响,导致采集到的图像上存在一定的噪声,经灰度处理后噪声依然存在;噪声的存在会影响下一步的图像处理,需滤除噪声;采用开运算进行消噪处理,首先进行腐蚀,腐蚀的算子大小取3*3,消除小于棋子或棋盘的点,再利用膨胀恢复图像;经过开运算,处理后的灰度图像完整的保留了棋盘框架结构等符合结构元素的几何性质的部分,其它的噪声像素被消除;
步骤4:图像旋转处理;由于两边摄像头的摆放只保证了与棋盘面的相对水平和通过界面能完整的看到棋盘,并不能保证釆集到的图像是正放的,事实证明釆集到的图像大多存在一定角度的旋转,需要对图像进行水平旋转旳;首先使用VAFind Edge函数对图像进行从左到右的边沿查找,搜索的宽度为3,釆用双线性固定bilinear fixed插值方法定位边缘位置;找到左侧边沿后可以得出该边沿与水平线的角度值,然后调用VARotate函数将图像旋转到正确位置,矫正后有空白的地方用像素值为148的颜色填补;
步骤5:图像的分割和缩放处理;图像分割首先要利用边沿检测提取棋盘的4个边沿,首先检测左侧边沿上的若干个点,比较确定两个最标准的点,然后计算其横坐标的平均值,并作为左侧边缘上的横坐标点,同理计算右侧边沿上的横坐标点和上下两侧边沿的纵坐标点,利用4点就可以得出整个棋盘的边沿;程序中可以通过直线与水平线的角度值判断提取边沿是否合理;
使用边沿检测能增加抗干扰能力,下棋时人的手臂会遮挡住棋盘的边沿,只要被遮挡的边沿长度不超过总长的1/2,该算法依旧能很好的提取图像的边沿;
由于边沿上的棋子有一定的半径,因此利用边沿检测得到的坐标不能直接对图像进行分割;经过反复地测试,确定棋盘边沿外扩13个像素点后进行分割可以保证落在棋盘边缘的棋子完整显示和识别;使用函数VAExtract Tetragon对图像进行分割,并对分割后的图像进行缩放;缩放后的图像大小为480像素*480像素;
步骤6:围棋盘面状态的确认
对围棋盘面的识别方法是通过对获取的围棋盘面的一帧图像进行色彩增强、灰化处理、拉普拉斯变换操作对图像进行预处理操作;对生成预处理后的图像信息进行数据提取,得到生成该帧图像的像素矩阵,同时还需要对棋盘线条进行图像识别,确定该帧图像中所有可识别的线,生成样本线,然后对样本线进行直接拟合、加权拟合以及ransac拟合确定一个方向的棋盘线,接着将同方向上的其余棋盘线进行删除,在将剩余的样板线进行按照次次序进行直接拟合、加权拟合以及ransac拟合确定另外一个方向的棋盘线;
步骤7:棋子位置确认
对获取的围棋盘面的一帧图像进行预处理生成预处理后的图像数据,采用聚类的方法将预处理后的图像数据进行聚类处理,生成聚类结果,将该结果分为三类:分别表示为棋盘中的白色点、黑色点以及空白点;对所述预处理后的图像数据惊醒图像识别,确定该帧图像中所有可识别的线生成样本线,对于该样本线进行拟合处理,确定棋盘上两个方向上的棋盘线,将确定两个方向上的棋盘线进行相交,确定棋盘的交点坐标;根据聚类结果和棋盘上棋盘线的交点坐标确定棋子的位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010118489.8A CN111369614B (zh) | 2020-02-26 | 2020-02-26 | 一种自动寻迹记录围棋棋谱智能小车及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010118489.8A CN111369614B (zh) | 2020-02-26 | 2020-02-26 | 一种自动寻迹记录围棋棋谱智能小车及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111369614A true CN111369614A (zh) | 2020-07-03 |
CN111369614B CN111369614B (zh) | 2023-07-18 |
Family
ID=71212457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010118489.8A Active CN111369614B (zh) | 2020-02-26 | 2020-02-26 | 一种自动寻迹记录围棋棋谱智能小车及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111369614B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113688827A (zh) * | 2021-07-13 | 2021-11-23 | 暨南大学 | 一种基于图像处理的围棋棋谱精准识别方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004160170A (ja) * | 2002-09-17 | 2004-06-10 | Mamoru Tsutsumi | 棋譜自動記録装置 |
US20100079385A1 (en) * | 2008-09-29 | 2010-04-01 | Smart Technologies Ulc | Method for calibrating an interactive input system and interactive input system executing the calibration method |
US20120295684A1 (en) * | 2010-06-30 | 2012-11-22 | R2Z Innovations, Inc. | Electronic board game creator |
CN205835288U (zh) * | 2016-06-15 | 2016-12-28 | 浙江理工大学 | 基于Arduino的具有图像识别功能的搬运机器人 |
CN107506701A (zh) * | 2017-08-08 | 2017-12-22 | 大连万和海拓文化体育产业有限公司 | 一种基于视频识别技术的围棋自动记谱方法 |
CN206885205U (zh) * | 2017-06-22 | 2018-01-16 | 魏成璧 | 基于嵌入式系统的自主巡逻智能车 |
CN109227555A (zh) * | 2018-09-18 | 2019-01-18 | 浙江工业大学 | 一种用于Quoridor对弈的智能机器人 |
WO2019080229A1 (zh) * | 2017-10-25 | 2019-05-02 | 南京阿凡达机器人科技有限公司 | 基于机器视觉的棋子定位方法、系统、存储介质及机器人 |
CN110399888A (zh) * | 2019-07-25 | 2019-11-01 | 西南民族大学 | 一种基于mlp神经网络和计算机视觉的围棋裁判系统 |
-
2020
- 2020-02-26 CN CN202010118489.8A patent/CN111369614B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004160170A (ja) * | 2002-09-17 | 2004-06-10 | Mamoru Tsutsumi | 棋譜自動記録装置 |
US20100079385A1 (en) * | 2008-09-29 | 2010-04-01 | Smart Technologies Ulc | Method for calibrating an interactive input system and interactive input system executing the calibration method |
US20120295684A1 (en) * | 2010-06-30 | 2012-11-22 | R2Z Innovations, Inc. | Electronic board game creator |
CN205835288U (zh) * | 2016-06-15 | 2016-12-28 | 浙江理工大学 | 基于Arduino的具有图像识别功能的搬运机器人 |
CN206885205U (zh) * | 2017-06-22 | 2018-01-16 | 魏成璧 | 基于嵌入式系统的自主巡逻智能车 |
CN107506701A (zh) * | 2017-08-08 | 2017-12-22 | 大连万和海拓文化体育产业有限公司 | 一种基于视频识别技术的围棋自动记谱方法 |
WO2019080229A1 (zh) * | 2017-10-25 | 2019-05-02 | 南京阿凡达机器人科技有限公司 | 基于机器视觉的棋子定位方法、系统、存储介质及机器人 |
CN109227555A (zh) * | 2018-09-18 | 2019-01-18 | 浙江工业大学 | 一种用于Quoridor对弈的智能机器人 |
CN110399888A (zh) * | 2019-07-25 | 2019-11-01 | 西南民族大学 | 一种基于mlp神经网络和计算机视觉的围棋裁判系统 |
Non-Patent Citations (4)
Title |
---|
ARTURO DE LA ESCALERA等: "Automatic Chessboard Detection for Intrinsic and Extrinsic Camera Parameter Calibratiion", SENSORS * |
CHUNXIANG WANG等: "Automatic Parking based on a Bird\'s Eye View Vision System", ADVANCES IN MECHANICL ENGINEERING * |
赵斌等: "基于改进棋盘的角点自动检测与排序", 光学精密工程, no. 01 * |
金元郁等: "人和机械手象棋对弈系统的研究与实现", 微计算机信息, no. 05 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113688827A (zh) * | 2021-07-13 | 2021-11-23 | 暨南大学 | 一种基于图像处理的围棋棋谱精准识别方法 |
CN113688827B (zh) * | 2021-07-13 | 2023-05-26 | 暨南大学 | 一种基于图像处理的围棋棋谱精准识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111369614B (zh) | 2023-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113592861B (zh) | 一种基于动态阈值的桥梁裂缝检测方法 | |
CN107862290A (zh) | 车道线检测方法及系统 | |
CN102999916B (zh) | 一种彩色图像的边缘提取方法 | |
CN105262991B (zh) | 一种基于二维码的变电站设备对象识别方法 | |
CN110414355A (zh) | 基于视觉的右方位空停车位与泊车过程中车位线检测方法 | |
CN102999886B (zh) | 图像边缘检测器及标尺光栅栅线精度检测系统 | |
CN108038416A (zh) | 车道线检测方法及系统 | |
CN111915583B (zh) | 复杂场景中基于车载红外热像仪的车辆和行人检测方法 | |
CN110197494B (zh) | 一种基于单目红外图像的受电弓接触点实时检测算法 | |
CN103218605A (zh) | 一种基于积分投影与边缘检测的快速人眼定位方法 | |
CN106887004A (zh) | 一种基于块匹配的车道线检测方法 | |
CN104700072A (zh) | 基于车道线历史帧的识别方法 | |
CN106503663A (zh) | 一种基于深度学习的信号灯时长检测方法 | |
CN112633092A (zh) | 基于车载激光扫描点云的道路信息提取方法 | |
CN108921813A (zh) | 一种基于机器视觉的无人机检测桥梁结构裂缝识别方法 | |
CN105225216A (zh) | 基于空间距圆标记边缘检测的虹膜预处理算法 | |
CN102073872A (zh) | 基于图像的寄生虫虫卵形状识别方法 | |
CN114580559A (zh) | 一种基于单目视觉系统的测速方法 | |
CN111369614B (zh) | 一种自动寻迹记录围棋棋谱智能小车及方法 | |
CN115457296A (zh) | 一种面向非平稳纹理结构属性的结构提取方法 | |
JP3589293B2 (ja) | 道路の白線検出方法 | |
CN109137448B (zh) | 基于机器视觉的织物智能整花整纬系统 | |
CN112528994B (zh) | 一种自由角度车牌检测方法、车牌识别方法和识别系统 | |
CN113723314A (zh) | 一种基于YOLOv3算法的甘蔗茎节识别方法 | |
CN111815542B (zh) | 一种树木年轮图像髓心定位、年轮测量方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |