999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于圖像處理的五子棋落棋檢測與識別

2023-12-29 00:00:00叢宇昊劉佰瞻陳江海曾鵬飛
科技資訊 2023年16期

關鍵詞: 圖像處理 五子棋落棋檢測 位置識別 MATLAB

中圖分類號: TP242 文獻標識碼: A 文章編號: 1672-3791(2023)16-0057-06

人機對弈一直是機器視覺、人工智能研究與應用的熱點,棋子落棋的圖像檢測和識別是其中的重要環節[1-3]。五子棋落子識別,常用方法是先識別棋盤上各行列線位置進行棋盤建模,再應用模板匹配確定棋盤中所有棋子位置,并與上一次的棋子位置作差分,從而得到新落棋子的位置,環節和復雜計算較多。本文提出一種改進的五子棋落棋位置識別方法,首先通過圖像差分,得到每步的人落棋位置圖像,并對落棋位置進行灰度增強,然后再進行落棋位置識別,既簡便了每步落棋位置的檢測,又不用對棋盤中已有棋子位置重復識別,提高了人落棋位置的識別效率和準確性。

1 基于全局攝像頭的棋盤圖像獲取

1.1 基于全局攝像頭的棋盤圖像采集

采用全局固定攝像頭的方式,采集五子棋棋盤圖像,具體如圖1 所示。人機對弈時,棋盤和攝像頭固定,所以每次采集的棋盤圖像的大小固定,而每個落子點在圖像中的坐標位置,也不會因每次的圖像采集而改變。圖2 是基于全局攝像頭采集的棋盤圖像。

棋盤為13行13列,共169個落子點,第7行7列(7,7)為中心落子點。棋盤背景為淺黃色,棋子為黑白兩色。

1.2 基于MATLAB 的棋盤圖像讀取

將圖2 在MATLAB 中讀取并轉換為灰度圖像,具體如圖3 所示。通過工作變量可知,每幅棋盤圖像像素均為600 ′ 800像素。

2 五子棋落棋位置的識別

人機對弈,只需通過圖像識別確定人的落棋位置,機器的落棋位置是通過博弈算法自動生成的。人落棋位置識別,常用方法是首先通過霍夫直線變換得到棋盤上各行列線位置,然后進行棋盤建模,得到棋盤上每個落子點位置,再應用模板匹配和計算,確定棋盤中所有棋子位置,并與上次的棋子位置作差分,從而得到新落子的棋子位置。此種方法要通過多次地檢測和復雜計算,才能確定全盤棋子位置,并且每次新落子計算,要把已有棋子全部再次匹配檢測,在人機實時對弈時,占用時間過多。

2.1 人落棋位置的識別

五子棋棋子的特點是大小基本一致,只有兩種顏色的圓形棋子。落子時,雙方輪流落棋,并且不可以吃棋,即棋盤中的棋子每次落棋后雙方輪流增加1 個。因此,本文提出一種改進的五子棋落棋位置識別方法,首先通過圖像差分,得到每步的人落棋位置圖像,并對落棋位置進行灰度增強;然后再進行落棋位置識別,既簡便了每步落棋位置的檢測,又不用對棋盤中已有棋子位置進行重復識別,提高了人落棋位置的識別效率和準確性。改進的人落棋位置識別流程具體見圖4。

2.1.1 差分求取第n步人落棋圖像

五子棋只增加棋子,不減少棋子,所以用圖像差分法,可以簡便地檢測出本步人落棋位置。

如果人執黑色棋子,棋子像素值接近0,用第n-1步的機器落棋圖像,減去第n 步的人落棋圖像,得到人落棋位置圖像,如圖5 所示。

如果人執白色棋子,棋子像素值接近200,用第n步的人落棋圖像,減去第n-1 步的機器落棋圖像,得到人落棋位置圖像,如圖6 所示。

2.1.2 人落棋位置的識別

利用MATLAB 中的imfindcircles 函數,對五子棋落子檢測圖像進行霍夫圓識別[4]。其中,輸入參數Objectpolarity,是判別識別的圓形對象比背景亮或暗,如果亮,則輸入“ObjectPolarity”“bright”[5]。

因此,本文為了提高棋子的霍夫圓識別正確率,在識別前,利用圖像乘法,先對人落棋圖像進行灰度增強,再進行棋子圓形識別。對圖像5 中人執黑棋落棋位置圖像進行灰度增強,如圖7 所示。

圖7(a)中對圖像灰度值乘以10,落棋區域的圓形對象,相對背景亮度得到提高,但圖像中的行列線亮度也過于突出。通過測試比較,乘法系數設為3 時,圓形區域亮度提高而行列線亮度不明顯,如圖7(b)所示。

同理,對圖像6 中人執白棋落棋位置圖像,進行灰度增強,如圖8 所示。

在MATLAB 中,對圖像7(b)和8(b)進行霍夫圓識別,如圖9 所示,代碼如下:

