一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C# - C#圖像識別 微信跳一跳機器人

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

2022-02-17 15:55寧靜致遠 C#

這篇文章主要為大家詳細介紹了C#圖像識別,微信跳一跳機器人,具有一定的參考價值,感興趣的小伙伴們可以參考一下

更新

  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語法,這個工具將會非常有用)

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

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

原文鏈接:https://www.cnblogs.com/experdot/p/8157666.html

延伸 · 閱讀

精彩推薦
  • C#深入解析C#中的交錯數組與隱式類型的數組

    深入解析C#中的交錯數組與隱式類型的數組

    這篇文章主要介紹了深入解析C#中的交錯數組與隱式類型的數組,隱式類型的數組通常與匿名類型以及對象初始值設定項和集合初始值設定項一起使用,需要的...

    C#教程網6172021-11-09
  • C#C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    這篇文章主要介紹了C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題,簡單描述了訪問者模式的定義并結合具體實例形式分析了C#使用訪問者模式解決長...

    GhostRider9502022-01-21
  • C#C#通過KD樹進行距離最近點的查找

    C#通過KD樹進行距離最近點的查找

    這篇文章主要為大家詳細介紹了C#通過KD樹進行距離最近點的查找,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    帆帆帆6112022-01-22
  • C#Unity3D實現虛擬按鈕控制人物移動效果

    Unity3D實現虛擬按鈕控制人物移動效果

    這篇文章主要為大家詳細介紹了Unity3D實現虛擬按鈕控制人物移動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一...

    shenqingyu060520232410972022-03-11
  • C#WPF 自定義雷達圖開發實例教程

    WPF 自定義雷達圖開發實例教程

    這篇文章主要介紹了WPF 自定義雷達圖開發實例教程,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下...

    WinterFish13112021-12-06
  • C#C#實現XML文件讀取

    C#實現XML文件讀取

    這篇文章主要為大家詳細介紹了C#實現XML文件讀取的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Just_for_Myself6702022-02-22
  • C#C#裁剪,縮放,清晰度,水印處理操作示例

    C#裁剪,縮放,清晰度,水印處理操作示例

    這篇文章主要為大家詳細介紹了C#裁剪,縮放,清晰度,水印處理操作示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    吳 劍8332021-12-08
  • C#C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    這篇文章主要介紹了C# 實現對PPT文檔加密、解密及重置密碼的操作方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下...

    E-iceblue5012022-02-12
主站蜘蛛池模板: 亚洲精品色综合久久 | 精品小视频在线观看 | 大香焦在线观看 | 男人扒开女人下身添 | 亚洲国产欧美在线人成 | 五月天淫| 天天做天天爱天天操 | 好大好硬好深好爽想要吃奶 | 国产精品成人亚洲 | 国产色视频网站 | 成人福利在线视频免费观看 | 6080窝窝理论| 欧美成人精品第一区二区三区 | 91久久国产成人免费观看资源 | 午夜精品区 | 亚洲欧美另类第一页 | 四虎影院在线免费 | 亚洲一区二区三区福利在线 | 国产成人啪精品午夜在线观看 | 国产精品国产国产aⅴ | 奇米影视中文字幕 | 痴mu动漫成年动漫在线观看 | 婚前试爱免费观看 | 青青网在线视频 | 日韩高清一区二区三区不卡 | 色综合中文字幕天天在线 | 日本aa大片在线播放免费看 | 国产第2页 | 欧美久久天天综合香蕉伊 | 热99在线观看 | 俄罗斯处女 | 男人含玉势出嫁束器 | 久九九精品免费视频 | jizzjizz成熟丰满舒服 | 国产成人www免费人成看片 | 日本人成动漫网站在线观看 | katsumi精品hd| 狠狠躁夜夜躁人人爽天天miya | 日韩国产成人精品视频人 | 996热在线视频 | ai换脸造梦jennie|