欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種對(duì)實(shí)物象棋棋子移動(dòng)識(shí)別方法

文檔序號(hào):10594602閱讀:536來源:國(guó)知局
一種對(duì)實(shí)物象棋棋子移動(dòng)識(shí)別方法
【專利摘要】本發(fā)明公開了一種對(duì)實(shí)物象棋棋子移動(dòng)識(shí)別方法,用于準(zhǔn)確的識(shí)別實(shí)物象棋棋子的移動(dòng)。本發(fā)明通過對(duì)實(shí)物象棋的棋子移動(dòng)進(jìn)行圖像的讀取和識(shí)別,來判斷實(shí)物象棋的究竟哪個(gè)棋子進(jìn)行了移動(dòng),并且移動(dòng)到哪個(gè)位置,從而能夠使電腦進(jìn)行相應(yīng)的對(duì)著。
【專利說明】
_種對(duì)實(shí)物象棋棋子移動(dòng)識(shí)別方法
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及一種象棋的識(shí)別方法。
【背景技術(shù)】
[0002]現(xiàn)在人們經(jīng)常與電腦進(jìn)行下棋。一種是直接在電腦上通過鼠標(biāo)與電腦軟件對(duì)弈,另外一種是通過實(shí)物象棋與電腦對(duì)弈,棋手每下一步棋,電腦通過攝像頭讀取圖像數(shù)據(jù),電腦軟件根據(jù)棋手的棋招給出相應(yīng)的招數(shù),然后再控制機(jī)械手抓取實(shí)物象棋在真實(shí)棋盤中進(jìn)行落子。對(duì)于后面這種情況,就需要對(duì)實(shí)物象棋進(jìn)行準(zhǔn)確的識(shí)別。

【發(fā)明內(nèi)容】

