本發(fā)明涉及人機交互領(lǐng)域,尤其涉及一種基于遞歸算法的棋盤格角點定位方法。
背景技術(shù):
在人機交互的圖像傳感器采集的圖像中,對屏幕進(jìn)行標(biāo)定時主要是通過檢測棋盤格角點進(jìn)行可操作的屏幕區(qū)進(jìn)行標(biāo)定。
目前常用的角點定位方法有,人通過點觸屏幕上提示的角點位置,使攝像頭對人觸控的點的位置進(jìn)行標(biāo)定。
然而,使用上述的標(biāo)定方法容易受到局部干擾的影響,造成角點檢測失敗或者偏差過大,特別是邊界處角點更難以檢測。
技術(shù)實現(xiàn)要素:
為了解決上述問題,本發(fā)明提供一種基于遞歸算法的棋盤格角點定位方法,提高了角點定位的準(zhǔn)確性和魯棒性,采用幾何方法獲得了屏幕四個邊界的直線,再用通過9個點計算出25個點的方法,提高了定位的精確度。
一種基于遞歸算法的棋盤格角點定位方法,包括:
S1:矯正攝像頭;
S2:固定上述攝像頭并且通過上述攝像頭獲取屏幕的整體圖像;
S3:設(shè)置上述棋盤格的有m行和n列;
S4:在上述屏幕上投射全黑信息,通過上述攝像頭獲取第1圖像;
S5:在上述屏幕上投射全白信息,通過上述攝像頭獲取第2圖像;
S6:通過從上述第1圖像減去上述第2圖像,獲得上述屏幕的二值圖;
S7:在上述屏幕上投射以屏幕的第一對角線為準(zhǔn),上部為白色下部為黑色的信息,通過上述攝像頭獲取第3圖像;
S8:在上述屏幕上投射以屏幕的第一對角線為準(zhǔn),上部為黑色下部為白色的信息,通過上述攝像頭獲取第4圖像;
S9:根據(jù)第3圖像和第4圖像獲得第一對角線上的點,由這些點確定第一對角線方程;
S10:在上述屏幕上投射以屏幕的第二對角線為準(zhǔn),上部為白色下部為黑色的信息,通過上述攝像頭獲取第5圖像;
S11:在上述屏幕上投射以屏幕的第二對角線為準(zhǔn),上部為黑色下部為白色的信息,通過上述攝像頭獲取第6圖像;
S12:根據(jù)第5圖像和第6圖像獲得第二對角線上的點,由這些點確定第二對角線方程;
S13:在上述屏幕上投射出長度與屏幕長度相同、高度為i個棋盤格高度的矩形黑色信息,剩于矩形區(qū)域投射白色信息,通過上述攝像頭獲取正向圖像,1≤i≤m-1;
S14:在上述屏幕上投射出長度與屏幕長度相同、高度為m-i個棋盤格高度的矩形白色信息,剩于矩形區(qū)域投射黑色信息,通過上述攝像頭獲取負(fù)向圖像,1≤i≤m-1;
S15:根據(jù)正向圖像和負(fù)向圖像獲得第i行橫線上的點,由這些點確定第i行橫線方程,1≤i≤m-1;
S16:重復(fù)S13-S15,直到獲得m-1條橫線方程;
S17:在上述屏幕上投射出長度與屏幕高度相同、寬度為j個棋盤格寬度的矩形黑色信息,剩于矩形區(qū)域投射白色信息,通過上述攝像頭獲取正向圖像,1≤j≤n-1;
S18:在上述屏幕上投射出長度與屏幕高度相同、寬度為n-j個棋盤格寬度的矩形白色信息,剩于矩形區(qū)域投射黑色信息,通過上述攝像頭獲取負(fù)向圖像,1≤j≤n-1;
S19:根據(jù)正向圖像和負(fù)向圖像獲得第j列豎線上的點,由這些點確定第j列豎線方程,1≤j≤n-1;
S20:重復(fù)S17-S19,直到獲得n-1條豎線方程;
S21:由步驟S15得到的m-1條橫線與步驟S18得到的n-1條豎線形成網(wǎng)格狀圖像;
S22:在上述網(wǎng)格狀圖像中,在第1行橫線與第2行橫線之間任意選取第一四邊形和第二四邊形,各自連接對角線上的兩個點,并且分別求出經(jīng)過上述兩個點的第一直線和第二直線方程;
S23:選擇位于上述第1行橫線之上的,并且上述第一直線、上述第二直線與上述豎線的兩個交點,求出經(jīng)過上述兩個交點的直線方程,得出上述屏幕的第一邊界線;
S24:在上述網(wǎng)格狀圖像中,在第m-1行橫線與第m-2行橫線之間任意選取第三四邊形和第四四邊形,各自連接對角線上的兩個點,并且分別求出經(jīng)過上述兩個點的第三直線和第四直線方程;
S25:選擇位于上述第i行橫線之下的,并且上述第三直線、上述第四直線與上述豎線的兩個交點,求出經(jīng)過上述兩個交點的直線方程,得出上述屏幕的第二邊界線;
S26:在上述網(wǎng)格狀圖像中,在第1列豎線與第2列豎線之間任意選取第五四邊形和第六四邊形,各自連接對角線上的兩個點,并且分別求出經(jīng)過上述兩個點的第五直線和第六直線方程;
S27:選擇位于上述第1列豎線之前的,并且上述第五直線、上述第六直線與上述橫線的兩個交點,求出經(jīng)過上述兩個交點的直線方程,得出上述屏幕的第三邊界線;
S28:在上述網(wǎng)格狀圖像中,在第n-1列豎線與第n-2列豎線之間任意選取第七四邊形和第八四邊形,各自連接對角線上的兩個點,并且分別求出經(jīng)過上述兩個點的第七直線和第八直線方程;
S29:選擇位于上述第n-1列豎線之后的,并且上述第七直線、上述第八直線與上述橫線的兩個交點,求出經(jīng)過上述兩個交點的直線方程,得出上述屏幕的第四邊界線;
S30:最后得出由m+1條橫線與n+1條豎線交叉形成的棋盤圖以及角點圖像;
S31:找出上述第一邊界線與第二對角線方程的交點作為第1點、上述第一邊界線與上述n/2條豎線方程的交點作為第2點、上述第一邊界線與上述第一對角線方程的交點作為第3點、上述第二邊界線與上述第一對角線方程的交點作為第4點、上述第二邊界線與上述n/2條豎線方程的交點作為第5點、上述第二邊界線與上述第二對角線方程的交點作為第6點、上述第三邊界線與上述m/2條橫線方程的交點作為第7點、上述第四邊界線與上述m/2條橫線方程的交點作為第8點、上述第一對角線方程與上述第二對角線方程的交點作為第9點;
S32:通過計算得出第2點與上述第7點的連接線方程,確定其與上述第1點與第9點的連接線的交點作為第10點;
S33:通過計算得出第2點與上述第8點的連接線方程,確定其與上述第3點與第9點的連接線的交點作為第11點;
S34:通過計算得出第5點與上述第8點的連接線方程,確定其與上述第6點與第9點的連接線的交點作為第12點;
S35:通過計算得出第5點與上述第7點的連接線方程,確定其與上述第4點與第9點的連接線的交點作為第13點;
S36:通過計算得出第10點與第13點的連接線方程,確定其與上述第一邊界線的交點作為第14點、其與上述m/2條橫線方程的交點作為第15點、其與上述第二邊界線的交點作為第16點;
S37:通過計算得出第11點與第12點的連接線方程,確定其與上述第一邊界線的交點作為第17點、其與上述m/2條橫線方程的交點作為第18點、其與上述第二邊界線的交點作為第19點;
S38:通過計算得出第10點與第11點的連接線方程,確定其與上述第三邊界線的交點作為第20點、其與上述n/2條豎線方程的交點作為第21點、其與上述第四邊界線的交點作為第22點;
S39:通過計算得出第12點與第13點的連接線方程,確定其與上述第三邊界線的交點作為第23點、其與上述n/2條豎線方程的交點作為第24點、其與上述第四邊界線的交點作為第25點;
S40:在由第1點、第14點、第2點、第20點、第10點、第21點、第7點、第10點、第9點組成的區(qū)域、在由第2點、第17點、第3點、第21點、第11點、第22點、第9點、第18點、第8點組成的區(qū)域、在由第7點、第15點、第9點、第23點、第13點、第24點、第4點、第16點、第5點組成的區(qū)域、在由第9點、第18點、第8點、第24點、第12點、第25點、第5點、第19點、第6點組成的區(qū)域,分別通過使用與S32~S39相同的方法進(jìn)行遞歸計算。
另一種基于遞歸算法的棋盤格角點定位方法,包括:
S1:矯正攝像頭;
S2:固定上述攝像頭并且通過上述攝像頭獲取屏幕的整體圖像;
S3:設(shè)置上述棋盤格的有m行和n列,m和n均為大于等于4的偶數(shù);
S4:在上述屏幕上投射全黑信息,通過上述攝像頭獲取第1圖像;
S5:在上述屏幕上投射全白信息,通過上述攝像頭獲取第2圖像;
S6:通過從上述第1圖像減去上述第2圖像,獲得上述屏幕的二值圖;
S7:在上述屏幕上投射以屏幕的第一對角線為準(zhǔn),上部為白色下部為黑色的信息,通過上述攝像頭獲取第3圖像;
S8:在上述屏幕上投射以屏幕的第一對角線為準(zhǔn),上部為黑色下部為白色的信息,通過上述攝像頭獲取第4圖像;
S9:根據(jù)第3圖像和第4圖像獲得第一對角線上的點,由這些點確定第一對角線方程;
S10:在上述屏幕上投射以屏幕的第二對角線為準(zhǔn),上部為白色下部為黑色的信息,通過上述攝像頭獲取第5圖像;
S11:在上述屏幕上投射以屏幕的第二對角線為準(zhǔn),上部為黑色下部為白色的信息,通過上述攝像頭獲取第6圖像;
S12:根據(jù)第5圖像和第6圖像獲得第二對角線上的點,由這些點確定第二對角線方程;
S13:在上述屏幕上投射出長度與屏幕長度相同、高度為i個棋盤格高度的矩形黑色信息,剩于矩形區(qū)域投射白色信息,通過上述攝像頭獲取正向圖像,1≤i≤m-1;
S14:在上述屏幕上投射出長度與屏幕長度相同、高度為m-i個棋盤格高度的矩形白色信息,剩于矩形區(qū)域投射黑色信息,通過上述攝像頭獲取負(fù)向圖像,1≤i≤m-1;
S15:根據(jù)正向圖像和負(fù)向圖像獲得第i行橫線上的點,由這些點確定第i行橫線方程,1≤i≤m-1;
S16:重復(fù)S13-S15,直到獲得m-1條橫線方程;
S17:在上述屏幕上投射出長度與屏幕高度相同、寬度為j個棋盤格寬度的矩形黑色信息,剩于矩形區(qū)域投射白色信息,通過上述攝像頭獲取正向圖像,1≤j≤n-1;
S18:在上述屏幕上投射出長度與屏幕高度相同、寬度為n-j個棋盤格寬度的矩形白色信息,剩于矩形區(qū)域投射黑色信息,通過上述攝像頭獲取負(fù)向圖像,1≤j≤n-1;
S19:根據(jù)正向圖像和負(fù)向圖像獲得第j列豎線上的點,由這些點確定第j列豎線方程,1≤j≤n-1;
S20:重復(fù)S17-S19,直到獲得n-1條豎線方程;
S21:由步驟S15得到的m-1條橫線與步驟S18得到的n-1條豎線形成網(wǎng)格狀圖像;
S22:在上述網(wǎng)格狀圖像中,在第1行橫線與第2行橫線之間任意選取第一四邊形和第二四邊形,各自連接對角線上的兩個點,并且分別求出經(jīng)過上述兩個點的第一直線和第二直線方程;
S23:選擇位于上述第1行橫線之上的,并且上述第一直線、上述第二直線與上述豎線的兩個交點,求出經(jīng)過上述兩個交點的直線方程,得出上述屏幕的第一邊界線;
S24:在上述網(wǎng)格狀圖像中,在第m-1行橫線與第m-2行橫線之間任意選取第三四邊形和第四四邊形,各自連接對角線上的兩個點,并且分別求出經(jīng)過上述兩個點的第三直線和第四直線方程;
S25:選擇位于上述第i行橫線之下的,并且上述第三直線、上述第四直線與上述豎線的兩個交點,求出經(jīng)過上述兩個交點的直線方程,得出上述屏幕的第二邊界線;
S26:選擇上述第一邊界線分別與上述第一對角線、第二對角線相交的兩個交點,選擇上述第二邊界線分別與上述第一對角線、第二對角線相交的兩個交點;
S27:在步驟S26中選擇位于上述第1列豎線之前的兩個交點,求出經(jīng)過上述兩個交點的直線方程,得出上述屏幕的第三邊界線;
S28:在步驟S26中選擇位于上述第n-2列豎線之后的兩個交點,求出經(jīng)過上述兩個交點的直線方程,得出上述屏幕的第四邊界線;
S29:直到得出由m+1條橫線與n+1條豎線交叉形成的棋盤圖以及角點圖像;
S30:找出上述第一邊界線與第二對角線方程的交點作為第1點、上述第一邊界線與上述n/2條豎線方程的交點作為第2點、上述第一邊界線與上述第一對角線方程的交點作為第3點、上述第二邊界線與上述第一對角線方程的交點作為第4點、上述第二邊界線與上述n/2條豎線方程的交點作為第5點、上述第二邊界 線與上述第二對角線方程的交點作為第6點、上述第三邊界線與上述m/2條橫線方程的交點作為第7點、上述第四邊界線與上述m/2條橫線方程的交點作為第8點、上述第一對角線方程與上述第二對角線方程的交點作為第9點;
S31:通過計算得出第2點與上述第7點的連接線方程,確定其與上述第1點與第9點的連接線的交點作為第10點;
S32:通過計算得出第2點與上述第8點的連接線方程,確定其與上述第3點與第9點的連接線的交點作為第11點;
S33:通過計算得出第5點與上述第8點的連接線方程,確定其與上述第6點與第9點的連接線的交點作為第12點;
S34:通過計算得出第5點與上述第7點的連接線方程,確定其與上述第4點與第9點的連接線的交點作為第13點;
S35:通過計算得出第10點與第13點的連接線方程,確定其與上述第一邊界線的交點作為第14點、其與上述m/2條橫線方程的交點作為第15點、其與上述第二邊界線的交點作為第16點;
S36:通過計算得出第11點與第12點的連接線方程,確定其與上述第一邊界線的交點作為第17點、其與上述m/2條橫線方程的交點作為第18點、其與上述第二邊界線的交點作為第19點;
S37:通過計算得出第10點與第11點的連接線方程,確定其與上述第三邊界線的交點作為第20點、其與上述n/2條豎線方程的交點作為第21點、其與上述第四邊界線的交點作為第22點;
S38:通過計算得出第12點與第13點的連接線方程,確定其與上述第三邊界線的交點作為第23點、其與上述n/2條豎線方程的交點作為第24點、其與上述第四邊界線的交點作為第25點;
S39:在由第1點、第14點、第2點、第20點、第10點、第21點、第7點、第10點、第9點組成的區(qū)域、在由第2點、第17點、第3點、第21點、第11點、第22點、第9點、第18點、第8點組成的區(qū)域、在由第7點、第15點、第9點、第23點、第13點、第24點、第4點、第16點、第5點組成的區(qū)域、在由第9點、第18點、第8點、第24點、第12點、第25點、第5點、第19點、第6點組成的區(qū)域,分別通過使用與S31~S38相同的方法進(jìn)行遞歸計算。
附圖說明
圖1為本發(fā)明的獲得第1圖像的仿射示意圖;
圖2為本發(fā)明的獲得第2圖像的仿射示意圖;
圖3為本發(fā)明的通過第1圖像與第2圖像相減獲得的二值圖;
圖4為本發(fā)明的獲得第3圖像的仿射示意圖;
圖5為本發(fā)明的獲得第4圖像的仿射示意圖;
圖6為本發(fā)明的第一對角線;
圖7為本發(fā)明的獲得第5圖像的仿射示意圖;
圖8為本發(fā)明的獲得第6圖像的仿射示意圖;
圖9為本發(fā)明的第二對角線;
圖10為本發(fā)明的獲得正向圖像的仿射示意圖;
圖11為本發(fā)明的獲得負(fù)向圖像的仿射示意圖;
圖12為本發(fā)明的第1行橫線;
圖13為本發(fā)明的獲得正向圖像的仿射示意圖;
圖14為本發(fā)明的獲得負(fù)向圖像的仿射示意圖;
圖15為本發(fā)明的第2行橫線;
圖16為本發(fā)明的獲得正向圖像的仿射示意圖;
圖17為本發(fā)明的獲得負(fù)向圖像的仿射示意圖;
圖18為本發(fā)明的第3行橫線;
圖19為本發(fā)明的獲得正向圖像的仿射示意圖;
圖20為本發(fā)明的獲得負(fù)向圖像的仿射示意圖;
圖21為本發(fā)明的第一列豎線;
圖22為獲得正向圖像的仿射示意圖;
圖23為獲得負(fù)向圖像的仿射示意圖;
圖24為第二列豎線;
圖25為獲得正向圖像的仿射示意圖;
圖26為獲得負(fù)向圖像的仿射示意圖;
圖27.第三列豎線;
圖28為第一直線與第二直線與豎線相交;
圖29為第一邊界線;
圖30為通過本發(fā)明的標(biāo)定方法得到的棋盤格及其角點;
圖31為第一對角線和第二對角線同時與第一邊界線和第二邊界線相交;
圖32為通過本發(fā)明的另一種計算方法得到的棋盤格及其角點;
圖33為通過本發(fā)明的方法確定9個點;
圖34為通過本發(fā)明的方法確定第10點;
圖35為通過本發(fā)明的方法確定第11點;
圖36為通過本發(fā)明的方法確定第12點;
圖37為通過本發(fā)明的方法確定第13點;
圖38為通過本發(fā)明的方法確定第14-16點;
圖39為通過本發(fā)明的方法確定第17-19點;
圖40為通過本發(fā)明的方法確定第20-22點;
圖41為通過本發(fā)明的方法確定第23-25點。
具體實施方式
以下結(jié)合具體實施方式進(jìn)一步詳細(xì)說明本發(fā)明的技術(shù)方案。應(yīng)當(dāng)理解,此處描述的具體實施方式僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
一種基于遞歸算法的棋盤格角點定位方法,包括:
S1:矯正攝像頭;
S2:固定上述攝像頭并且通過上述攝像頭獲取屏幕的整體圖像;
S3:設(shè)置上述棋盤格的有m行和n列;
S4:在上述屏幕上投射全黑信息,通過上述攝像頭獲取第1圖像;
S5:在上述屏幕上投射全白信息,通過上述攝像頭獲取第2圖像;
S6:通過從上述第1圖像減去上述第2圖像,獲得上述屏幕的二值圖;
S7:在上述屏幕上投射以屏幕的第一對角線為準(zhǔn),上部為白色下部為黑色的信息,通過上述攝像頭獲取第3圖像;
S8:在上述屏幕上投射以屏幕的第一對角線為準(zhǔn),上部為黑色下部為白色的信息,通過上述攝像頭獲取第4圖像;
S9:根據(jù)第3圖像和第4圖像獲得第一對角線上的點,由這些點確定第一對角線方程;
S10:在上述屏幕上投射以屏幕的第二對角線為準(zhǔn),上部為白色下部為黑色的信息,通過上述攝像頭獲取第5圖像;
S11:在上述屏幕上投射以屏幕的第二對角線為準(zhǔn),上部為黑色下部為白色的信息,通過上述攝像頭獲取第6圖像;
S12:根據(jù)第5圖像和第6圖像獲得第二對角線上的點,由這些點確定第二對角線方程;
S13:在上述屏幕上投射出長度與屏幕長度相同、高度為i個棋盤格高度的矩形黑色信息,剩于矩形區(qū)域投射白色信息,通過上述攝像頭獲取正向圖像,1≤i≤m-1;
S14:在上述屏幕上投射出長度與屏幕長度相同、高度為m-i個棋盤格高度的矩形白色信息,剩于矩形區(qū)域投射黑色信息,通過上述攝像頭獲取負(fù)向圖像,1≤i≤m-1;
S15:根據(jù)正向圖像和負(fù)向圖像獲得第i行橫線上的點,由這些點確定第i行橫線方程,1≤i≤m-1;
S16:重復(fù)S13-S15,直到獲得m-1條橫線方程;
S17:在上述屏幕上投射出長度與屏幕高度相同、寬度為j個棋盤格寬度的矩形黑色信息,剩于矩形區(qū)域投射白色信息,通過上述攝像頭獲取正向圖像,1≤j≤n-1;
S18:在上述屏幕上投射出長度與屏幕高度相同、寬度為n-j個棋盤格寬度的矩形白色信息,剩于矩形區(qū)域投射黑色信息,通過上述攝像頭獲取負(fù)向圖像,1≤j≤n-1;
S19:根據(jù)正向圖像和負(fù)向圖像獲得第j列豎線上的點,由這些點確定第j列豎線方程,1≤j≤n-1;
S20:重復(fù)S17-S19,直到獲得n-1條豎線方程;
S21:由步驟S15得到的m-1條橫線與步驟S18得到的n-1條豎線形成網(wǎng)格狀圖像;
S22:在上述網(wǎng)格狀圖像中,在第1行橫線與第2行橫線之間任意選取第一四邊形和第二四邊形,各自連接對角線上的兩個點,并且分別求出經(jīng)過上述兩個點的第一直線和第二直線方程;
S23:選擇位于上述第1行橫線之上的,并且上述第一直線、上述第二直線與上述豎線的兩個交點,求出經(jīng)過上述兩個交點的直線方程,得出上述屏幕的第一邊界線;
S24:在上述網(wǎng)格狀圖像中,在第m-1行橫線與第m-2行橫線之間任意選取第三四邊形和第四四邊形,各自連接對角線上的兩個點,并且分別求出經(jīng)過上述兩個點的第三直線和第四直線方程;
S25:選擇位于上述第i行橫線之下的,并且上述第三直線、上述第四直線與上述豎線的兩個交點,求出經(jīng)過上述兩個交點的直線方程,得出上述屏幕的第二邊界線;
S26:在上述網(wǎng)格狀圖像中,在第1列豎線與第2列豎線之間任意選取第五四邊形和第六四邊形,各自連接對角線上的兩個點,并且分別求出經(jīng)過上述兩個點的第五直線和第六直線方程;
S27:選擇位于上述第1列豎線之前的,并且上述第五直線、上述第六直線與上述橫線的兩個交點,求出經(jīng)過上述兩個交點的直線方程,得出上述屏幕的第三邊界線;
S28:在上述網(wǎng)格狀圖像中,在第n-1列豎線與第n-2列豎線之間任意選取第七四邊形和第八四邊形,各自連接對角線上的兩個點,并且分別求出經(jīng)過上述兩個點的第七直線和第八直線方程;
S29:選擇位于上述第n-1列豎線之后的,并且上述第七直線、上述第八直線與上述橫線的兩個交點,求出經(jīng)過上述兩個交點的直線方程,得出上述屏幕的第四邊界線;
S30:直到得出由m+1條橫線與n+1條豎線交叉形成的棋盤圖以及角點圖像;
S31:找出上述第一邊界線與第二對角線方程的交點作為第1點、上述第一邊界線與上述n/2條豎線方程的交點作為第2點、上述第一邊界線與上述第一對角線方程的交點作為第3點、上述第二邊界線與上述第一對角線方程的交點作為第4點、上述第二邊界線與上述n/2條豎線方程的交點作為第5點、上述第二邊界線與上述第二對角線方程的交點作為第6點、上述第三邊界線與上述m/2條橫線方程的交點作為第7點、上述第四邊界線與上述m/2條橫線方程的交點作為第8點、上述第一對角線方程與上述第二對角線方程的交點作為第9點;
S32:通過計算得出第2點與上述第7點的連接線方程,確定其與上述第1點與第9點的連接線的交點作為第10點;
S33:通過計算得出第2點與上述第8點的連接線方程,確定其與上述第3點與第9點的連接線的交點作為第11點;
S34:通過計算得出第5點與上述第8點的連接線方程,確定其與上述第6點與第9點的連接線的交點作為第12點;
S35:通過計算得出第5點與上述第7點的連接線方程,確定其與上述第4點與第9點的連接線的交點作為第13點;
S36:通過計算得出第10點與第13點的連接線方程,確定其與上述第一邊界線的交點作為第14點、其與上述m/2條橫線方程的交點作為第15點、其與上述第二邊界線的交點作為第16點;
S37:通過計算得出第11點與第12點的連接線方程,確定其與上述第一邊界線的交點作為第17點、其與上述m/2條橫線方程的交點作為第18點、其與上述第二邊界線的交點作為第19點;
S38:通過計算得出第10點與第11點的連接線方程,確定其與上述第三邊界線的交點作為第20點、其與上述n/2條豎線方程的交點作為第21點、其與上述第四邊界線的交點作為第22點;
S39:通過計算得出第12點與第13點的連接線方程,確定其與上述第三邊界線的交點作為第23點、其與上述n/2條豎線方程的交點作為第24點、其與上述第四邊界線的交點作為第25點;
S40:在由第1點、第14點、第2點、第20點、第10點、第21點、第7點、第10點、第9點組成的區(qū)域、在由第2點、第17點、第3點、第21點、第11點、第22點、第9點、第18點、第8點組成的區(qū)域、在由第7點、第15點、第9點、第23點、第13點、第24點、第4點、第16點、第5點組成的區(qū)域、在由第9點、第18點、第8點、第24點、第12點、第25點、第5點、第19點、第6點組成的區(qū)域,分別通過使用與S32~S39相同的方法進(jìn)行遞歸計算。
另一種基于遞歸算法的棋盤格角點定位方法,包括:
S1:矯正攝像頭;
S2:固定上述攝像頭并且通過上述攝像頭獲取屏幕的整體圖像;
S3:設(shè)置上述棋盤格的有m行和n列;
S4:在上述屏幕上投射全黑信息,通過上述攝像頭獲取第1圖像;
S5:在上述屏幕上投射全白信息,通過上述攝像頭獲取第2圖像;
S6:通過從上述第1圖像減去上述第2圖像,獲得上述屏幕的二值圖;
S7:在上述屏幕上投射以屏幕的第一對角線為準(zhǔn),上部為白色下部為黑色的信息,通過上述攝像頭獲取第3圖像;
S8:在上述屏幕上投射以屏幕的第一對角線為準(zhǔn),上部為黑色下部為白色的信息,通過上述攝像頭獲取第4圖像;
S9:根據(jù)第3圖像和第4圖像獲得第一對角線上的點,由這些點確定第一對角線方程;
S10:在上述屏幕上投射以屏幕的第二對角線為準(zhǔn),上部為白色下部為黑色的信息,通過上述攝像頭獲取第5圖像;
S11:在上述屏幕上投射以屏幕的第二對角線為準(zhǔn),上部為黑色下部為白色的信息,通過上述攝像頭獲取第6圖像;
S12:根據(jù)第5圖像和第6圖像獲得第二對角線上的點,由這些點確定第二對角線方程;
S13:在上述屏幕上投射出長度與屏幕長度相同、高度為i個棋盤格高度的矩形黑色信息,剩于矩形區(qū)域投射白色信息,通過上述攝像頭獲取正向圖像,1≤i≤m-1;
S14:在上述屏幕上投射出長度與屏幕長度相同、高度為m-i個棋盤格高度的矩形白色信息,剩于矩形區(qū)域投射黑色信息,通過上述攝像頭獲取負(fù)向圖像,1≤i≤m-1;
S15:根據(jù)正向圖像和負(fù)向圖像獲得第i行橫線上的點,由這些點確定第i行橫線方程,1≤i≤m-1;
S16:重復(fù)S13-S15,直到獲得m-1條橫線方程;
S17:在上述屏幕上投射出長度與屏幕高度相同、寬度為j個棋盤格寬度的矩形黑色信息,剩于矩形區(qū)域投射白色信息,通過上述攝像頭獲取正向圖像,1≤j≤n-1;
S18:在上述屏幕上投射出長度與屏幕高度相同、寬度為n-j個棋盤格寬度的矩形白色信息,剩于矩形區(qū)域投射黑色信息,通過上述攝像頭獲取負(fù)向圖像,1≤j≤n-1;
S19:根據(jù)正向圖像和負(fù)向圖像獲得第j列豎線上的點,由這些點確定第j列豎線方程,1≤j≤n-1;
S20:重復(fù)S17-S19,直到獲得n-1條豎線方程;
S21:由步驟S15得到的m-1條橫線與步驟S18得到的n-1條豎線形成網(wǎng)格狀圖像;
S22:在上述網(wǎng)格狀圖像中,在第1行橫線與第2行橫線之間任意選取第一四邊形和第二四邊形,各自連接對角線上的兩個點,并且分別求出經(jīng)過上述兩個點的第一直線和第二直線方程;
S23:選擇位于上述第1行橫線之上的,并且上述第一直線、上述第二直線與上述豎線的兩個交點,求出經(jīng)過上述兩個交點的直線方程,得出上述屏幕的第一邊界線;
S24:在上述網(wǎng)格狀圖像中,在第m-1行橫線與第m-2行橫線之間任意選取第三四邊形和第四四邊形,各 自連接對角線上的兩個點,并且分別求出經(jīng)過上述兩個點的第三直線和第四直線方程;
S25:選擇位于上述第i行橫線之下的,并且上述第三直線、上述第四直線與上述豎線的兩個交點,求出經(jīng)過上述兩個交點的直線方程,得出上述屏幕的第二邊界線;
S26:選擇上述第一邊界線分別與上述第一對角線、第二對角線相交的兩個交點,選擇上述第二邊界線分別與上述第一對角線、第二對角線相交的兩個交點;
S27:在步驟S26中選擇位于上述第1列豎線之前的兩個交點,求出經(jīng)過上述兩個交點的直線方程,得出上述屏幕的第三邊界線;
S28:在步驟S26中選擇位于上述第n-2列豎線之后的兩個交點,求出經(jīng)過上述兩個交點的直線方程,得出上述屏幕的第四邊界線;
S29:直到得出由m+1條橫線與n+1條豎線交叉形成的棋盤圖以及角點圖像;
S30:找出上述第一邊界線與第二對角線方程的交點作為第1點、上述第一邊界線與上述n/2條豎線方程的交點作為第2點、上述第一邊界線與上述第一對角線方程的交點作為第3點、上述第二邊界線與上述第一對角線方程的交點作為第4點、上述第二邊界線與上述n/2條豎線方程的交點作為第5點、上述第二邊界線與上述第二對角線方程的交點作為第6點、上述第三邊界線與上述m/2條橫線方程的交點作為第7點、上述第四邊界線與上述m/2條橫線方程的交點作為第8點、上述第一對角線方程與上述第二對角線方程的交點作為第9點;
S31:通過計算得出第2點與上述第7點的連接線方程,確定其與上述第1點與第9點的連接線的交點作為第10點;
S32:通過計算得出第2點與上述第8點的連接線方程,確定其與上述第3點與第9點的連接線的交點作為第11點;
S33:通過計算得出第5點與上述第8點的連接線方程,確定其與上述第6點與第9點的連接線的交點作為第12點;
S34:通過計算得出第5點與上述第7點的連接線方程,確定其與上述第4點與第9點的連接線的交點作為第13點;
S35:通過計算得出第10點與第13點的連接線方程,確定其與上述第一邊界線的交點作為第14點、其與上述m/2條橫線方程的交點作為第15點、其與上述第二邊界線的交點作為第16點;
S36:通過計算得出第11點與第12點的連接線方程,確定其與上述第一邊界線的交點作為第17點、其與上述m/2條橫線方程的交點作為第18點、其與上述第二邊界線的交點作為第19點;
S37:通過計算得出第10點與第11點的連接線方程,確定其與上述第三邊界線的交點作為第20點、其與上述n/2條豎線方程的交點作為第21點、其與上述第四邊界線的交點作為第22點;
S38:通過計算得出第12點與第13點的連接線方程,確定其與上述第三邊界線的交點作為第23點、其與上述n/2條豎線方程的交點作為第24點、其與上述第四邊界線的交點作為第25點;
S39:在由第1點、第14點、第2點、第20點、第10點、第21點、第7點、第10點、第9點組成的區(qū)域、在由第2點、第17點、第3點、第21點、第11點、第22點、第9點、第18點、第8點組成的區(qū)域、在由第7點、第15點、第9點、第23點、第13點、第24點、第4點、第16點、第5點組成的區(qū)域、在由第9點、第18點、第8點、第24點、第12點、第25點、第5點、第19點、第6點組成的區(qū)域,分別通過使用與S31~S38相同的方法進(jìn)行遞歸計算。
為了便于說明本發(fā)明的具體技術(shù)方案,現(xiàn)m取4,n取4為例子進(jìn)行詳細(xì)說明。應(yīng)當(dāng)理解,此處描述的具體實施方式僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明提供一種基于遞歸算法的棋盤格角點定位方法,包括:
S1:矯正攝像頭。
S2:固定上述攝像頭并且通過上述攝像頭獲取屏幕的整體圖像。
S3:設(shè)置上述棋盤格的有4行和4列。
圖1為本發(fā)明的獲得第1圖像的仿射示意圖,如圖1所示,
S4:在上述屏幕上投射全黑信息,通過上述攝像頭獲取第1圖像。
圖2為本發(fā)明的獲得第2圖像的仿射示意圖,如圖2所示,
S5:在上述屏幕上投射全白信息,通過上述攝像頭獲取第2圖像。
圖3為本發(fā)明的通過第1圖像與第2圖像相減獲得的二值圖,如圖3所示,
S6:通過從上述第1圖像減去上述第2圖像,獲得上述屏幕的二值圖。
圖4為本發(fā)明的獲得第3圖像的仿射示意圖,如圖4所示,
S7:在上述屏幕上投射以屏幕的第一對角線為準(zhǔn),上部為白色下部為黑色的信息,通過上述攝像頭獲取第3圖像。
圖5為本發(fā)明的獲得第4圖像的仿射示意圖,如圖5所示,
S8:在上述屏幕上投射以屏幕的第一對角線為準(zhǔn),上部為黑色下部為白色的信息,通過上述攝像頭獲取第4圖像。
圖6為本發(fā)明的第一對角線,如圖6所示,
S9:根據(jù)第3圖像和第4圖像獲得第一對角線上的點,由這些點確定第一對角線方程C1。
圖7為本發(fā)明的獲得第5圖像的仿射示意圖,如圖7所示,
S10:在上述屏幕上投射以屏幕的第二對角線為準(zhǔn),上部為白色下部為黑色的信息,通過上述攝像頭獲取第5圖像。
圖8為本發(fā)明的獲得第6圖像的仿射示意圖,如圖8所示,
S11:在上述屏幕上投射以屏幕的第二對角線為準(zhǔn),上部為黑色下部為白色的信息,通過上述攝像頭獲取第6圖像。
圖9為本發(fā)明的第二對角線,如圖9所示,
S12:根據(jù)第5圖像和第6圖像獲得第二對角線上的點,由這些點確定第二對角線方程C2。
圖10為本發(fā)明的獲得正向圖像的仿射示意圖,如圖10所示,
S13:在上述屏幕上投射出長度與屏幕長度相同、高度為1個棋盤格高度的矩形黑色信息,剩于矩形區(qū)域投射白色信息,通過上述攝像頭獲取正向圖像。
圖11為本發(fā)明的獲得負(fù)向圖像的仿射示意圖,如圖11所示,
S14:在上述屏幕上投射出長度與屏幕長度相同、高度為3個棋盤格高度的矩形白色信息,剩于矩形區(qū)域投射黑色信息,通過上述攝像頭獲取負(fù)向圖像。
圖12為本發(fā)明的第1行橫線,如圖12所示,
S15:根據(jù)正向圖像和負(fù)向圖像獲得第1行橫線方程L1。
圖13為本發(fā)明的獲得正向圖像的仿射示意圖,如圖13所示,
S16:在上述屏幕上投射出長度與屏幕長度相同、高度為2個棋盤格高度的矩形黑色信息,剩于矩形區(qū)域投射白色信息,通過上述攝像頭獲取正向圖像。
圖14為本發(fā)明的獲得負(fù)向圖像的仿射示意圖,如圖14所示,
S17:在上述屏幕上投射出長度與屏幕長度相同、高度為2個棋盤格高度的矩形白色信息,剩于矩形區(qū)域投射黑色信息,通過上述攝像頭獲取負(fù)向圖像。
圖15為本發(fā)明的第2行橫線,如圖15所示,
S18:根據(jù)正向圖像和負(fù)向圖像獲得第2行橫線方程L2。
圖16為本發(fā)明的獲得正向圖像的仿射示意圖,如圖16所示,
S19:在上述屏幕上投射出長度與屏幕長度相同、高度為3個棋盤格高度的矩形黑色信息,剩于矩形區(qū)域投射白色信息,通過上述攝像頭獲取正向圖像。
圖17為本發(fā)明的獲得負(fù)向圖像的仿射示意圖,如圖17所示,
S20:在上述屏幕上投射出長度與屏幕長度相同、寬度為1個棋盤格高度的矩形白色信息,剩于矩形區(qū)域投射黑色信息,通過上述攝像頭獲取負(fù)向圖像。
圖18為本發(fā)明的第3行橫線,如圖18所示,
S21:根據(jù)正向圖像和負(fù)向圖像獲得第3行橫線方程L3。
圖19為本發(fā)明的獲得正向圖像的仿射示意圖,如圖19所示,
S22:在上述屏幕上投射出長度與屏幕高度相同、寬度為1個棋盤格寬度的矩形黑色信息,剩于矩形區(qū)域投射白色信息,通過上述攝像頭獲取正向圖像。
圖20為本發(fā)明的獲得負(fù)向圖像的仿射示意圖,如圖20所示,
S23:在上述屏幕上投射出長度與屏幕高度相同、寬度為4個棋盤格寬度的矩形白色信息,剩于矩形區(qū)域投射黑色信息,通過上述攝像頭獲取負(fù)向圖像。
圖21為本發(fā)明的第1列豎線,如圖21所示,
S24:根據(jù)正向圖像和負(fù)向圖像獲得第1列豎線方程R1。
圖22為本發(fā)明的獲得正向圖像的仿射示意圖,如圖22所示,
S25:在上述屏幕上投射出長度與屏幕高度相同、寬度為2個棋盤格寬度的矩形黑色信息,剩于矩形區(qū)域投射白色信息,通過上述攝像頭獲取正向圖像。
圖23為本發(fā)明的獲得負(fù)向圖像的仿射示意圖,如圖23所示,
S26:在上述屏幕上投射出長度與屏幕高度相同、寬度為3個棋盤格寬度的矩形白色信息,剩于矩形區(qū)域投射黑色信息,通過上述攝像頭獲取負(fù)向圖像。
圖24為本發(fā)明的第2列豎線,如圖24所示,
S27:根據(jù)正向圖像和負(fù)向圖像獲得第2列豎線方程R2。
圖25為本發(fā)明的獲得正向圖像的仿射示意圖,如圖25所示,
S28:在上述屏幕上投射出長度與屏幕高度相同、寬度為3個棋盤格寬度的矩形黑色信息,剩于矩形區(qū)域投射白色信息,通過上述攝像頭獲取正向圖像。
圖26為本發(fā)明的獲得負(fù)向圖像的仿射示意圖,如圖26所示,
S29:在上述屏幕上投射出長度與屏幕高度相同、寬度為2個棋盤格寬度的矩形白色信息,剩于矩形區(qū)域投射黑色信息,通過上述攝像頭獲取負(fù)向圖像。
圖27為本發(fā)明的第3列豎線,如圖27所示,
S30:根據(jù)正向圖像和負(fù)向圖像獲得第3列豎線方程R3。
S31:由3條橫線與3條豎線形成均勻分割的網(wǎng)格狀圖像。
圖28為本發(fā)明的第一直線與第二直線與豎線相交,如圖28所示,
S32:在上述網(wǎng)格狀圖像中,在第1行橫線L1與第2行橫線L2之間任意選取第一四邊形和第二四邊形,求出經(jīng)過第一四邊形對角線上的兩個點Q1、Q2的第一直線方程H1,求出經(jīng)過第二四邊形對角線上的兩個點Q1、Q3的第二直線方程線H2。
圖29為本發(fā)明的第一邊界線,如圖29所示,
S33:選擇位于上述第1行橫線L1之上的,并且上述第一直線H1、上述第二直線H2與上述豎線R2、R4的兩個交點A、B,求出經(jīng)過上述兩個交點A、B的直線方程,得出上述屏幕的第一邊界線K1;
S34:與S35-S36相同的原理,在上述網(wǎng)格狀圖像中,在第3行橫線L3與第2行橫線L2之間任意選取第三四邊形和第四四邊形,各自連接對角線上的兩個點,并且分別求出經(jīng)過上述兩個點的第三直線和第四直線方程(圖中未畫出)。
S35:選擇位于上述第3行橫線L3之下的,并且上述第三直線、上述第四直線與上述豎線的兩個交點,求出經(jīng)過上述兩個交點的直線方程,得出上述屏幕的第二邊界線K2(參考圖30)。
S36:在與S35-S36相同的原理,上述網(wǎng)格狀圖像中,在第1列豎線R1與第2列豎線R2之間任意選取第五四邊形和第六四邊形,各自連接對角線上的兩個點,并且分別求出經(jīng)過上述兩個點的第五直線和第六直線方程(圖中未畫出)。
S37:選擇位于上述第1列豎線R1之前的,并且上述第五直線、上述第六直線與上述橫線的兩個交點,求出經(jīng)過上述兩個交點的直線方程,得出上述屏幕的第三邊界線K3(參考圖30)。
S38:與S32-S33相同的原理,在上述網(wǎng)格狀圖像中,在第3列豎線R4與第3列豎線R3之間任意選取第七四邊形和第八四邊形,各自連接對角線上的兩個點,并且分別求出經(jīng)過上述兩個點的第七直線和第八直線方程(圖中未畫出);
S39:選擇位于上述第3列豎線R3之后的,并且上述第七直線、上述第八直線與上述橫線的兩個交點,求 出經(jīng)過上述兩個交點的直線方程,得出上述屏幕的第四邊界線K4(參考圖30)。
圖30為本發(fā)明的通過本發(fā)明的標(biāo)定方法得到的棋盤格及其角點,如圖30所示,
S40:最后得出由5條橫線與6條豎線交叉形成的棋盤圖以及角點圖像。
求出第二邊界線K2、第三邊界線K3以及第四邊界線K4的方法與求出上述第一邊界線K1的方法是相同的,故不畫附圖。
圖33為通過本發(fā)明的方法確定9個點,如圖33所示,
S41:找出上述第一邊界線K1與第二對角線C2方程的交點作為第1點1、上述第一邊界線K1與上述第2條豎線方程R2的交點作為第2點2、上述第一邊界線K1與上述第一對角線方程C1的交點作為第3點3、上述第二邊界線K2與上述第一對角線方程C1的交點作為第4點4、上述第二邊界線K2與上述第2條豎線方程R2的交點作為第5點5、上述第二邊界線K2與上述第二對角線方程C2的交點作為第6點6、上述第三邊界線K3與上述第2條橫線方程L2的交點作為第7點7、上述第四邊界線K4與上述第2條橫線方程L2的交點作為第8點8、上述第一對角線方程C1與上述第二對角線方程C2的交點作為第9點9;
圖34為通過本發(fā)明的方法確定第10點,如圖34所示,
S42:通過計算得出第2點2與上述第7點7的連接線方程,確定其與上述第1點1與第9點9的連接線的交點作為第10點10;
圖35為通過本發(fā)明的方法確定第11點,如圖35所示,
S43:通過計算得出第2點2與上述第8點8的連接線方程,確定其與上述第3點3與第9點9的連接線的交點作為第11點11;
圖36為通過本發(fā)明的方法確定第12點,如圖36所示,
S44:通過計算得出第5點5與上述第8點8的連接線方程,確定其與上述第6點6與第9點9的連接線的交點作為第12點12;
圖37為通過本發(fā)明的方法確定第13點;如圖37所示,
S45:通過計算得出第5點5與上述第7點7的連接線方程,確定其與上述第4點4與第9點9的連接線的交點作為第13點13;
圖38為通過本發(fā)明的方法確定第14-16點,如圖38所示,
S46:通過計算得出第10點10與第13點13的連接線方程,確定其與上述第一邊界線K1的交點作為第14點14、其與上述第2條橫線方程L2的交點作為第15點15、其與上述第二邊界線k2的交點作為第16點16;
圖39為通過本發(fā)明的方法確定第17-19點,如圖39所示,
S47:通過計算得出第11點11與第12點12的連接線方程,確定其與上述第一邊界線K1的交點作為第17點17、其與上述第2條橫線方程L2的交點作為第18點18、其與上述第二邊界線K2的交點作為第19點19;
圖40為通過本發(fā)明的方法確定第20-22點,如圖40所示,
S48:通過計算得出第10點10與第11點11的連接線方程,確定其與上述第三邊界線K3的交點作為第20點20、其與上述第2條豎線方程R2的交點作為第21點21、其與上述第四邊界線K4的交點作為第22點22;
圖41為通過本發(fā)明的方法確定第23-25點,如圖41所示,
S49:通過計算得出第12點12與第13點13的連接線方程,確定其與上述第三邊界線K3的交點作為第23點23、其與上述第2條豎線方程R2的交點作為第24點24、其與上述第四邊界線K4的交點作為第25點25;
S50:在由第1點、第14點、第2點、第20點、第10點、第21點、第7點、第10點、第9點組成的區(qū)域、在由第2點、第17點、第3點、第21點、第11點、第22點、第9點、第18點、第8點組成的區(qū)域、在由第7點、第15點、第9點、第23點、第13點、第24點、第4點、第16點、第5點組成的區(qū)域、在由第9點、第18點、第8點、第24點、第12點、第25點、第5點、第19點、第6點組成的區(qū)域,分別通過使用與S41~S49相同的方法進(jìn)行遞歸計算。
本發(fā)明提供另一種基于遞歸算法的棋盤格角點定位方法,包括:
S1:矯正攝像頭;
S2:固定上述攝像頭并且通過上述攝像頭獲取屏幕的整體圖像;
S3:設(shè)置上述棋盤格的有4行和5列;
圖1為本發(fā)明的獲得第1圖像的仿射示意圖,如圖1所示,
S4:在上述屏幕上投射全黑信息,通過上述攝像頭獲取第1圖像;
圖2為本發(fā)明的獲得第2圖像的仿射示意圖,如圖2所示,
S5:在上述屏幕上投射全白信息,通過上述攝像頭獲取第2圖像;
圖3為本發(fā)明的通過第1圖像與第2圖像相減獲得的二值圖,如圖3所示,
S6:通過從上述第1圖像減去上述第2圖像,獲得上述屏幕的二值圖;
圖4為本發(fā)明的獲得第3圖像的仿射示意圖,如圖4所示,
S7:在上述屏幕上投射以屏幕的第一對角線為準(zhǔn),上部為白色下部為黑色的信息,通過上述攝像頭獲取第3圖像;
圖5為本發(fā)明的獲得第4圖像的仿射示意圖,如圖5所示,
S8:在上述屏幕上投射以屏幕的第一對角線為準(zhǔn),上部為黑色下部為白色的信息,通過上述攝像頭獲取第4圖像;
圖6為本發(fā)明的第一對角線,如圖6所示,
S9:根據(jù)第3圖像和第4圖像獲得第一對角線上的點,由這些點確定第一對角線方程C1;
圖7為本發(fā)明的獲得第5圖像的仿射示意圖,如圖7所示,
S10:在上述屏幕上投射以屏幕的第二對角線為準(zhǔn),上部為白色下部為黑色的信息,通過上述攝像頭獲取第5圖像;
圖8為本發(fā)明的獲得第6圖像的仿射示意圖,如圖8所示,
S11:在上述屏幕上投射以屏幕的第二對角線為準(zhǔn),上部為黑色下部為白色的信息,通過上述攝像頭獲取第6圖像;
圖9為本發(fā)明的第二對角線,如圖9所示,
S12:根據(jù)第5圖像和第6圖像獲得第二對角線上的點,由這些點確定第二對角線方程C2;
圖10為本發(fā)明的獲得正向圖像的仿射示意圖,如圖10所示,
S13:在上述屏幕上投射出長度與屏幕長度相同、高度為1個棋盤格高度的矩形黑色信息,剩于矩形區(qū)域投射白色信息,通過上述攝像頭獲取正向圖像;
圖11為本發(fā)明的獲得負(fù)向圖像的仿射示意圖,如圖11所示,
S14:在上述屏幕上投射出長度與屏幕長度相同、高度為3個棋盤格高度的矩形白色信息,剩于矩形區(qū)域投射黑色信息,通過上述攝像頭獲取負(fù)向圖像;
圖12為本發(fā)明的第1行橫線,如圖12所示,
S15:根據(jù)正向圖像和負(fù)向圖像獲得第1行橫線方程L1;
圖13為本發(fā)明的獲得正向圖像的仿射示意圖,如圖13所示,
S16:在上述屏幕上投射出長度與屏幕長度相同、高度為2個棋盤格高度的矩形黑色信息,剩于矩形區(qū)域投射白色信息,通過上述攝像頭獲取正向圖像;
圖14為本發(fā)明的獲得負(fù)向圖像的仿射示意圖,如圖14所示,
S17:在上述屏幕上投射出長度與屏幕長度相同、高度為2個棋盤格高度的矩形白色信息,剩于矩形區(qū)域投射黑色信息,通過上述攝像頭獲取負(fù)向圖像;
圖15為本發(fā)明的第2行橫線,如圖15所示,
S18:根據(jù)正向圖像和負(fù)向圖像獲得第2行橫線方程L2;
圖16為本發(fā)明的獲得正向圖像的仿射示意圖,如圖16所示,
S19:在上述屏幕上投射出長度與屏幕長度相同、高度為3個棋盤格高度的矩形黑色信息,剩于矩形區(qū)域投射白色信息,通過上述攝像頭獲取正向圖像;
圖17為本發(fā)明的獲得負(fù)向圖像的仿射示意圖,如圖17所示,
S20:在上述屏幕上投射出長度與屏幕長度相同、寬度為1個棋盤格高度的矩形白色信息,剩于矩形區(qū)域投射黑色信息,通過上述攝像頭獲取負(fù)向圖像;
圖18為本發(fā)明的第3行橫線,如圖18所示,
S21:根據(jù)正向圖像和負(fù)向圖像獲得第3行橫線方程L3;
圖19為本發(fā)明的獲得正向圖像的仿射示意圖,如圖19所示,
S22:在上述屏幕上投射出長度與屏幕高度相同、寬度為1個棋盤格寬度的矩形黑色信息,剩于矩形區(qū)域投射白色信息,通過上述攝像頭獲取正向圖像;
圖20為本發(fā)明的獲得負(fù)向圖像的仿射示意圖,如圖20所示,
S23:在上述屏幕上投射出長度與屏幕高度相同、寬度為4個棋盤格寬度的矩形白色信息,剩于矩形區(qū)域投射黑色信息,通過上述攝像頭獲取負(fù)向圖像;
圖21為本發(fā)明的第1列豎線,如圖21所示,
S24:根據(jù)正向圖像和負(fù)向圖像獲得第1列豎線方程R1;
圖22為本發(fā)明的獲得正向圖像的仿射示意圖,如圖22所示,
S25:在上述屏幕上投射出長度與屏幕高度相同、寬度為2個棋盤格寬度的矩形黑色信息,剩于矩形區(qū)域投射白色信息,通過上述攝像頭獲取正向圖像;
圖23為本發(fā)明的獲得負(fù)向圖像的仿射示意圖,如圖23所示,
S26:在上述屏幕上投射出長度與屏幕高度相同、寬度為3個棋盤格寬度的矩形白色信息,剩于矩形區(qū)域投射黑色信息,通過上述攝像頭獲取負(fù)向圖像;
圖24為本發(fā)明的第2列豎線,如圖24所示,
S27:根據(jù)正向圖像和負(fù)向圖像獲得第2列豎線方程R2;
圖25為本發(fā)明的獲得正向圖像的仿射示意圖,如圖25所示,
S28:在上述屏幕上投射出長度與屏幕高度相同、寬度為3個棋盤格寬度的矩形黑色信息,剩于矩形區(qū)域投射白色信息,通過上述攝像頭獲取正向圖像;
圖26為本發(fā)明的獲得負(fù)向圖像的仿射示意圖,如圖26所示,
S29:在上述屏幕上投射出長度與屏幕高度相同、寬度為2個棋盤格寬度的矩形白色信息,剩于矩形區(qū)域投射黑色信息,通過上述攝像頭獲取負(fù)向圖像;
圖27為本發(fā)明的第3列豎線,如圖27所示,
S30:根據(jù)正向圖像和負(fù)向圖像獲得第3列豎線方程R3;
S31:由3條橫線與3條豎線形成均勻分割的網(wǎng)格狀圖像;
圖28為本發(fā)明的第一直線與第二直線與豎線相交,如圖28所示,
S32:在上述網(wǎng)格狀圖像中,在第1行橫線L1與第2行橫線L2之間任意選取第一四邊形和第二四邊形,求出經(jīng)過第一四邊形對角線上的兩個點Q1、Q2的第一直線方程H1,求出經(jīng)過第二四邊形對角線上的兩個點Q1、Q3的第二直線方程線H2;
圖29為本發(fā)明的第一邊界線,如圖29所示,
S33:選擇位于上述第1行橫線L1之上的,并且上述第一直線H1、上述第二直線H2與上述豎線R2、R3的兩個交點A、B,求出經(jīng)過上述兩個交點A、B的直線方程,得出上述屏幕的第一邊界線K1;
S34:與S32-S33相同的原理,在上述網(wǎng)格狀圖像中,在第3行橫線L3與第2行橫線L2之間任意選取第三四邊形和第四四邊形,各自連接對角線上的兩個點,并且分別求出經(jīng)過上述兩個點的第三直線和第四直線方程(圖中未畫出);
S35:選擇位于上述第3行橫線L3之下的,并且上述第三直線、上述第四直線與上述豎線的兩個交點,求出經(jīng)過上述兩個交點的直線方程,得出上述屏幕的第二邊界線K2(參考圖32);
圖31為本發(fā)明的第一對角線和第二對角線同時與第一邊界線和第二邊界線相交,如圖30所示,
S36:上述第一邊界線K1分別與上述第一對角線C1、第二對角線C2相交的兩個交點C、D,選擇上述第 二邊界線分別與上述第一對角線C1、第二對角線C2相交的兩個交點E、F;
S37:在步驟S36中選擇位于上述第1列豎線R1之前的兩個交點C、E,求出經(jīng)過上述兩個交點C、E的直線方程,得出上述屏幕的第三邊界線K3(參考圖32);
S38:在步驟S36中選擇位于上述第3列豎線R3之后的兩個交點D、F,求出經(jīng)過上述兩個交點D、F的直線方程,得出上述屏幕的第四邊界線K4(參考圖32);
S39:最后得出由3條橫線與3條豎線交叉形成的棋盤圖以及角點圖像。
圖32為本發(fā)明的通過本發(fā)明的另一種計算方法得到的棋盤格及其角點,如圖32所示,
S41:最后得出由5條橫線與6條豎線交叉形成的棋盤圖以及角點圖像。
求出第二邊界線K2、第三邊界線K3以及第四邊界線K4的方法與求出上述第一邊界線K1的方法是相同的,故不畫附圖。
圖33為通過本發(fā)明的方法確定9個點,如圖33所示,
S42:找出上述第一邊界線K1與第二對角線C2方程的交點作為第1點1、上述第一邊界線K1與上述第2條豎線方程R2的交點作為第2點2、上述第一邊界線K1與上述第一對角線方程C1的交點作為第3點3、上述第二邊界線K2與上述第一對角線方程C1的交點作為第4點4、上述第二邊界線K2與上述第2條豎線方程R2的交點作為第5點5、上述第二邊界線K2與上述第二對角線方程C2的交點作為第6點6、上述第三邊界線K3與上述第2條橫線方程L2的交點作為第7點7、上述第四邊界線K4與上述第2條橫線方程L2的交點作為第8點8、上述第一對角線方程C1與上述第二對角線方程C2的交點作為第9點9;
圖34為通過本發(fā)明的方法確定第10點,如圖34所示,
S43:通過計算得出第2點2與上述第7點7的連接線方程,確定其與上述第1點1與第9點9的連接線的交點作為第10點10;
圖35為通過本發(fā)明的方法確定第11點,如圖35所示,
S44:通過計算得出第2點2與上述第8點8的連接線方程,確定其與上述第3點3與第9點9的連接線的交點作為第11點11;
圖36為通過本發(fā)明的方法確定第12點,如圖36所示,
S45:通過計算得出第5點5與上述第8點8的連接線方程,確定其與上述第6點6與第9點9的連接線的交點作為第12點12;
圖37為通過本發(fā)明的方法確定第13點;如圖37所示,
S46:通過計算得出第5點5與上述第7點7的連接線方程,確定其與上述第4點4與第9點9的連接線的交點作為第13點13;
圖38為通過本發(fā)明的方法確定第14-16點,如圖38所示,
S467:通過計算得出第10點10與第13點13的連接線方程,確定其與上述第一邊界線K1的交點作為第14點14、其與上述第2條橫線方程L2的交點作為第15點15、其與上述第二邊界線k2的交點作為第16點16;
圖39為通過本發(fā)明的方法確定第17-19點,如圖39所示,
S48:通過計算得出第11點11與第12點12的連接線方程,確定其與上述第一邊界線K1的交點作為第17點17、其與上述第2條橫線方程L2的交點作為第18點18、其與上述第二邊界線K2的交點作為第19點19;
圖40為通過本發(fā)明的方法確定第20-22點,如圖40所示,
S49:通過計算得出第10點10與第11點11的連接線方程,確定其與上述第三邊界線K3的交點作為第20點20、其與上述第2條豎線方程R2的交點作為第21點21、其與上述第四邊界線K4的交點作為第22點22;
圖41為通過本發(fā)明的方法確定第23-25點,如圖41所示,
S50:通過計算得出第12點12與第13點13的連接線方程,確定其與上述第三邊界線K3的交點作為第23點23、其與上述第2條豎線方程R2的交點作為第24點24、其與上述第四邊界線K4的交點作為第25點25;
S51:在由第1點、第14點、第2點、第20點、第10點、第21點、第7點、第10點、第9點組成的區(qū)域、在由第2點、第17點、第3點、第21點、第11點、第22點、第9點、第18點、第8點組成的區(qū)域、在由第7點、第15點、第9點、第23點、第13點、第24點、第4點、第16點、第5點組成的區(qū)域、在由第9點、第18點、第8點、第24點、第12點、第25點、第5點、第19點、第6點組成的區(qū)域,分別通過使用與S42~S50相同的方法進(jìn)行遞歸計算。
綜上所述,本發(fā)明提供一種基于遞歸算法的棋盤格角點定位方法,提高了角點定位的準(zhǔn)確性和魯棒性,采用幾何方法獲得了屏幕四個邊界的直線,再用通過9個點計算出25個點的方法,提高了定位的精確度。并且,每次只投射一條直線,不會出現(xiàn)找錯直線的問題;主動投射的直線是一條由黑白區(qū)域形成的直線邊界,而不是直接投射某種寬度的直線,保證了所表示直線的位置精確性,也不容易邊緣點被低分辨圖像采集漏掉;對于上下左右的直線定位,采用了兩點確定一條直線、圖像的仿射變換,對難以通過直接投射直線的方法定位屏幕邊直線的問題,采用了幾何原理通過理論計算來獲得。
以上的實施方式均為本發(fā)明的優(yōu)選實施方式,并非因此限制本發(fā)明的專利保護(hù)范圍。任何本發(fā)明所屬的技術(shù)領(lǐng)域的技術(shù)人員,在不脫離本發(fā)明所公開的精神和范圍的前提下,對本發(fā)明的內(nèi)容所做的等效結(jié)構(gòu)與等效步驟的變換均落入本發(fā)明要求保護(hù)的專利范圍之內(nèi)。