[centerswhite, radiiwhite, metric] = imfindcircles(Imageb1,[18,28],ObjectPolarity','bright','Sensitivity',0.96);

viscircles(centerswhite,radiiwhite,'EdgeColor','b');

圖9 說明人執白棋或者執黑棋,都可以利用改進的五子棋落棋位置識別方法,確定落棋位置。

2.1.3 人落棋位置的保存

人落棋位置的值,保存在imfindcircles 函數的輸出參數centerswhite 中。centerswhite 是一個1 ′ 2 的矩陣,保存所識別的圓在圖像中的x、y 坐標,即第n 步人落棋位置的列坐標值和行坐標值[6]。其中,圖9(a)中棋子的列和行的位置值是[369.8871,366.1103],圖9(b)中棋子的列和行的位置值是[326.5157,269.6242]。

通過MATLAB 中的矩陣追加方法A=[A;B],可將每次的人落棋位置值B,加入已有的人落棋位置值矩陣A 中,得到棋盤中所有的人落棋位置值。

2.2 人落棋位置的列行數計算

為了便于五子棋博弈算法計算,模擬人下棋方式,將人落棋的位置值轉換為人落棋的列行數。表1、表2為圖9(b)和圖10(a)中的黑棋白棋通過imfindcircles 函數識別的位置值,及其對應的實際列行數。其中,imfindcircles函數識別得到的棋子位置值順序,是根據棋子圓形度進行的排序。

根據表1、表2 可知,將每列的位置和每行的位置求平均,得到棋盤中心位置第7 列第7 行對應的檢測位置值為(415.461 1,316.792 2);再對列間距和行間距求平均,得到棋盤列間距為45,行間距為43。因此,將棋子識別位置轉換為識別的列行數,計算式如式(1)和式(2)。

式(1)、式(2)中,l 為識別的列位置值;h 為識別的行位置值;L 為識別列位置對應的列數;H為識別行位置對應的行數。

對表1 和表2 中棋子進行列行數計算,與實際列行數相同。表3 和表4 分別是對圖11 中棋子列行數的測試,計算的列行數與實際列行數一致。

對圖9(a)和9(b)中,每步的人落黑棋和白棋的列行數進行測試,計算的列行數與實際列行數也一致,具體如表5 所示。

3 結語

本文提出了一種改進的五子棋落棋位置識別方法,經過測試,可以簡便準確地識別人落棋位置值。同時,模擬人下棋方式,將人落棋的位置值轉換為人落棋的列行數,便于后續博弈算法的推演。

主站蜘蛛池模板: 国产流白浆视频| 国产白浆视频| 中日无码在线观看| 国产一区自拍视频| 国产乱子伦视频在线播放| 日本不卡在线| 欧美在线视频不卡第一页| 日本手机在线视频| 亚洲无码在线午夜电影| 国产十八禁在线观看免费| 日韩精品无码一级毛片免费| 色综合天天视频在线观看| 国产在线精彩视频二区| 中文字幕有乳无码| 欧洲欧美人成免费全部视频| 熟妇无码人妻| 无码日韩视频| 国产精品亚洲日韩AⅤ在线观看| 色网站免费在线观看| 国产精品无码AV中文| 国产拍在线| 国产69精品久久久久妇女| 国产精品林美惠子在线观看| 国产精品视频观看裸模 | 天天激情综合| 毛片在线看网站| 精品91视频| 国产成人精品男人的天堂下载 | 欧美a级在线| av天堂最新版在线| 国产农村妇女精品一二区| 青青草国产免费国产| 亚洲AV无码乱码在线观看裸奔| 日韩毛片基地| 国产亚洲欧美在线人成aaaa| 国产成人亚洲精品无码电影| 国产精品私拍在线爆乳| 国产在线拍偷自揄拍精品| 麻豆精品在线视频| 亚洲有无码中文网| 亚洲婷婷在线视频| 麻豆精选在线| 欧美在线综合视频| 欧洲熟妇精品视频| a毛片免费看| 日韩毛片免费观看| 特级精品毛片免费观看| 国产91在线|日本| 亚洲区欧美区| 久久久久久久久18禁秘| 中文国产成人精品久久一| 国产在线高清一级毛片| 中文字幕无码制服中字| 东京热av无码电影一区二区| 国产一区二区色淫影院| 亚洲一道AV无码午夜福利| 野花国产精品入口| 2020亚洲精品无码| 国产欧美日韩在线一区| 国产精品观看视频免费完整版| 日韩精品无码不卡无码| 亚州AV秘 一区二区三区| 欧美一区二区啪啪| 亚洲黄网在线| 国产成人久久综合777777麻豆 | 国产精品99久久久| 福利在线一区| 99久视频| 中文国产成人久久精品小说| 性网站在线观看| 国产一国产一有一级毛片视频| 亚洲AⅤ永久无码精品毛片| 欧美日韩免费在线视频| 久久香蕉国产线看精品| 亚洲天堂免费在线视频| 国产精品丝袜视频| 美女被操黄色视频网站| 国产SUV精品一区二区6| 伊人91视频| 日本高清在线看免费观看| 久久福利网| 亚洲乱伦视频|