[0003]本發(fā)明的目的是提供一種對(duì)實(shí)物象棋棋子移動(dòng)識(shí)別方法,用于準(zhǔn)確的識(shí)別實(shí)物象棋棋子的移動(dòng)。
[0004]本發(fā)明提供的技術(shù)方案是:
[0005]—種對(duì)實(shí)物象棋棋子移動(dòng)識(shí)別方法,包括以下步驟:
[0006]I)首先將棋子走動(dòng)前后的圖像分別進(jìn)行預(yù)處理,獲得兩幅圖像;
[0007]2)將兩幅圖像相減得到圖像G1,圖像Gl上顯示,在棋子移動(dòng)前后的位置處有2個(gè)月牙型的白色亮斑,而其他區(qū)域都是黑色,越黑的地方表示是該處像素點(diǎn)的值越接近零,因?yàn)樵搱D像是兩幅圖像的差圖像,所以該圖像的黑色區(qū)域代表的是兩幅圖像在該處的像素點(diǎn)的值接近,也就是前后兩幅圖像沒有變化的地方,那么相反地,越亮的地方代表前后兩幅圖像在該處越不接近,也就是變化的地方;
[0008]3)對(duì)圖像Gl中亮區(qū)域進(jìn)行處理得到具體的移動(dòng)前后坐標(biāo),包括以下步驟:
[0009 ]①閾值選擇,選出亮度在200到255之間的區(qū)域得到圖像G2 ;
[0010]②閉運(yùn)算去除區(qū)域中一些小的隔斷區(qū)域得到圖像G3,閉運(yùn)算就是通過一個(gè)指定大小形狀的圖形作為結(jié)構(gòu)元素,先對(duì)圖像進(jìn)行膨脹操作,然后進(jìn)行腐蝕操作,目的是在不明顯改變區(qū)域邊界大小的情況下,填充物體內(nèi)細(xì)小空間,連接相鄰區(qū)域和平滑邊界,膨脹的具體操作就是用結(jié)構(gòu)元素去掃描圖像每一個(gè)像素點(diǎn),如果結(jié)構(gòu)元素內(nèi)一個(gè)灰色區(qū)域像素點(diǎn)都沒有,就什么都不做,如果結(jié)構(gòu)元素內(nèi)包含任意一個(gè)及以上的像素點(diǎn),那就在原來灰色的區(qū)域的基礎(chǔ)上把整個(gè)結(jié)構(gòu)元素所包含的區(qū)域都加進(jìn)來,腐蝕的具體操作就是在掃描過程中如果結(jié)構(gòu)元素內(nèi)所有的點(diǎn)都是灰色區(qū)域,那就什么都不做,否則就在原來灰色區(qū)域的基礎(chǔ)上把整個(gè)結(jié)構(gòu)元素所包含的區(qū)域都減去;
[0011]③填充運(yùn)算除去一些空心區(qū)域得到圖像G4,填充運(yùn)算就是如果某個(gè)區(qū)域是非灰色選中區(qū)域,但是它被灰色選中區(qū)域所包圍了,那就把該區(qū)域也選中;
[0012]④縱向矩形開運(yùn)算,主要是為了分開兩個(gè)月牙區(qū)域,使之成為2個(gè)獨(dú)立的月牙區(qū)域,以長(zhǎng)為20個(gè)像素點(diǎn),寬為2個(gè)像素點(diǎn)的長(zhǎng)方形為結(jié)構(gòu)元素,對(duì)圖像G4進(jìn)行開運(yùn)算后得到圖像G5,開運(yùn)算的具體操作過程是先腐蝕再膨脹;
[0013]⑤橫向矩形開運(yùn)算,以長(zhǎng)為2個(gè)像素點(diǎn),寬為20個(gè)像素點(diǎn)的長(zhǎng)方形為結(jié)構(gòu)元素,對(duì)圖像G5進(jìn)行開運(yùn)算后得到圖像G6;
[0014]⑥兩個(gè)開運(yùn)算得到的區(qū)域的交集,不管是橫向移動(dòng)還是縱向移動(dòng),經(jīng)過上兩步和這一步都能分開兩個(gè)相鄰的棋子區(qū)域;
[0015]⑦面積選擇,選擇面積大于150個(gè)像素點(diǎn)的區(qū)域,排除圖像中的干擾;
[0016]⑧轉(zhuǎn)換為圓形得到圖像G8,根據(jù)等面積的原則,將分開的左右兩個(gè)區(qū)域轉(zhuǎn)換成兩個(gè)圓形區(qū)域;
[0017]⑨圓形中點(diǎn)即認(rèn)為是棋子的位置,從而得到棋子移動(dòng)前的位置和移動(dòng)后的位置。
[0018]本發(fā)明通過對(duì)實(shí)物象棋的棋子移動(dòng)進(jìn)行圖像的讀取和識(shí)別,來判斷實(shí)物象棋的究竟哪個(gè)棋子進(jìn)行了移動(dòng),并且移動(dòng)到哪個(gè)位置,從而能夠使電腦進(jìn)行相應(yīng)的對(duì)著。
【附圖說明】
[0019]圖1為本發(fā)明對(duì)棋子移動(dòng)處理的圖像一。
[0020]圖2為本發(fā)明對(duì)棋子移動(dòng)處理的圖像二。
[0021]圖3為本發(fā)明對(duì)棋子移動(dòng)處理的圖像三。
[0022 ]圖4為本發(fā)明對(duì)棋子移動(dòng)處理的圖像四。
[0023 ]圖5為本發(fā)明對(duì)棋子移動(dòng)處理的圖像五。
[0024]圖6為本發(fā)明對(duì)棋子移動(dòng)處理的圖像六。
[0025]圖7為本發(fā)明對(duì)棋子移動(dòng)處理的圖像七。
[0026]圖8為本發(fā)明對(duì)棋子移動(dòng)處理的圖像八。
【具體實(shí)施方式】
[0027]下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明進(jìn)行詳細(xì)說明。
[0028]以紅方的“當(dāng)頭兵”向前移動(dòng)一步為例進(jìn)行說明,之所以選取這一步來介紹是因?yàn)橐苿?dòng)的距離越短圖像處理起來越容易出錯(cuò)。
[0029]1.首先將兩幅圖像進(jìn)行預(yù)處理,在原本的三通道彩圖中取綠色單通道圖像。因?yàn)椴噬珗D像在本發(fā)明中亢余信息比較多,所以只需保留本發(fā)明所需的綠色單通道即可。
[0030]2.將兩幅圖像相減,得到圖像Gl,如圖1所示,可以清晰的看到在移動(dòng)前后的位置處有2個(gè)月牙型的白色亮斑外,而其他地方都是黑色的,越黑的地方表示是該處像素點(diǎn)的值越接近零,因?yàn)樵搱D像是兩幅圖像的差圖像,所以該圖像的黑色區(qū)域代表的是兩幅圖像在該處的像素點(diǎn)的值接近,也就是前后兩幅圖像沒有變化的地方,那么相反地,越亮的地方代表前后兩幅圖像在該處越不接近,也就是變化的地方。同時(shí),在圖像的右下角也有一些亮的區(qū)域,這是為可能移動(dòng)前后環(huán)境光線發(fā)生變化導(dǎo)致出現(xiàn)亮區(qū)域,這屬于干擾,接下來的處理會(huì)對(duì)其進(jìn)行特殊處理。
[0031]3.對(duì)亮區(qū)域進(jìn)行處理得到具體的移動(dòng)前后坐標(biāo)。
[0032]①閾值選擇,選出亮度在200到255之間的區(qū)域得到圖像G2,如圖2所示,肉眼可以觀察得到“月牙區(qū)域”也不是完整,有一些隔斷區(qū)域和鏤空區(qū)域,同時(shí)右下角的干擾也被選進(jìn)來了,但是我們觀察后大致可以猜出2個(gè)月牙就是對(duì)應(yīng)棋子移動(dòng)前后的位置。
[0033]②閉運(yùn)算去除區(qū)域中一些小的隔斷區(qū)域得到圖像G3,如圖3所示,閉運(yùn)算就是通過一個(gè)指定大小形狀的圖形作為結(jié)構(gòu)元素,先對(duì)圖像進(jìn)行膨脹操作,然后進(jìn)行腐蝕操作。目的是在不明顯改變區(qū)域邊界大小的情況下,填充物體內(nèi)細(xì)小空間,連接相鄰區(qū)域和平滑邊界。膨脹的具體操作就是用結(jié)構(gòu)元素(本發(fā)明中采用的是半徑為4個(gè)像素點(diǎn)的圓形圖形)去掃描圖像每一個(gè)像素點(diǎn),如果結(jié)構(gòu)元素內(nèi)一個(gè)灰色區(qū)域像素點(diǎn)都沒有,就什么都不做,如果結(jié)構(gòu)元素內(nèi)包含任意一個(gè)及以上的像素點(diǎn),那就在原來灰色的區(qū)域的基礎(chǔ)上把整個(gè)結(jié)構(gòu)元素所包含的區(qū)域都加進(jìn)來。腐蝕的具體操作就是在掃描過程中如果結(jié)構(gòu)元素內(nèi)所有的點(diǎn)都是灰色區(qū)域,那就什么都不做,不然就在原來灰色區(qū)域的基礎(chǔ)上把整個(gè)結(jié)構(gòu)元素所包含的區(qū)域都減去。
[0034]③填充運(yùn)算除去一些空心區(qū)域得到圖像G4,如圖4所示,填充運(yùn)算就是如果某個(gè)區(qū)域是非灰色選中區(qū)域,但是它的被灰色選中區(qū)域所包圍了,那就把該區(qū)域也選中。此次是填充了一個(gè)中間的小圓圈。
[0035]④縱向矩形開運(yùn)算。接下來的操作主要是為了分開兩個(gè)月牙區(qū)域,使之成為2個(gè)獨(dú)立的月牙區(qū)域。以長(zhǎng)為20個(gè)像素點(diǎn)寬為2個(gè)像素點(diǎn)的長(zhǎng)方形為結(jié)構(gòu)元素,對(duì)圖像G4進(jìn)行開運(yùn)算后得到圖像G5,如圖5所示,明顯可以看出開運(yùn)算能夠從中間“劈開”兩個(gè)月牙。開運(yùn)算的具體操作過程是先腐蝕再膨脹。
[0036]⑤橫向矩形開運(yùn)算。以長(zhǎng)為2個(gè)像素點(diǎn)寬為20個(gè)像素點(diǎn)的長(zhǎng)方形為結(jié)構(gòu)元素(和上一步僅僅置換了長(zhǎng)方形的長(zhǎng)寬),對(duì)圖像G5進(jìn)行開運(yùn)算后得到圖像G6,如圖6所示,看起來好像沒有起什么作用,確實(shí),這一步在此次移動(dòng)處理中沒有起分開2個(gè)棋子位置的作用,但是它存在的意義在于處理那么縱向移動(dòng)的情況。原理同上一步。
[0037]⑥兩個(gè)開運(yùn)算得到的區(qū)域的交集。不管是橫向移動(dòng)還是縱向移動(dòng),經(jīng)過上兩步和這一步都能分開兩個(gè)相鄰的棋子區(qū)域。需要聲明的是,第④到第⑥步都是為了處理只移動(dòng)一格的情況,在移動(dòng)了多格的情況下,這3步并沒有起作用。
[0038]⑦面積選擇。選擇面積大于150個(gè)像素點(diǎn)的區(qū)域,排除了上面提到的右下角的干擾。
[0039]⑧轉(zhuǎn)換為圓形得到圖像G7。根據(jù)等面積的原則,將分開的左右兩個(gè)區(qū)域轉(zhuǎn)換成兩個(gè)圓形區(qū)域,如圖7所示,到這里肉眼便可以很清晰的看出兩個(gè)棋子區(qū)域已經(jīng)浮現(xiàn)出來了。
[0040]⑨圓形中點(diǎn)即認(rèn)為是棋子的位置,從而得到棋子移動(dòng)前的位置和移動(dòng)后的位置;也就是能確定哪個(gè)棋子進(jìn)行了移動(dòng),并且移動(dòng)到了哪個(gè)位置。
[0041]以上步驟處理的是棋子移動(dòng)情況的識(shí)別,當(dāng)出現(xiàn)吃子現(xiàn)象的時(shí)候,處理起來就稍微復(fù)雜一點(diǎn),因?yàn)橛衅遄由俚袅?。如圖8所示,這是一副“帥”吃了“將”的圖像,處理的目的是確定兩者位置,可以看出,移動(dòng)前的“帥”的位置比較明顯,而移動(dòng)后的位置相對(duì)來說簡(jiǎn)單進(jìn)行上面步驟的處理是得不到的。除了先進(jìn)行上面步驟的處理,能夠得到右邊“帥”的位置。然后再循環(huán)查找黑色方是否有棋子發(fā)生顏色改變,發(fā)生改變的棋子位置就是紅方移動(dòng)后的位置。此方法需要保存黑色棋子的位置。至于紅黑棋子的識(shí)別,只需要在檢查一下該區(qū)域在綠色通道的平均亮度即可,黑棋子小于100,紅棋子大于100。
【主權(quán)項(xiàng)】
1.一種對(duì)實(shí)物象棋棋子移動(dòng)識(shí)別方法,其特征在于,包括以下步驟: 1)首先將棋子走動(dòng)前后的圖像分別進(jìn)行預(yù)處理,獲得兩幅圖像; 2)將兩幅圖像相減得到圖像Gl,圖像Gl上顯示,在棋子移動(dòng)前后的位置處有2個(gè)月牙型的白色亮斑,而其他區(qū)域都是黑色,越黑的地方表示是該處像素點(diǎn)的值越接近零,因?yàn)樵搱D像是兩幅圖像的差圖像,所以該圖像的黑色區(qū)域代表的是兩幅圖像在該處的像素點(diǎn)的值接近,也就是前后兩幅圖像沒有變化的地方,那么相反地,越亮的地方代表前后兩幅圖像在該處越不接近,也就是變化的地方; 3)對(duì)圖像Gl中亮區(qū)域進(jìn)行處理得到具體的移動(dòng)前后坐標(biāo),包括以下步驟: ①閾值選擇,選出亮度在200到255之間的區(qū)域得到圖像G2; ②閉運(yùn)算去除區(qū)域中一些小的隔斷區(qū)域得到圖像G3,閉運(yùn)算就是通過一個(gè)指定大小形狀的圖形作為結(jié)構(gòu)元素,先對(duì)圖像進(jìn)行膨脹操作,然后進(jìn)行腐蝕操作,目的是在不明顯改變區(qū)域邊界大小的情況下,填充物體內(nèi)細(xì)小空間,連接相鄰區(qū)域和平滑邊界,膨脹的具體操作就是用結(jié)構(gòu)元素去掃描圖像每一個(gè)像素點(diǎn),如果結(jié)構(gòu)元素內(nèi)一個(gè)灰色區(qū)域像素點(diǎn)都沒有,就什么都不做,如果結(jié)構(gòu)元素內(nèi)包含任意一個(gè)及以上的像素點(diǎn),那就在原來灰色的區(qū)域的基礎(chǔ)上把整個(gè)結(jié)構(gòu)元素所包含的區(qū)域都加進(jìn)來,腐蝕的具體操作就是在掃描過程中如果結(jié)構(gòu)元素內(nèi)所有的點(diǎn)都是灰色區(qū)域,那就什么都不做,否則就在原來灰色區(qū)域的基礎(chǔ)上把整個(gè)結(jié)構(gòu)元素所包含的區(qū)域都減去; ③填充運(yùn)算除去一些空心區(qū)域得到圖像G4,填充運(yùn)算就是如果某個(gè)區(qū)域是非灰色選中區(qū)域,但是它被灰色選中區(qū)域所包圍了,那就把該區(qū)域也選中; ④縱向矩形開運(yùn)算,主要是為了分開兩個(gè)月牙區(qū)域,使之成為2個(gè)獨(dú)立的月牙區(qū)域,以長(zhǎng)為20個(gè)像素點(diǎn),寬為2個(gè)像素點(diǎn)的長(zhǎng)方形為結(jié)構(gòu)元素,對(duì)圖像G4進(jìn)行開運(yùn)算后得到圖像G5,開運(yùn)算的具體操作過程是先腐蝕再膨脹; ⑤橫向矩形開運(yùn)算,以長(zhǎng)為2個(gè)像素點(diǎn),寬為20個(gè)像素點(diǎn)的長(zhǎng)方形為結(jié)構(gòu)元素,對(duì)圖像G5進(jìn)行開運(yùn)算后得到圖像G6; ⑥兩個(gè)開運(yùn)算得到的區(qū)域的交集,不管是橫向移動(dòng)還是縱向移動(dòng),經(jīng)過上兩步和這一步都能分開兩個(gè)相鄰的棋子區(qū)域; ⑦面積選擇,選擇面積大于150個(gè)像素點(diǎn)的區(qū)域,排除圖像中的干擾; ⑧轉(zhuǎn)換為圓形得到圖像G8,根據(jù)等面積的原則,將分開的左右兩個(gè)區(qū)域轉(zhuǎn)換成兩個(gè)圓形區(qū)域; ⑨圓形中點(diǎn)即認(rèn)為是棋子的位置,從而得到棋子移動(dòng)前的位置和移動(dòng)后的位置。
【文檔編號(hào)】G06K9/40GK105956594SQ201610305082
【公開日】2016年9月21日
【申請(qǐng)日】2016年5月10日
【發(fā)明人】顧敏明, 黃世青
【申請(qǐng)人】浙江理工大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
沾益县| 南汇区| 财经| 南丹县| 遂昌县| 郓城县| 上饶市| 定南县| 大悟县| 平湖市| 工布江达县| 柯坪县| 宜章县| 宽甸| 柳林县| 江源县| 华宁县| 乐昌市| 绍兴县| 宁都县| 河曲县| 正镶白旗| 石嘴山市| 武威市| 兰溪市| 贵定县| 甘孜| 文安县| 思南县| 康乐县| 美姑县| 兴城市| 宜春市| 巴彦淖尔市| 威信县| 新晃| 祁阳县| 万州区| 达日县| 日土县| 筠连县|