亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#圖像識別 微信跳一跳機器人

 更新時間:2018年01月05日 09:16:48   作者:寧靜致遠  
這篇文章主要為大家詳細介紹了C#圖像識別,微信跳一跳機器人,具有一定的參考價值,感興趣的小伙伴們可以參考一下

更新

  GitHub中所有類庫的源碼已經(jīng)轉(zhuǎn)換為C#版本。

準備

  IDE:VisualStudio

  Language:C#/VB.NET

  GitHub:AutoJump.NET

  本文將向你介紹一種通過圖像識別實現(xiàn)“跳一跳”機器人的方法。 

第一節(jié) 圖像識別

  文中提到的所有方法和步驟只涉及簡單的向量計算。

  需要用到哪些計算?

  比較像素點的顏色

  求向量集合的中心

  計算顏色的相似度

  一個RGB顏色可以看作一個三維向量

  比較兩個顏色的相似度可以計算它們的歐幾里得距離

  也可以直接比較它們的夾角:夾角越小,兩個顏色越相似,反之亦然

  求平面向量集合的中心位置

  首先,將集合中所有的向量相加得到向量S

  再將向量S除以集合元素的個數(shù),結(jié)果即為它們的中心

圖1-1 識別效果預(yù)覽

第二節(jié) 識別落點

  找出盒子落點的前提是發(fā)掘每個盒子都具有的共同特征。

  盒子特征

  目標落點有兩種類型,菱形或圓形的盒子

  只有部分盒子的頂面顏色是大面積的純色

  盒子下方的地面背景是純色,但隨著游戲進行顏色會發(fā)生變化

  頂點特征

  頂點的上側(cè)為背景色

  頂點的左側(cè)(可能不適用于圓形)、右側(cè)(可能不適用于圓形)均為背景色

  識別方法

  從上向下逐行掃描像素找出盒子的頂點A

  繼續(xù)向下找出與A顏色相似的所有像素點集合C

  求出C像素集合的中心點,即為落點

圖2-1 盒子落點識別

第三節(jié) 識別角色

  角色的顏色相對特殊,很容易從游戲圖像中區(qū)分出來。

  人物特征

  角色呈國際象棋棋子狀

  角色整體顏色較為一致,部分區(qū)域有高光

  頂點特征

  角色的頂點顏色較深,易于區(qū)分

  識別方法

  從上向下逐行掃描像素找出角色的頂點A

  繼續(xù)向下找出與A顏色相似的所有像素點集合C

  求出C像素集合的中心點,并向下偏移固定數(shù)值

  中心點偏移后的像素D的位置即為角色的底部

圖3-1 角色底部識別

第四節(jié) 識別干擾

  通常,簡單的方法只適應(yīng)于絕大部分情況,特定情形時仍會出錯。

  哪些情況會導(dǎo)致識別錯誤

  盒子頂部的顏色不一致時

  角色頂部的位置高于目標盒子時

  角色站立的盒子和目標盒子的頂部顏色一致時

  其他干擾因素的解決方案

  加分提示的動畫:延時解決

  擊中中心的動畫:延時解決

  音樂盒的樂符動畫:不要在音樂盒上停留ヾ(✿゚▽゚)ノ

圖4-1 魔方(正確)

圖4-2 商店(偏離中心)

圖4-3 音樂盒 (偏離中心)

第五節(jié) 實測數(shù)值

  程序的部分參數(shù)需要通過實際測試得出。

  識別區(qū)域

  僅屏幕中間的三分之一區(qū)域需要進行圖像識別

  觸壓時間

  觸壓屏幕的毫秒數(shù)正好是角色與落點距離數(shù)值的兩倍

  距離為500個像素點,那么就需要持續(xù)按下1000毫秒

  該比例適用于1280*720分辨率的設(shè)備,不同設(shè)備可能需要適當(dāng)調(diào)節(jié)

  如何計算其他設(shè)備分辨率的比例

  計算公式:比例=2560/設(shè)備屏幕高度

  例如1980*1080分辨率的設(shè)備,比例為2560/1980=1.29

圖5-1 識別區(qū)域(陰影部分)

附錄

  GitHub:AutoJump.NET

  參考文章:.NET開發(fā)一個微信跳一跳輔助程序

  參考書籍:《數(shù)學(xué)之美》[美]吳軍 著人民郵電出版社

  語言工具: Code Converter(如果你不了解Basic語法,這個工具將會非常有用)

更多內(nèi)容大家可以參考專題《微信跳一跳》進行學(xué)習(xí)。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論