91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-10-09 12:02:55 來源:腳本之家 閱讀:225 作者:寧靜致遠 欄目:編程語言

更新

  GitHub中所有類庫的源碼已經轉換為C#版本。

準備

  IDE:VisualStudio

  Language:C#/VB.NET

  GitHub:AutoJump.NET

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

第一節 圖像識別

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

  需要用到哪些計算?

  比較像素點的顏色

  求向量集合的中心

  計算顏色的相似度

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

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

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

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

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

  再將向量S除以集合元素的個數,結果即為它們的中心

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

圖1-1 識別效果預覽

第二節 識別落點

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

  盒子特征

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

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

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

  頂點特征

  頂點的上側為背景色

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

  識別方法

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

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

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

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

圖2-1 盒子落點識別

第三節 識別角色

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

  人物特征

  角色呈國際象棋棋子狀

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

  頂點特征

  角色的頂點顏色較深,易于區分

  識別方法

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

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

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

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

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

圖3-1 角色底部識別

第四節 識別干擾

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

  哪些情況會導致識別錯誤

  盒子頂部的顏色不一致時

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

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

  其他干擾因素的解決方案

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

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

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

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

圖4-1 魔方(正確)

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

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

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

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

第五節 實測數值

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

  識別區域

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

  觸壓時間

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

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

  該比例適用于1280*720分辨率的設備,不同設備可能需要適當調節

  如何計算其他設備分辨率的比例

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

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

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

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

附錄

  GitHub:AutoJump.NET

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

  參考書籍:《數學之美》[美]吳軍 著人民郵電出版社

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

更多內容大家可以參考專題《微信跳一跳》進行學習。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

肇庆市| 澜沧| 微博| 曲水县| 曲麻莱县| 曲靖市| 砚山县| 禹州市| 元阳县| 抚顺市| 乌鲁木齐市| 阜宁县| 庄浪县| 牡丹江市| 筠连县| 安徽省| 丹巴县| 额尔古纳市| 荆州市| 海南省| 新疆| 宜黄县| 鹤山市| 贵州省| 文昌市| 周宁县| 德兴市| 和平区| 申扎县| 冷水江市| 松滋市| 五大连池市| 明星| 会理县| 西乌珠穆沁旗| 三门峡市| 安陆市| 元朗区| 奉贤区| 九寨沟县| 望都县|